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

 

posted @ 2024-03-13 15:10  zuijiaz  阅读(81)  评论(0编辑  收藏  举报