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这个通过了.
按提示发短信
如图得到授权码:
===
第二步, 在应用的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就通过了, 查收邮件到达.