1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python自动发送邮件自定义邮件发件人和收件人的显示内容

python自动发送邮件自定义邮件发件人和收件人的显示内容

时间:2020-01-29 17:35:56

相关推荐

python自动发送邮件自定义邮件发件人和收件人的显示内容

#自定义处理邮件收发地址的显示内容def _format_addr(s):name,addr = parseaddr(s)print nameprint addr#将邮件的name转换成utf-8格式,addr如果是unicode,则转换utf-8输出,否则直接输出addrreturn formataddr((\Header(name,'utf-8').encode(),\addr.encode("utf-8") if isinstance(addr,unicode) else addr))#邮件对象msg['From'] = _format_addr(u'测试机 <%s>'%from_addr)msg['to'] = _format_addr(u'吴鹏rhythm <%s>'%to_addr)

下图是使用上面代码后,收发件人的邮箱地址显示

以下是python自动发送邮件的完整代码:

#coding=utf-8from email.header import Headerfrom email.MIMEMultipart import MIMEMultipartfrom email.MIMEText import MIMETextfrom email.MIMEBase import MIMEBasefrom email.utils import parseaddr,formataddrimport smtplib,time,osdef filepath(): filepath = "D:\\Python27\\selenium_\\report"listdirs = os.listdir(filepath)listdir = sorted(listdirs)filename = os.path.join(filepath,listdir[-1])return filenamedef sendmail(reportfile):from_addr = "wupeng@"password = "xxxxxx"to_addr = "qq32712784@"smtp_server = ""#自定义处理邮件收发地址的显示内容def _format_addr(s):name,addr = parseaddr(s)print nameprint addr#将邮件的name转换成utf-8格式,addr如果是unicode,则转换utf-8输出,否则直接输出addrreturn formataddr((\Header(name,'utf-8').encode(),\addr.encode("utf-8") if isinstance(addr,unicode) else addr))#读取html内容filepath = reportfilewith open(filepath,'rb') as f:content = f.read()#邮件正文是MIMETextmsg = MIMEText(content,'html','utf-8')#邮件对象msg['From'] = _format_addr(u'测试机 <%s>'%from_addr)msg['to'] = _format_addr(u'吴鹏rhythm <%s>'%to_addr)msg['Subject'] = Header(u'测试报告自动发送','utf-8').encode()msg['date'] = time.strftime("%a,%d %b %Y %H:%M:%S %z")#发送邮件server = smtplib.SMTP(smtp_server,25)server.set_debuglevel(1)server.login(from_addr,password)server.sendmail(from_addr,to_addr,msg.as_string())server.quit()if __name__ == "__main__":filedir = filepath()sendmail(filedir)

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。