【学习记录】Python运行报错:server_hostname cannot be an empty string or start with a leading dot.

Windows 10 系统,Python 3.7
1. 问题:server_hostname cannot be an empty string or start with a leading dot.
2. 原因:python 3.7 修改了 ssl.py ,导致了smtplib.SMTP_SSL 的问题
3. 已解决
4. 解决方法:

原来的代码:

import smtplib 
mailhost = 'smtp.qq.com'
smtplib.SMTP_SSL().connect(mailhost,465)

报错:server_hostname cannot be an empty string or start with a leading dot.

修改后的代码:

import smtplib 
mailhost = 'smtp.qq.com'
smtplib.SMTP_SSL(mailhost).connect(mailhost,465)

或者,换一种非SSL形式,最简单、最基础的端口号——25

import smtplib 
mailhost = 'smtp.qq.com'
smtplib.SMTP().connect(mailhost,25)

你可能感兴趣的:(Python报错记,python,Python开发-电子邮件收发)