惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 聂微东
爱范儿
爱范儿
博客园 - 三生石上(FineUI控件)
Recent Announcements
Recent Announcements
大猫的无限游戏
大猫的无限游戏
MongoDB | Blog
MongoDB | Blog
A
About on SuperTechFans
M
MIT News - Artificial intelligence
V
Visual Studio Blog
云风的 BLOG
云风的 BLOG
The GitHub Blog
The GitHub Blog
Jina AI
Jina AI
P
Proofpoint News Feed
博客园_首页
酷 壳 – CoolShell
酷 壳 – CoolShell
T
The Blog of Author Tim Ferriss
G
Google Developers Blog
宝玉的分享
宝玉的分享
Engineering at Meta
Engineering at Meta
Last Week in AI
Last Week in AI
aimingoo的专栏
aimingoo的专栏
罗磊的独立博客
N
Netflix TechBlog - Medium
人人都是产品经理
人人都是产品经理

博客园 - 百衲本

Centos7 副本集模式部署 MongoDB centos7部署Nacos集群模式 centos7 yum快速安装clickhouse单机版 k8s高可用部署Seata kubernetes中pod磁盘占用排查 jumpserver V3 终端常用操作 Python 列表生成式、字典生成式与生成器表达式 Python 的可迭代对象、迭代器对象与生成器 python yagmail 模块自动化操作邮件 python自动化操作PDF 国内企业邓白氏编码免费申请流程 Python psutil模块 免费公共API调用清单 Python pathlib 模块 容器网络故障排查:从 ping 到 tcpdump 的全链路思路 systemd详解 APP性能指标 Linux 上禁用 USB 存储设备 线上故障的排查清单,运维小哥拿走不谢!
python email模块自动化操作邮件
百衲本 · 2025-09-26 · via 博客园 - 百衲本

1.发送普通文本邮件

from email.message import EmailMessage
import smtplib
import keyring
password = keyring.get_password("yagmail", "960xxxx@qq.com") #关于keyring的使用可以参考https://www.cnblogs.com/panwenbin-logs/p/19111506


# 创建邮件对象
msg = EmailMessage()
msg['From'] = '960xxxx@qq.com'
msg['To'] = 'panxxx@chxxxxxxding.com' #批量群发 msg['To'] = ', '.join(['a@example.com', 'b@example.com'])
msg['Subject'] = '每日提醒'
msg.set_content('你好,这是今天的日报,请查收!')
msg.set_charset('utf-8') #防止乱码
# 发送邮件
try:
    with smtplib.SMTP_SSL('smtp.qq.com', 465) as smtp:
        #smtp.set_debuglevel(1)  # 开启调试模式
        #code, response = smtp.ehlo()
        # print(f"EHLO响应: {code} - {response}")
        smtp.login('960xxx@qq.com', password)
        smtp.send_message(msg)
        print("✅ 邮件发送成功!")
        smtp.close()
except Exception as e:
    print(f"❌ 邮件发送失败: {e}")

2.创建HTML格式邮件

msg = EmailMessage()
msg['From'] = '960xxx@qq.com'
msg['To'] = 'panxxx@cxxxding.com'
msg['Subject'] = '每日提醒'
msg.set_content('文本内容')
msg.add_alternative("""
<html>
  <body>
    <h1 style="color:blue;">这是HTML版本日报</h1>
    <p>点击 <a href="http://example.com">查看详情</a></p>
  </body>
</html>
.......
""", subtype='html')  #不要忘记subtype='html'指定格式,不添加则内容变为附件内容

3.创建带附件邮件  

msg = EmailMessage()
msg['From'] = '960xxx@qq.com'
msg['To'] = 'panxxx@cxxxxxlding.com'
msg['Subject'] = '每日提醒'
msg.set_content('文本内容')

with open('test.png','rb') as f:
    msg.add_attachment(f.read(),maintype='application',subtype='PNG',filename='test.png')