一、设置开启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