django - 如何为 SMTP 配置 Django 和 G Suite
问题描述
当用户在我的网站上注册时,会向用户发送一封电子邮件以确认他/她的电子邮件。它适用于以下设置:
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
解决方案
在你的 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
推荐阅读
- architecture - YOLOv5:基本架构 - 在哪里可以找到?
- wordpress - 如何从 Gatsby WordPress 网站的页面内容查询中排除作者和日期
- php - mysqli 和 php 在中添加列
- web-scraping - 通过在实际数据中添加无用数据来妨碍网站解析
- postgresql - Postgresql/rails - 加入不同的值,或者只为不同的值创建重复的行
- r - 如何在闪亮的应用程序中指定 kable 表的尺寸?
- python - 如何在单个应用程序运行期间使用 os.remove 删除多个文件
- mips - 堆栈中的 MIPS 函数和变量
- java - 二进制矩阵找到距离为 k 的所有单元格
- php - 如何找到 woocommerce 自定义结帐字段的数据?