【问题标题】:How to configure Django and G Suite for SMTP如何为 SMTP 配置 Django 和 G Suite
【发布时间】:2020-03-11 08:30:48
【问题描述】:

当用户在我的网站上注册时,会向用户发送一封电子邮件以确认他/她的电子邮件。 它适用于以下设置:

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'myemail@gmail.com'
EMAIL_HOST_PASSWORD = 'abcdefghiklmnopq'
EMAIL_PORT = 587

现在我想切换到 noreply@mydomain.com。 我在 G Suite 上创建了一个帐户并进行了以下配置:

综合邮件存储(本地应用)
发送和接收的邮件存储在关联用户的邮箱中:开

SMTP 中继服务(本地应用)
ms_mail
允许发件人:仅限 我的域中的地址
仅接受来自指定 IP 的邮件 地址:否
需要 SMTP 身份验证:是
需要 TLS 加密: 是的

安全性较低的应用程序(本地应用)
允许用户管理他们对安全性较低的应用程序的访问 不太安全的应用程序

允许安全性较低的应用:开启

比我创建了一个应用密码并尝试了很多这样的配置:

EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp-relay.gmail.com'
EMAIL_HOST_USER = 'noreply@mydomain.com'
EMAIL_HOST_PASSWORD = 'abcdefghiklmnopq'
DEFAULT_FROM_EMAIL = 'noreply@mydomain.com'
SERVER_EMAIL = 'noreply@mydomain.com'
EMAIL_PORT = 465

我在 Google 或 Django 上找不到关于如何配置设置的好文档。有人现在是一个很好的资源吗?应用程序密码/不太安全的应用程序是正确的方法吗?因为谷歌有一些安全警告。 Noreply 是一个组,但我为 my.name@mydomain.com 创建了应用程序密码。当我是小组的一员时,这是一个问题吗?我还用 my.name@mydomain.com 而不是 noreply@mydomain.com 尝试了几个选项,但我总是得到错误

smtplib.SMTPServerDisconnected: Connection unexpectedly closed

【问题讨论】:

    标签: django email google-workspace django-settings django-email


    【解决方案1】:

    在你的 settings.py 中使用它

    EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
    EMAIL_USE_TLS = True
    EMAIL_HOST = 'smtp.gmail.com'
    EMAIL_HOST_USER = 'noreply@mydomain.com'
    EMAIL_HOST_PASSWORD = '#########'
    EMAIL_PORT = 587
    

    【讨论】:

    • 不幸的是,这对我不起作用。有什么选择吗?
    • @Marco 你遇到了什么类型的错误?
    猜你喜欢
    • 1970-01-01
    • 2018-09-03
    • 2019-02-04
    • 2017-02-17
    • 1970-01-01
    • 2017-10-02
    • 1970-01-01
    • 1970-01-01
    • 2019-05-22
    相关资源
    最近更新 更多