欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

python3使用SMTP发送HTML格式邮件

程序员文章站 2022-03-24 17:51:36
一、设置开启smtp服务并获取授权码 可以参考第一篇文章,这里不再赘述:【一】python3使用smtp发送简单文本邮件 二、使用python3 发送html格式的邮件...

一、设置开启smtp服务并获取授权码

可以参考第一篇文章,这里不再赘述:【一】python3使用smtp发送简单文本邮件

二、使用python3 发送html格式的邮件

0.使用的环境为:

python 3.6.3 (64bit)
pycharm 2017.3 (64bit)

1.实现代码:

import smtplib 
from email.header import header 
from email.mime.text import mimetext 
 
 
# 发件人和收件人 
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() 
except smtplib.smtpexception: 
  print("发送邮件失败!!!") 

2.同样,发送成功之后,如果在收件人的邮箱看不到邮件,可能是被当做垃圾邮件拦截了,可以去拦截记录里面找一下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。