无法发送电子邮件 - Django
Posted
技术标签:
【中文标题】无法发送电子邮件 - Django【英文标题】:Not able to send email - Django 【发布时间】:2013-06-07 04:07:32 【问题描述】:我的settings.py
:
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
EMAIL_USE_TLS = True
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 587
EMAIL_HOST_USER = 'rakil@gmail.com'
EMAIL_HOST_PASSWORD = '*******'
DEFAULT_FROM_EMAIL = 'testing@testing.com
但是邮件没有发送到该地址,在控制台中,当我点击send_email
时,print.html
正在打印,但它没有发送任何电子邮件。
我正在使用 Django 1.3.7 和 Python 2.6。
不知道是版本问题还是逻辑问题。
【问题讨论】:
你打开调试了吗?DEBUG = True
在 settings.py 中?那么,您可以使用其他本地邮件客户端发送电子邮件吗?你确定你的本地 smtp 设置没问题吗?系统邮件或http日志是否有错误?
settings.py
中的电子邮件配置是什么?
@nemesisfixx DEBUG = TRUE in settings.py,如何检查后一个
@SamueleMattiuzzo settings.py 更新
启动一个 manage.py shell 并尝试从那里发送邮件。
【参考方案1】:
在settings.py
EMAIL_BACKEND = 'django.core.mail.backends.console.EmailBackend'
console.EmailBackend
将在控制台中打印邮件。所以使用
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
解决了我的问题。它已经记录在这里:Django docs: Email
【讨论】:
这个小小的改变让每一种自然的方式都变成了好的方式。除了这一行之外,一切都正确无误,它总是可以正常工作,但没有发送电子邮件。现在没有错误并发送电子邮件(:.【参考方案2】:发生这种情况时,我个人刚刚切换到我的生产服务器。由于这是一个新的 IP 地址,Google 试图通过阻止登录来保护我的帐户。
为了解决这个问题,我按照this answer 中的步骤操作:
首先,在此处启用访问您的 Google 帐户中安全性较低的应用程序:https://www.google.com/settings/security/lesssecureapps
因为我已经这样做了,而我现在的问题是因为一个新的 IP 地址,所以我不得不使用此链接手动确认下一次登录尝试:https://accounts.google.com/DisplayUnlockCaptcha
有关更多信息,请参阅链接的答案。
【讨论】:
以上是关于无法发送电子邮件 - Django的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 django-rest-auth 和 Mailgun 从 Django 发送密码重置电子邮件