你好我想发送电子邮件激活使用 django 注册 redux。
这是我的设置.py
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
ACCOUNT_ACTIVATION_DAYS = 3
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'blahblah@gmail.com'
EMAIL_HOST_PASSWORD = 'blahpassword'
EMAIL_PORT = 465
EMAIL_USE_SSL = True
LOGIN_REDIRECT_URL = '/'
当我尝试
python 管理.py 外壳
从 django.core.mail 导入 send_mail
send_mail(‘测试’, ‘这是一个测试’, ‘youremail@gmail.com’, [‘toemail@gmail.com’])
我收到这样的错误:
Traceback (most recent call last):
File "<console>", line 1, in <module>
File "/home/apsijogja/djangogirls/myvenv/local/lib/python2.7/site-packages/django/core/mail/__init__.py", line 62, in send_mail
return mail.send()
File "/home/apsijogja/djangogirls/myvenv/local/lib/python2.7/site-packages/django/core/mail/message.py", line 286, in send
return self.get_connection(fail_silently).send_messages([self])
File "/home/apsijogja/djangogirls/myvenv/local/lib/python2.7/site-packages/django/core/mail/backends/smtp.py", line 92, in send_messages
new_conn_created = self.open()
File "/home/apsijogja/djangogirls/myvenv/local/lib/python2.7/site-packages/django/core/mail/backends/smtp.py", line 50, in open
self.connection = connection_class(self.host, self.port, **connection_params)
File "/usr/lib/python2.7/smtplib.py", line 249, in __init__
(code, msg) = self.connect(host, port)
File "/usr/lib/python2.7/smtplib.py", line 310, in connect
(code, msg) = self.getreply()
File "/usr/lib/python2.7/smtplib.py", line 361, in getreply
raise SMTPServerDisconnected("Connection unexpectedly closed")
SMTPServerDisconnected: Connection unexpectedly closed
你能帮我解决这个问题吗?
原文由 User0511 发布,翻译遵循 CC BY-SA 4.0 许可协议
要使用端口 465,您需要调用 smtplib.SMTP_SSL()。目前,它调用 smtplib.SMTP() .. 所以,将您的端口从 465 更改为 587
如果你想使用端口 465,
你的
EMAIL_BACKEND = 'django_smtp_ssl.SSLEmailBackend'
你需要安装
django_smtp_ssl
否则你可以保留,
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'