Python自动化邮件发送:163、QQ、Outlook邮箱全覆盖
admin2023-10-27【电脑技术】浏览:133
import smtplibfrom email.mime.text import MIMETextfrom email.utils import formataddrfrom datetime import datetime # 发件人邮箱账号my_sender = 'XXXX@163.com'# my_sender = '1525943131@qq.com'# 收件人邮箱账号my_user = ['XXXX@qq.com']# my_user = ['XXXX@163.com']# 授权码,不是账号的密码authorization_code = '********'# authorization_code = '****************'# 发送人姓名sender_name = 'After__today'# 接收人姓名user_name = ['天晴的时候会下雨']# 发件服务器smtp = 'smtp.163.com' #网易163# smtp='smtp.qq.com' #qq邮箱 def mail(text): now_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S') ret = True for i in range(len(my_user)): text1 = '您好 '+user_name[i]+'\n现在时间为'+str(now_time)+'\n很抱歉打扰您!\n'+text try: msg = MIMEText(text1,'plain','utf-8') # 括号里的对应发件人邮箱昵称、发件人邮箱账号 msg['From'] = formataddr([sender_name,my_sender]) # 括号里的对应收件人邮箱昵称、收件人邮箱账号 msg['To'] = formataddr([user_name[i],my_user[i]]) # 邮件的主题,也可以说是标题 msg['Subject'] = "系统提示信息" # 发件人邮箱中的SMTP服务器,端口是25 server = smtplib.SMTP(smtp,25) # 发件人邮箱账号、邮箱密码 server.login(my_sender, authorization_code) # 发件人邮箱账号、收件人邮箱账号、发送邮件 server.sendmail(my_sender, [my_user[i],], msg.as_string()) # 关闭连接 server.quit() except Exception: ret = False finally: next return ret text = '发送成功'mail(text)
这里使用的是163邮箱,需要注意要在 “邮箱中心” 设置客户端授权密码,否则会报错(550, b'User has no permission'),authorization_code就是设置的授权码,如果使用邮箱密码,会报错(535, b'Error: authentication failed')。
私信小编01即可获取大量Python学习资料
如果是使用QQ邮箱发送邮件,同样需要设置授权码,QQ邮箱——>设置——>账户,然后找到如下:
按步骤开启POP3/SMTP服务,authorization_code改为生成的16位授权码即可。
使用outlook发送邮件使用的是POP3服务,代码稍有改动
import win32com.client as win32from datetime import datetime now_time = datetime.now().strftime('%Y-%m-%d %H:%M:%S')sub = 'statistic_result'body = '现在时间为' + now_timeoutlook = win32.Dispatch('outlook.application')receivers = ['XXXX@qq.com']mail = outlook.CreateItem(0)mail.To = receivers[0]mail.Subject = sub# mail.Attachimage.Add('C:/Users/Administrator/Desktop/work.jpg')mail.Body = bodymail.Attachments.Add('C:/Users/Administrator/Desktop/work.jpg')mail.Send()
添加账户信息的过程见https://jingyan.baidu.com/article/e3c78d6496f6d73c4c85f5a2.html。
(想往正文中添加图片信息我试了很久都不行,Attachimage方法用不了,希望会的同学能在评论区告知,谢谢(/鞠躬)。)
发送的时候可能会提示安全警告,关掉的方法为在outlook的选项中信任中心的设置中,把编程访问中的从不发送警告勾选上,如果和我截图一样是灰白色无法勾选,应该是电脑安全级别过高,在控制面板中可以更改。
相关文章
- Win10安全模式入门:@DOU+小助手的简单教程
- win10死机任务管理器打不开解决方法 win10假死无法打开任务管理器
- u启动怎么装win8系统 u启动u盘装系统教程win8
- wps2019表格怎么只复制单元格的列宽 wps单个表格怎么拉宽
- excel如何只粘贴到筛选出的部分 excel筛选后复制粘贴跳过隐藏行教程 excel中怎么跳过筛选掉的单元格进行粘贴
- Win10网速疑云:解密宽带限制与速度提升策略
- 甜蜜互动:情侣专属的小游戏大冒险
- 2022双十一组装电脑主机定制推荐:打造专属高性能主机
- 如何利用ps将图片切片 ps如何把图片切片
- 掌握成功之钥:小米随星借借款,轻松实现财富增长
- 系统资源不足卸载迈克菲解决教程
热评文章
企业微信分屏老师能看到吗 企业微信切屏老师能看见吗
excel如何批量输入求和公式 excel批量输入求
罗技驱动win7能用吗 罗技鼠标支持win7系统吗
打印机驱动卸载干净教程 打印机驱动怎样卸载干净
显卡驱动更新小技巧,让你的电脑运行更稳定
手机系统声音不起眼,但很重要 手机系统声音有的,但