python 新浪邮箱发送邮件

∥☆過路亽.° 提交于 2020-01-10 09:28:26
import smtplib  #SMTP是发送邮件的协议,smtplib是负责发送邮件
from email.mime.text import MIMEText
from email.header import Header


def send_email(test_report):
    with open(test_report,'r',encoding='utf-8') as f:
        mail_content = f.read()
    sender = '*******.cn'
    receiver = ['*****.com'] #可放多个邮箱地址
    mail_server = 'smtp.sina.cn' #邮箱服务地址,可在邮箱设置里查找
    email_name = '自动化测试报告'
    username = "***********"
    password = '***********'
    message = MIMEText(mail_content,'html','utf-8')
    message['Subject'] = Header(email_name,charset='utf-8')
    message['From'] = Header(username)  

    #邮箱登录
    smtp = smtplib.SMTP()  #实例化邮箱
    smtp.connect(mail_server)
    smtp.login(username,password)
    #发送邮件
    for i in receiver:
        smtp.sendmail(sender,i,message.as_string())
    smtp.quit()

send_email()
  • 注意:message[‘From’]的内容要与发件人保持一致,同时也不可少,否则会报错
  • 错误信息:smtplib.SMTPDataError: (553, b’Envolope sender mismatch with header from…’)
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!