先给大家说说思路吧:

  1. 第一步:先实例化一个 SMTP
  2. 第二步:再连接一个邮箱,里面传入邮箱 SMTP 地址和端口
  3. 第三 步:登录邮箱,传入用户名和密码
  4. 第四步:发送邮件,传入发件人/收件人/消息字符串
  5. 第五步:关闭邮箱连接

具体代码:

message = MIMEText('Python 邮件发送测试...', 'plain', 'utf-8')
message['From'] = Header("傻宝影视", 'utf-8')  # 发送者
message['To'] = Header("测试", 'utf-8')  # 接收者
subject = 'Python SMTP 邮件测试'
message['Subject'] = Header(subject, 'utf-8')
# 实例化一个邮箱对象
smtp = smtplib.SMTP_SSL()
# 连接邮箱
smtp.connect('smtp.qq.com', 465)
# 邮箱登录
smtp.login('XXXX@qq.com', '密码')
# 邮件发送者地址 邮件接收者地址 邮件发送消息
smtp.sendmail('XXXX@qq.com', ['XXX@qq.com'], message.as_string())
# 关闭邮箱链接
smtp.quit()

标红的那个地方很重要,我自己在那个地方出错了(smtplib.SMTPServerDisconnected: Connection unexpectedly closed)。本来是 smtplib.SMTP