【Python】自动发送邮件
一、效果
二、代码
可直接复制进行调用(修改main里对应参数即可)
#!/usr/bin/env python # -*- coding: utf-8 -*- """ @Time :2022/2/11 11:05 @Author : @File :myemail.py @Version :1.0 @Function: """ import datetime import smtplib from email.mime.text import MIMEText from email.utils import formataddr class MyEmail: def __init__(self): self.sender = '' # 发件人邮箱账号 self.pwd = '' # 发件人邮箱的授权码 self.to_user = [] # 收件人邮箱账号 def send(self, title, content): """ 发送邮件 :param title: 邮件标题 :param content: 邮件内容 :return: True-发送成功;False-发送失败 """ is_success = True try: for user in self.to_user: msg = MIMEText(content, 'plain', 'utf-8') msg['From'] = formataddr(["AlarmRobot", self.sender]) # 发件人邮箱昵称、账号 msg['To'] = formataddr(["昵称", user]) # 收件人昵称、账号 msg['Subject'] = title # 邮件的主题,标题 server = smtplib.SMTP_SSL("smtp.qq.com", 465) # 发件人邮箱中的SMTP服务器,端口是25 server.login(self.sender, self.pwd) # 发件人邮箱账号、授权码 server.sendmail(self.sender, [user, ], msg.as_string()) # 发件人账号、收件人账号、发送内容 server.quit() # 关闭连接 except Exception as e: is_success = False return is_success if __name__ == '__main__': mail = MyEmail() ''' 初始化 ''' mail.sender = '' # 发件人邮箱账号 mail.pwd = '' # 发件人邮箱的授权码(获取方法见三) ''' 邮件信息 ''' mail.to_user.append('') # 收件人邮箱账号 alarm_title = '告警' # 邮件标题 alarm_text = f"{datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}\r\n注意:温度过高(40C°)" # 邮件内容 result = mail.send(alarm_title, alarm_text) if result: print("邮件发送成功") else: print("邮件发送失败")
三、获取邮箱授权码
以QQ邮箱为例
如果忍耐算是坚强 我选择抵抗 如果妥协算是努力 我选择争取
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2020-02-11 【Java】+Xmind文件解析