为啥无法收到电子邮件(python、gmail、django)?
Posted
技术标签:
【中文标题】为啥无法收到电子邮件(python、gmail、django)?【英文标题】:Why can not get email message (python, gmail, django)?为什么无法收到电子邮件(python、gmail、django)? 【发布时间】:2020-01-23 09:02:48 【问题描述】:全部。在 django 中发送电子邮件时遇到问题。 在我的设置中有下一个。py
EMAIL_USE_TLS = True
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_HOST_USER = 'xxx@gmail.com'
尝试从 django.core.mail 调用函数 send_mail:
send_mail('Subject here', 'Here is the message.', settings.EMAIL_HOST_USER,
['yyyy@coin-host.net', ], fail_silently=False)
有下一个输出:
内容类型:文本/纯文本;字符集="utf-8" MIME 版本:1.0 内容传输编码:7bit 主题:主题在这里 发件人:xxxx@gmail.com 至:yyyy@coin-host.net 日期:2019 年 9 月 23 日星期一 09:57:10 -0000 消息 ID: 这是消息。
但我的邮件客户端中没有任何消息。也检查过垃圾邮件文件夹 - 它是空的。
【问题讨论】:
控制台上显示的输出? @Toan Quoc HoContent-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: Subject here From: xxxx@gmail.com To: yyyy@coin-host.net Date: Mon, 23 Sep 2019 09:57:10 -0000 Message-ID: <20190923095710.1383.3314> Here is the message.
如果它显示在您的控制台上,我担心某些代码已经覆盖了 EMAIL_BACKEND,EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
。确保没有这样的代码行
@Toan Quoc Ho ,是的,我在控制台输出的最后一行有很多“----”
我的意思是你应该确保EMAIL_BACKEND
不会被覆盖。确保它始终具有此值 EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
【参考方案1】:
您的电子邮件显示在控制台中,因此您的EMAIL_BACKEND
似乎被django.core.mail.backends.console.EmailBackend
覆盖。
确保没有任何代码行覆盖您的EMAIL_BACKEND
,并且EMAIL_BACKEND
设置的值始终为django.core.mail.backends.smtp.EmailBackend
。
希望有帮助!
【讨论】:
以上是关于为啥无法收到电子邮件(python、gmail、django)?的主要内容,如果未能解决你的问题,请参考以下文章
为啥我在通过 IMAP 连接到 Gmail 时收到“需要 Web 登录”消息?
无法使用 Gmail SMTP 设置在 Joomla 中发送电子邮件。收到 SMTP 服务器错误:需要 5.5.1 身份验证。如何解决这个问题?
是啥导致我的“test.txt”文件从 Python 发送到我的 gmail 帐户时,当我在我的电子邮件收件箱中收到它时,它会显示为“无标题”?