本文共 882 字,大约阅读时间需要 2 分钟。
python中有email.meeesage 和 email.header 对邮件中的非ASCII进行处理, 因此需要对sendMail函数中的参数进行如下处理:
# coding=utf8from email.message import Messagefrom email.header import Headermail_from=Header('友好互动', 'utf8') + "god_chen@sina.com"#a**************mail_to="god_chen@sina.com"mail_subj=Header("测试","utf8")#b***************mail_content='\r\n注:测试测试邮件\r\n儿童派'msg=Message()msg['Mime-Version']='1.0'msg['Content-type']='text/html'msg['From']=mail_frommsg['To']=mail_tomsg['Subject']=mail_subjmsg.set_payload(mail_content,'utf8')#c**************server=connect(sm_host, sm_port, sm_user, sm_password)server.sendmail(mail_from, mail_to, msg.as_string())server.close()def connect(host,port,user,password): "connect server" server=smtplib.SMTP() server.connect(host, port) server.login(user, password) return server
a、用Header对象处理发件人乱码
b、用Header对象处理主题乱码
c、用Message对象处理正文乱码
这里统一采用utf8编码
转载地址:http://lbsmb.baihongyu.com/