python3使用SMTP发送HTML格式邮件
一、设置开启SMTP服务并获取授权码
可以参考第一篇文章,这里不再赘述:【一】Python3使用SMTP发送简单文本邮件
二、使用Python3发送HTML格式的邮件
0.使用的环境为:
Python3.6.3(64bit)
PyCharm2017.3(64bit)
1.实现代码:
importsmtplib fromemail.headerimportHeader fromemail.mime.textimportMIMEText #发件人和收件人 sender='XXXXX@163.com' receiver='XXXXX@qq.com' #所使用的用来发送邮件的SMTP服务器 smtpserver='smtp.163.com' #发送邮箱的用户名和授权码(不是登录邮箱的密码) username='XXXXX' password='XXXXX' #邮件主题 mail_title='主题:测试报告3' #读取html文件内容 f=open('report_test.html','rb')#HTML文件默认和当前文件在同一路径下,若不在同一路径下,需要指定要发送的HTML文件的路径 mail_body=f.read() f.close() #邮件内容,格式,编码 message=MIMEText(mail_body,'html','utf-8') message['From']=sender message['To']=receiver message['Subject']=Header(mail_title,'utf-8') try: smtp=smtplib.SMTP() smtp.connect('smtp.163.com') smtp.login(username,password) smtp.sendmail(sender,receiver,message.as_string()) print("发送邮件成功!!!") smtp.quit() exceptsmtplib.SMTPException: print("发送邮件失败!!!")
2.同样,发送成功之后,如果在收件人的邮箱看不到邮件,可能是被当做垃圾邮件拦截了,可以去拦截记录里面找一下
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。