场景: 使用任意的邮件服务器发送邮件
1.配置SMTP参数,指定收发件人邮箱
#SMTP服务器地址,每个厂商有自己的地址,163:smtp.163.com
smtpserver = 'smtp.qq.com'
#用户名,与发件人相同,否则可能会报错
username = 'send@qq.com'
#密码,此处不是邮箱密码哦,而是邮箱授权码,QQ的具体获取位置:邮箱-设置-账户
password = 'Mail Authorization Code'
#发件人
from_addr = 'send@qq.com'
#收件人
to_addr = 'receive@qq.com'
#抄送人地址
cc_addr = 'cc@qq.com'
2.创建消息
message = Message() #初始化
message['Subject'] = 'Mail Subject' #邮件标题
message['From'] = from_addr
message['To'] = to_addr
message['Cc'] = cc_addr
message.set_payload('mail content') #邮件正文
3.连接SMTP服务器,发送邮件
sm = smtplib.SMTP(smtpserver, port=587, timeout=20)
sm.set_debuglevel(1) #开启debug模式
sm.starttls() #使用安全连接,因此上面端口号为587
sm.login(username, password) #登录服务器
sm.sendmail(from_addr, to_addr, message.as_string())#发送邮件
sleep(5) #避免邮件没有发送完成就调用了quit()
sm.quit()
4.结果
总结:虽然代码很简单,但确实很实用,而且本人还有很多api没使用到,比如添加附件什么的,再或者可以配合爬虫爬取邮箱信息,然后起些线程发送邮件推广自己的网站吧。