• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

使用python自动发邮件(163、QQ、outlook邮箱)

python 搞java代码 3年前 (2022-05-21) 19次浏览 已收录 0个评论
<span><a href="https://www.gaodaima.com/tag/import" title="查看更多关于import的文章" target="_blank">import</a> smtplib
from<span> email.mime.text import MIMEText
from<span> email.utils import formataddr
from<span> datetime import datetime
 
# 发件人邮箱账号
<a href="https://www.gaodaima.com/tag/my" title="查看更多关于my的文章" target="_blank">my</a>_sender = "l1525943131@163.<a href="https://www.gaodaima.com/tag/com" title="查看更多关于com的文章" target="_blank">com</a>"<span>
# my_sender = "[email protected]"<span>
# 收件人邮箱账号
my_user = ["[email protected]"<span>]
# my_user = ["[email protected]"<span>]
# 授权码,不是账号的密码
authorization_code = "********"<span>
# authorization_code = "****************"<span>
# 发送人姓名
sender_name = "After__today"<span>
# 接收人姓名
user_name = ["天晴的时候会下雨"<span>]
# 发件服务器
smtp = "smtp.163.com"<span>   #网易163
# smtp="smtp.qq.com"<span>    #qq邮箱
 
def mail(text):
    now_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S"<span>)
    ret =<span> True
    for i in<span> range(len(my_user)):
        text1 = "您好 "+user_name[i]+"
现在时间为"+str(now_time)+"
很抱歉打扰您!
"+<span>text
        try<span>:
            msg = MIMEText(text1,"plain","utf-8"<span>)
            # 括号里的对应发件人邮箱昵称、发件人邮箱账号
            msg["From"] =<span> formataddr([sender_name,my_sender])
            # 括号里的对应收件人邮箱昵称、收件人邮箱账号
            msg["To"] =<span> formataddr([user_name[i],my_user[i]])
            # 邮件的主题,也可以说是标题
            msg["Subject"] = "系统提示信息"<span>
            # 发件人邮箱中的SMTP服务器,端口是25
            server = smtplib.SMTP(smtp,25<span>)
            # 发件人邮箱账号、邮箱密码
            server.login(my_sender, authorization_code)
            # 发件人邮箱账号、收件人邮箱账号、发送邮件
            server.sendmail(my_sender, [my_user[i],], msg.as_string())
            # 关闭连接
            server.quit()
        except Exception:
            ret =<span> False
        finally<span>:
            next
    return<span> ret
 
text = "发送成功"<span>
mail(text)</span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span></span>

www#gaodaima.com来源gaodaima#com搞(代@码网搞代码

 

很多人学习python,不知道从何学起。
很多人学习python,掌握了基本语法过后,不知道在哪里寻找案例上手。
很多已经做案例的人,却不知道如何去学习更加高深的知识。
那么针对这三类人,我给大家提供一个好的学习平台,免费领取视频教程,电子书籍,以及课程的源代码!??¤
QQ群:623406465

这里使用的是163邮箱,需要注意要在 “邮箱中心” 设置客户端授权密码,否则会报错(550, b”User has no permission”),authorization_code就是设置的授权码,如果使用邮箱密码,会报错(535, b”Error: authentication failed”)。

如果是使用QQ邮箱发送邮件,同样需要设置授权码,QQ邮箱——>设置——>账户,然后找到如下:

按步骤开启POP3/SMTP服务,authorization_code改为生成的16位授权码即可。

使用outlook发送邮件使用的是POP3服务,代码稍有改动

import win32com.client as<span> win32
from<span> datetime import datetime
 
now_time = datetime.now().strftime("%Y-%m-%d %H:%M:%S"<span>)
sub = "statistic_result"<span>
body = "现在时间为" +<span> now_time
outlook = win32.Dispatch("outlook.application"<span>)
receivers = ["[email protected]"<span>]
mail = outlook.CreateItem(0<span>)
mail.To = receivers[0<span>]
mail.Subject =<span> sub
# mail.Attachimage.Add("C:/Users/Administrator/Desktop/work.jpg"<span>)
mail.Body =<span> body
mail.Attachments.Add("C:/Users/Administrator/Desktop/work.jpg"<span>)
mail.Send()</span></span></span></span></span></span></span></span></span></span></span></span></span>

 

添加账户信息的过程见https://jingyan.baidu.com/article/e3c78d6496f6d73c4c85f5a2.html。

(想往正文中添加图片信息我试了很久都不行,Attachimage方法用不了,希望会的同学能在评论区告知,谢谢(/鞠躬)。)

发送的时候可能会提示安全警告,关掉的方法为在outlook的选项中信任中心的设置中,把编程访问中的从不发送警告勾选上,如果和我截图一样是灰白色无法勾选,应该是电脑安全级别过高,在控制面板中可以更改。

 


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:使用python自动发邮件(163、QQ、outlook邮箱)

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址