文章内容
2022/5/26 16:24:28,作 者: 黄兵
如何修复:[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1076)
今天在使用 Python 发送邮件的时候出现了如下错误:
[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1076)
出现问题的原因:
使用 SSL 发送邮件,端口是 465 而不是 587,下面是错误的代码:
try: ssl_context = ssl.create_default_context() service = smtplib.SMTP_SSL('smtp.googlemail.com', 587) service.ehlo() service.starttls(context=ssl_context) service.ehlo() service.login(msg_from, pwd) service.sendmail(msg_from, msg_to, msg.as_string()) # 发送 print('邮箱发送成功!') except Exception as e: print('邮箱发送失败!详情:', e)
解决方案:
使用 TLS 的 SMTP 而不是 SMTP_SSL,下面是修改后的示例代码:
try: ssl_context = ssl.create_default_context() service = smtplib.SMTP('smtp.googlemail.com', 587) service.ehlo() service.starttls(context=ssl_context) service.ehlo() service.login(msg_from, pwd) service.sendmail(msg_from, msg_to, msg.as_string()) # 发送 print('邮箱发送成功!') except Exception as e: print('邮箱发送失败!详情:', e)
参考资料:
1、How to fix ssl.SSLError: [SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1056)?
黄兵个人博客原创。
转载请注明出处:黄兵个人博客 - 如何修复:[SSL: WRONG_VERSION_NUMBER] wrong version number (_ssl.c:1076)
评论列表