【问题标题】:How to send emails from Gmail without turning on "allow less secure apps" setting?如何在不打开“允许不太安全的应用程序”设置的情况下从 Gmail 发送电子邮件?
【发布时间】:2020-05-30 20:09:09
【问题描述】:

有没有办法在 Django 项目中发送电子邮件而不打开“允许不太安全的应用程序”功能?是必须使用 OAuth2 还是可以使用 Google 的 API 发送?

到目前为止,我只是使用:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = '587'
EMAIL_HOST_USER = 'myemailaddress'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_USE_TLS = True
EMAIL_USE_SSL = False

但这给了我一个 SMTPAuthenticationError,它仅在我在 Google 中打开“允许不太安全的应用程序”时才有效。有什么方法可以在不使用 OAuth2 的情况下规避这种情况并允许多个用户轻松登录该帐户?

【问题讨论】:

    标签: django email smtp gmail


    【解决方案1】:

    通过使用gmail app password,您可以发送电子邮件而不提供实际密码,并且没有人可以登录您的帐户。如果没有启用不太安全的应用程序设置,请尝试链接,它的工作让我知道它是否正确google or gmail app password

    在将实际密码更改为您的应用密码后

    setting.py 文件 EMAIL_HOST_PASSWORD = 'your app password' 由谷歌提供 其他常数不变

    如果您不使用两步电子邮件验证,您需要在此处使用第三方服务,我提供您看到的链接sendgrid

    如果它有效,请让我知道正确与否

    【讨论】:

    • 如果我使用两步验证,如何允许其他同事访问同一个电子邮件地址?
    • 如果您使用两步验证没有人在您的 gmail 中登录该密码,但如果您在开发中使用它会发送电子邮件,因此您需要使用第三方服务我更新我的答案请阅读
    猜你喜欢
    • 2021-06-24
    • 2021-05-19
    • 2018-10-08
    • 2012-02-04
    • 1970-01-01
    • 2014-10-10
    • 1970-01-01
    • 2023-03-24
    • 2022-07-17
    相关资源
    最近更新 更多