Django send_mail 在 1.7 中失败说没有 django_smtp_ssl

Ros*_*sGK 2 python django

我正在将一些 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)

有什么建议?

-谢谢,罗斯。

Ros*_*sGK 5

没有什么比整理一个问题来帮助自己找到答案更合适的了。

看起来 EMAIL_BACKEND 位置在此版本的 Django 中已更改。所以答案(对于像我一样用谷歌搜索但没有找到解决方案的其他人)只是 settings.py 文件中更新的后端指针。

就是现在:

EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
Run Code Online (Sandbox Code Playgroud)

干杯,罗斯。