服务器之家

服务器之家 > 正文

python3使用SMTP发送HTML格式邮件

时间:2021-03-06 00:36     来源/作者:神马东东2012

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

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

二、使用Python3 发送HTML格式的邮件

0.使用的环境为:

Python 3.6.3 (64bit)
PyCharm 2017.3 (64bit)

1.实现代码:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
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.同样,发送成功之后,如果在收件人的邮箱看不到邮件,可能是被当做垃圾邮件拦截了,可以去拦截记录里面找一下

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

原文链接:https://blog.csdn.net/u013250071/article/details/79037836

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部