SMTP库实现邮件发送
''' SMTP库实现邮件发送 SMTPLIB服务配置: 自动化邮件发送的形式来实现邮件的自动发送,是自动化测试过程中对于测试结果的产出方式。 在实际发送邮件的时候,是一定需要将邮件的相关配置信息保存在代码之中。 不同的邮箱所需要配置的内容会有一定的区别。需要用到什么类型的邮箱可以网上查询相关邮箱配置信息 以下用QQ邮箱作为示例 1.登录邮箱 2.进入设置-账号 3.启动smtp服务(默认是关闭状态,第一次启动的时候需要手动验证) 4.获取邮箱对应的授权码(授权码不是密码,与账号关联的密码没有任何关系,记得保存一下) 5.保存授权码到本地,以便后续的实际应用 基于配置文件实现邮件的发送: smtp库默认无法直接给多人进行邮件发送。如果需要发送多人,则收件人数据需要二次处理 1.多人收件,则收件人必须为list类型,不同邮箱为不同元素 ''' import smtplib from email.header import Header from email.mime.text import MIMEText from class10_email.email_read import read # 定义邮箱的选高管信息 # sender = 'xxx@qq.com' # receiver = 'xxx@qq.com' # pass_code = 'xxx' data = read('Project_E') print(data) # receivers = ['xxx@qq.com','xxx@qq.com'] #多个收件人通过list发送 #处理配置项中的多个收件人,str转为list receivers = [] for receiver in data['receiver'].split(','): receivers.append(receiver) # 连接邮箱服务 conn = smtplib.SMTP('smtp.qq.com', 587) # 这是qq邮箱的smtp服务器地址与端口 conn.starttls() # 启用TSL加密 # 邮件正文 content = ''' 基于配置文件实现的邮件发送 test ''' # 将正文写入邮件之中 cont = MIMEText(content, 'plain', 'utf-8') # plain表示纯文本邮件 # 定义邮件的发件人与收件人相关信息 cont['From'] = data['sender'] cont['To'] = data['receiver'] cont['Subject'] = Header('这是邮件主题', 'utf-8') # 发送邮件 conn.login(data['sender'], data['pass_code']) # conn.sendmail(data['sender'], data['receiver'], cont.as_string()) #发送定义好的邮件 conn.sendmail(data['sender'],receivers,cont.as_string()) #发送定义好的邮件 # 邮箱服务关闭 conn.close()
[Project_E] SENDER=xxx@qq.com RECEIVER=xxx@qq.com,xxx@qq.com PASS_CODE=xxx
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!