python实现发送邮件
python实现自动化邮件发送
测试环境:
os:windows10
编译软件:pycharm,python
发送端:aaa@qq.com
接收端:bbb@outlook.com,ccc@qq.com
1.发送端需开启POP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务。
我这里使用的是QQ,需要去mail.qq.com开启此服务:【登录】-【设置】-【账号】-【OP3/IMAP/SMTP/Exchange/CardDAV/CalDAV服务】
没有开启的话会显示服务已关闭,需手动开启,我这里是开启的,点击【管理服务】
会生成授权吗,自己保存一下。
2.以下是python脚本,自己保存一下:
1 import smtplib # 模块用于发送邮件 2 from email.mime.text import MIMEText # 用于创建纯文本邮件内容 3 from email.mime.multipart import MIMEMultipart # 用于创建包含附件的邮件内容 4 from email.header import Header # 用于处理邮件头部信息 5 6 # 邮件发送方邮箱地址 7 sender = 'aaa@qq.com' 8 # 邮件接收方邮箱地址 9 receivers = ['bbb@outlook.com', 'ccc@qq.com'] 10 11 # 设置邮件内容 12 message = MIMEMultipart() 13 message['From'] = Header('aaa@qq.com') 14 message['To'] = Header('bbb@outlook.com') 15 subject = 'Python SMTP 邮件测试' 16 message['Subject'] = Header(subject, 'utf-8') 17 18 # 邮件正文内容 19 message.attach(MIMEText('这是一封使用 Python 发送的邮件', 'plain', 'utf-8')) 20 21 # 登录邮箱,密码为授权码 22 mail_host = "smtp.qq.com" 23 mail_user = "aaa@qq.com" 24 mail_pass = "**********" # 授权码 25 26 try: 27 smtpObj = smtplib.SMTP_SSL(mail_host, 465) 28 smtpObj.login(mail_user, mail_pass) 29 smtpObj.sendmail(sender, receivers, message.as_string()) 30 print("邮件发送成功") 31 except smtplib.SMTPException as e: 32 print("Error: 无法发送邮件。错误信息:", e)
测试合格
#The write:zuijiaz@outlook.com
#Time of creation:2024.03.13