Python对SMTP支持有smtplib和email两个模块,email负责构造邮件,smtplib负责发送邮件。
开发步骤:
1、构建邮件
from email.mime.text import MIMEText
#第一个参数就是邮件正文,
#第二个参数是MIME的subtype,传入'plain',最终的MIME就是'text/plain',
#最后一定要用utf-8编码保证多语言兼容性。
message = MIMEText(msg, 'plain', 'utf-8')
注意:发件人和收件人需要使用MIMEText构建,不能直接定义,不然会报错:
smtplib.SMTPDataError: (554, 'DT:SPM 163 smtp8,DMCowAAXZ4ep1M5bW000Vg--.63558S2 1540281514...
2、设置邮件服务器
smtp_server = "smtp.163.com"
server = smtplib.SMTP(smtp_server, 25) # SMTP协议默认端口是25
3、登录邮箱账号
# 登录SMTP服务器
server.login(message['from'], password)
注意:登录邮箱时,使用的密码不是邮箱原密码,是邮箱授权密码
4、发送邮件
# 发邮件,由于可以一次发给多个人,所以传入一个list;
# 邮件正文是一个str,as_string()把MIMEText对象变成str。
se