目的:将Python执行脚本结果发送到指定邮箱
1、以下163邮箱为例,设置发件人是163邮箱,接收人是qq邮箱。
由于163邮箱的安全机制,Python登陆163邮件客户端不是使用邮箱密码而是使用客户端授权密码。授权码是用于登录第三方邮件客户端的专用密码。
163客户端授权路径:设置->常规设置->客户端授权密码:
开启服务,如果像我曾经操作过客户端授权密码的会出现“开启”/“关闭”按钮,如果没授权过服务的则需要先操作客户端授权密码。
如下我直接开启服务就能出现授权密码,将此密码保存下面python脚本会使用到。
2、Python脚本代码
# -*- coding:utf-8 -*- import smtplib import time from email.mime.text import MIMEText from email.header import Header def mail(): sender = '[email protected]' #发送人邮箱 receiver = '[email protected]' #接收人邮箱 smtpserver = 'smtp.163.com' #邮件服务器 password = 'xxx' #此处密码不是指邮箱密码,而是指发件人邮箱客户端授权码 #邮件标题 subject = 'Python邮件发送测试-2023' body = "这是一封Python脚本自动发送邮件,发送人'"+sender+"',收件人'"+receiver+"'" #发送邮件正文 msg = MIMEText(body, 'plain', 'utf-8') msg['Subject'] = Header(subject, 'utf-8') try: smtp = smtplib.SMTP() smtp.connect(smtpserver) smtp.login(sender, password) smtp.sendmail(sender, receiver, msg.as_string()) smtp.quit() print("Success: 邮件发送成功!") except smtplib.SMTPException: print("Fail: 邮件发送失败!") if __name__ == '__main__': mail()
3、执行脚本,成功通过Python发送脚本到指定邮箱
标签:Python,发送,密码,邮箱,邮件,客户端 From: https://www.cnblogs.com/dabeen/p/16378416.html