python3使用SMTP发送HTML格式邮件

yipeiwu_com6年前Python基础

一、设置开启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.同样,发送成功之后,如果在收件人的邮箱看不到邮件,可能是被当做垃圾邮件拦截了,可以去拦截记录里面找一下

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

利用matplotlib实现根据实时数据动态更新图形

利用matplotlib实现根据实时数据动态更新图形

我就废话不多说了,直接上代码吧! from time import sleep from threading importThread import numpy as np impo...

Python解析树及树的遍历

Python解析树及树的遍历

解析树 完成树的实现之后,现在我们来看一个例子,告诉你怎么样利用树去解决一些实际问题。在这个章节,我们来研究解析树。解析树常常用于真实世界的结构表示,例如句子或数学表达式。 图 1:一...

python冒泡排序算法的实现代码

1.算法描述:(1)共循环 n-1 次(2)每次循环中,如果 前面的数大于后面的数,就交换(3)设置一个标签,如果上次没有交换,就说明这个是已经好了的。 2.python冒泡排序代码 复...

Python性能提升之延迟初始化

所谓类属性的延迟计算就是将类的属性定义成一个property,只在访问的时候才会计算,而且一旦被访问后,结果将会被缓存起来,不用每次都计算。构造一个延迟计算属性的主要目的是为了提升性能...

idea创建springMVC框架和配置小文件的教程图解

idea创建springMVC框架和配置小文件的教程图解

这个框架主要还是思想,之后,,,还是创建项目好了, 1.新建一个项目 新建一个maven,并且选择webapp类型。 2.点击next选项 这里面的两个选项可以随便填,但是Artif...