运行以下代码出现报错:

import smtplib
from email.mime.text import MIMEText #引入MIMEText模块
from email.header import Header #引入Header模块

fromyj='发送邮箱'# input('请输入你的邮箱:') #获取邮箱账号
mima= '授权码'# input('请输入你的密码:') #获取授权码
toyj=  '收件邮箱'#input('请输入收件人的邮箱:') #获取收件人的邮箱
qqmail = smtplib.SMTP_SSL()  # 实例化一个ssmtplib模块里的SMTP类的对象,这样就可以使用SMTP对象的方法和属性了
qqmail.connect('smtp.qq.com',465)  # 连接服务器,第一个参数是服务器地址,第二个参数是SMTP端口号。

content='正文'#邮件的内容正文
message = MIMEText(content, 'plain', 'utf-8')  # 邮件的内容正文设定,内容格式,和编码
sub='主题'
message['Subject']=Header(sub,'utf-8')#正文的标题设定
qqmail.login(fromyj,mima)#用创建的实例 登录发件箱

try:
    qqmail.sendmail(fromyj,toyj,message.as_string())
    #发送邮件,发件人,收件人,内容强制转换成字符串
    print('发送成功')
except:
    print('发送失败')

qqmail.quit()#退出邮箱

报错信息如下:
在这里插入图片描述
这是因为使用了python3.7版本导致的,python 3.7 修改了 ssl.py 导致了 smtplib.SMTP_SSL 出现如上报错。

因此需要把

qqmail = smtplib.SMTP_SSL() 

改为

qqmail = smtplib.SMTP_SSL('smtp.qq.com') 
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐