django 设置QQ mail 发邮件 SSL: WRONG_VERSION_NUMBER 错误解决

django by exapmple 原书第二章用的gmail发邮件, 国内访问不了gmail改成qqmail
===
django 设置QQ邮箱 发邮件,提示错误:


File "d:\python39\lib\ssl.py", line 1309, in do_handshake self._sslobj.do_handshake() ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1122)

解决:

===

第一步: 登录QQ邮箱: 顶部 设置 – 邮箱设置 – 账户 -POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务

IMAP/SMTP服务 右侧点击开启 #我一开始选了pop3那个没通过, 后来选了IMAP这个通过了.
按提示发短信
如图得到授权码:
20210104121706
===

第二步, 在应用的setting.py中加入代码:

# send email
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'smtp.qq.com'
EMAIL_HOST_USER = 'XXX@qq.com' #邮箱账号
EMAIL_HOST_PASSWORD = 'XXXXXXX' #注意这个不是邮箱登录密码, 是刚才发短信后得到的授权码
EMAIL_PORT = 25 #用465和587没过, 按网上攻略用了25通过了.
EMAIL_USE_TLS = True
EMAIL_USE_SSL = False #网上攻略用的是TLS, 按QQ邮箱帮助中应该用SSL
DEFAULT_FROM_EMAIL = 'XXXX@qq.com' #这句必需要加上, 你的QQ邮箱

第三步在shell中测试

py manage.py shell
from django.core.mail import send_mail

send_mail("learn django", "step by step", "XXX@qq.com",['XXX@qq.com'], fail_silently=False)

如果反馈为1就通过了, 查收邮件到达.

原文链接:,转发请注明来源!
评论已关闭。