python3使用SMTP发送HTML格式邮件

yipeiwu_com7年前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设计】。

相关文章

Python如何使用Gitlab API实现批量的合并分支

这篇文章主要介绍了Python如何使用Gitlab API实现批量的合并分支,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 1.需求:...

python实现异步回调机制代码分享

1 将下面代码拷贝到一个文件,命名为asyncore.py 复制代码 代码如下:import socketimport selectimport sys def ds_asyncore(...

Python基于回溯法子集树模板解决选排问题示例

Python基于回溯法子集树模板解决选排问题示例

本文实例讲述了Python基于回溯法子集树模板解决选排问题。分享给大家供大家参考,具体如下: 问题 从n个元素中挑选m个元素进行排列,每个元素最多可重复r次。其中m∈[2,n],r∈[1...

Python3基础之基本运算符概述

Python3基础之基本运算符概述

本文所述为Python3的基本运算符,是学习Python必须掌握的,共享给大家参考一下。具体如下: 首先Python中的运算符大部分与C语言的类似,但也有很多不同的地方。这里就大概地罗列...

基于python编写的微博应用

本文实例讲述了基于python编写的微博应用,分享给大家供大家参考。具体如下: 在编写自己的微博应用之前,先要到weibo开放平台申请应用的公钥和私钥。 下载python版的SDK,打开...