经测试有 QQ 邮箱
smtp.qq.com 465
smtp.163.com 465/994
smtp.qq.com 465
各种服务和配置方法都试了,例如其中的一种配置方法:
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_PORT = 465
EMAIL_HOST_USER = 'zmrenwu@gmail.com'
EMAIL_HOST_PASSWORD = 'mypassword'
MAIL_USE_SSL = True
当然,不止以上一种配置,各种服务器,端口号即其排列组合都试了,注册了多个账号测试,账号绝对开启了SMTP/POP3等能开的服务都开了。
然而始终返回如下错误:
raise SMTPServerDisconnected("Connection unexpectedly closed") smtplib.SMTPServerDisconnected: Connection unexpectedly closed
django 版本1.9.7,python 3.4
国内各大邮箱都可以。
你的配置有问题,至少保证以下几个原则:
使用TLS
填写用户名和密码
在你的邮件提供商那里开启smtp服务
其次要注意的是:
发送邮件不要过高频率
拒绝垃圾邮件
本地配置参考@mugbya的回答
邮箱的配置请参考邮箱说明
gmail 被禁了吧!
我记得MAIL_USE_SSL
这个应该是EMAIL_USE_SSL
吧?
而且有时候你可以试一下其他的网络来测试。。。感觉更多是网络的问题
在EMAIL_HOST_USER
这里填写的是你邮箱的用户名,是zmrenwu才对。然后在设置加入EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'。
另外,在调试模式可以使用MAIL_USE_TLS=True
,并绑定端口587。
刚用qq邮箱测试通过,相关配置:
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend' EMAIL_HOST = 'smtp.qq.com' #SMTP地址 例如: smtp.163.com EMAIL_PORT = 25 #SMTP端口 例如: 25 EMAIL_HOST_USER = '' #qq的邮箱 例如: xxxxxx@163.com EMAIL_HOST_PASSWORD = '' #我的邮箱密码 例如 xxxxxxxxx EMAIL_SUBJECT_PREFIX = u'django' #为邮件Subject-line前缀,默认是'[django]' EMAIL_USE_TLS = True #与SMTP服务器通信时,是否启动TLS链接(安全链接)。默认是false DEFAULT_FROM_EMAIL = EMAIL_HOST_USER