smtplib.SMTPServerDisconnected: Connection unexpectedly closed解决方法

导语:在学习Python发送邮件时,配置腾讯企业邮箱发送总是smtplib.SMTPServerDisconnected: Connection unexpectedly closed报错,查询网上方法后总结出来以下解决方法。

1、报错示例:

smtplib.SMTPServerDisconnected: Connection unexpectedly closed解决方法_第1张图片

2、解决方法:

smtplib.SMTP() 改为 smtplib.SMTP_SSL(mail_host,465)即可。

3、附上源码如下:

import smtplib
from email.mime.text import MIMEText
from email.header import Header

sender = '××××@zhiqi.cn'  # 发送邮件的人
receivers = ['××××@zhiqi.com']  # 接收邮件人

# 第三方SMTP服务
mail_host='smtp.exmail.qq.com'  # 设置发送服务器
mail_user = '××××@zhiqi.cn'  # 登录邮箱名
mail_pass = '××××××'  # 口令(授权码)


# 三个参数:第一个是文本内容,第二个plain设置文本格式,第三个utf-8设置编码
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')

try:
    smtpObj = smtplib.SMTP_SSL(mail_host,465)  # 发送服务器的端口号
    smtpObj.login(mail_user,mail_pass)
    smtpObj.sendmail(sender,receivers,message.as_string())
    print('邮件发送成功')
except smtplib.SMTPException:
    print('邮件发送失败')

 

你可能感兴趣的:(Python学习与经验分享)