【python】python利用QQ邮箱SMTP发送邮件
1. 代码
send_email.py
import smtplib
import email.utils
from email.mime.text import MIMETextdef send_email(dest_addrs, title, msg):# 第三方 SMTP 服务mail_host = "smtp.qq.com"mail_port = 465mail_user = "xxxxxxxx@qq.com" # 开通SMTP的邮箱账号mail_pass = "xxxxxxxx" # SMTP授权码,具体看参考文章# 发送者和接收者sender = mail_userreceivers = dest_addrs# 填充内容message = MIMEText(msg) # 邮件正文message['To'] = email.utils.formataddr(('ABC', 'xxx@qq.com')) # 这里的xxx@qq.com可以不是邮箱,任意字符串就可以message['From'] = email.utils.formataddr(('ABC', mail_user)) # 这里的mail_user 必须是合法的邮箱(发送邮件的邮箱)message['Subject'] = title # 主题# 发送ok_flag = Falsetry:smtpObj = smtplib.SMTP_SSL(mail_host, mail_port)smtpObj.login(mail_user, mail_pass)smtpObj.sendmail(sender, receivers, message.as_string())print("邮件发送成功")ok_flag = Trueexcept smtplib.SMTPException:print("Error: 邮件发送失败")ok_flag = Falsereturn ok_flagif __name__ == '__main__':addrs = ['xxxxx123@qq.com', 'xxxx456@163.com'] # 目的邮箱地址title = 'title'msg = "main text"re = send_email(addrs, title, msg)print(re)
2. 效果
3. 参考
开通QQ邮箱 SMTP服务,获取授权码