0X00
感觉在项目中有蛮多地方可以用到邮件自动发送,于是去学了一下python怎样自动发送邮件。
0X01 准备
想要发送邮件的话得开通自己邮箱的 SMTP 功能,以QQ邮箱为例,进入上方的设置。
选择账户
打开SMTP服务,然后会得到一个QQ邮箱授权码,在代码中会用到。
用到的库有smtplib、email。
smtplib用于发送邮件,email用于构建邮件内容。
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.header import Header
from email.mime.application import MIMEApplication
0X02 发送简单邮件
首先设置我们的发件邮箱from_addr ,以及邮箱授权码password(有的邮箱是邮箱密码),然后还有收信方邮箱to_addr,发信服务器smtp_server。
# 发信方的信息:发信邮箱,QQ 邮箱授权码
from_addr = 'xxx@qq.com'
password = 'xxx'
# 收信方邮箱
to_addr = 'xxx@qq.com'
# 发信服务器
smtp_server = 'smtp.qq.com'
然后使用MIMEText来设置我们的正文内容,第一个参数为内容,第二个参数为格式(plain 为纯文本),第三个参数为编码。
msg = MIMEText('send by python,中文', 'plain', 'utf-8')
接着来设置我们的邮件头信息,将之前设置好的信息放入
msg['From'] = Header(from_addr