我正在将一些 Django 1.5 移植到 1.7,并且 send_mail() 调用对我来说失败了。我检查了文档,他们似乎建议我的语法仍然可以。
我尝试在 Django shell 模式下获取跟踪以在此处共享,但它仍然以相同的方式失败。我只是通过以下方式调用 send_mail() :
from django.core.mail import send_mail
send_mail('Test mail', 'This is a test', 'addr@site.ca' ['addr2@site.ca'], fail_silently=False)
Run Code Online (Sandbox Code Playgroud)
我得到了一个回溯
ImportError: No module named django_smtp_ssl
Run Code Online (Sandbox Code Playgroud)
现在,smtp_ssl 看起来像来自 smtplib。我尝试将 smtplib 与 send_mail 一起导入,但这也无济于事。
在我的 settings.py 中,我有通常的 PORT 和 HOST 详细信息和
EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend'
Run Code Online (Sandbox Code Playgroud)
有什么建议?
-谢谢,罗斯。
没有什么比整理一个问题来帮助自己找到答案更合适的了。
看起来 EMAIL_BACKEND 位置在此版本的 Django 中已更改。所以答案(对于像我一样用谷歌搜索但没有找到解决方案的其他人)只是 settings.py 文件中更新的后端指针。
就是现在:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
Run Code Online (Sandbox Code Playgroud)
干杯,罗斯。
| 归档时间: |
|
| 查看次数: |
2560 次 |
| 最近记录: |