目录
一、SMTPLIB服务配置
本章以QQ邮箱为例,其他类型的邮箱都可以参照QQ邮箱的模式,但是设置上需要自行网上查询一下即可。
开启流程:
进入邮箱——进入设置——找到第三方服务——将IMAP/SMTP服务开启(需要验证码进行验证)——生成授权码(开启服务后默认会生成授权码)
开启服务,获得授权码之后,才可以通过代码的形式来进行邮件的发送
二、各类邮件发送实现
SMTPLIB是在python中实现邮件的编码形态发送的库。可以通过代码直接连接到指定邮箱,进行各类邮件的发送。SMTPLIB也是官方自带库,直接导入使用即可。
1.发送文本格式的内容
import smtplib
from email.header import Header
from email.mime.text import MIMEText
# 1. 配置邮箱信息
sender = '2314419713@qq.com' # 发件人
receiver = '2314419713@qq.com' # 收件人
pass_code = 'vtukpynskaeaeaff' # 授权码:是发件人的授权码,也就是你之前开启SMTP服务时返回的字符串
# 2. 邮箱服务连接
conn = smtplib.SMTP('smtp.qq.com', 25) # qq邮箱的smtp服务地址:smtp.qq.com,默认端口:25
# 3. 邮件内容的定义
text = '这是一封普通的文本邮件' # 邮件正文,信
content = MIMEText(text, 'plain', 'utf-8') # 实现邮件发送的内容定义,信封
# 4. 定义收件人与发件人,邮件主题等相关信息
content['From'] = sender # 发件人
content['To'] = receiver # 收件人
# 添加邮件的主体
email_theme = '这是这份信的主题'
content['Subject'] = Header(email_theme, 'utf-8') # 实现邮件主题的添加。
# 5. 发送邮件
conn.login(sender, pass_code) # 登录smtp服务,是用账号与授权码,而不是账号与密码。
conn.sendmail(sender, receiver, content.as_string()) # 邮件发送
# 6.关闭smtp服务
conn.close()
发送效果如下:
2.发送HTML格式的内容
发送html格式的邮件:与文本邮件发送形式类似,
只是邮件正文内容的变化与设置的变化即可发送成。
import smtplib
from email.header import Header
from email.mime.text import MIMEText
# 1. 配置邮箱信息
sender = '2314419713@qq.com' # 发件人
receiver = '2314419713@qq.com' # 收件人
pass_code = 'vtukpynskaeaeaff' # 授权码:是发件人的授权码,也就是你之前开启SMTP服务时返回的字符串
# 2. 邮箱服务连接
conn = smtplib.SMTP('smtp.qq.com', 25) # qq邮箱的smtp服务地址:smtp.qq.com,默认端口:25
# 3. 邮件内容的定义
# 邮件正文,html内容
html = '''
<p>这是hzp的html邮件内容</p>
<p><a href="http://www.baidu.com">百度地址</a></p>
'''
content = MIMEText(html, 'html', 'utf-8') # 实现邮件发送的内容定义,信封,因为是html内容,所以将plain改为html
# 4. 定义收件人与发件人,邮件主题等相关信息
content['From'] = sender # 发件人
content['To']