如何用Python实现邮件发送功能?python邮件发送代码



“””
msg.attach(MIMEText(html_content, ‘html’, ‘utf-8’))

— 添加附件 —

attachment_path = “report.pdf” # 替换为你的文件路径
if os.path.exists(attachment_path):
with open(attachment_path, “rb”) as attachment:
part = MIMEBase(‘application’, ‘octet-stream’)
part.set_payload(attachment.read())

Python 实操 发送带附件邮件Python自动发送邮件
加载中
Python 实操 发送带附件邮件Python自动发送邮件
# 编码附件
encoders.encode_base64(part)
# 添加头信息
part.add_header(
    'Content-Disposition',
    f'attachment; filename= {os.path.basename(attachment_path)}'
)
msg.attach(part)

else:
print(f”警告:文件 {attachment_path} 不存在,跳过附件。”)

try:
with smtplib.SMTP_SSL(smtp_server, smtp_port) as server:
server.login(sender_email, password)
server.sendmail(sender_email, receiver_email, msg.as_string())
print(“带附件的邮件发送成功!”)
except Exception as e:
print(f”邮件发送失败: {e}”)

如何用Python实现邮件发送功能?python邮件发送代码


---
### 3. 使用第三方库:`yagmail`(更简洁)
如果你希望代码更简洁,可以使用第三方库 `yagmail`,它封装了 `smtplib`,使用更直观。
安装:
```bash
pip install yagmail

使用示例:

import yagmail
# 连接邮箱(首次使用可能需要输入验证码或配置缓存)
yag = yagmail.SMTP(user="your_email@example.com", password="your_password_or_app_password", host="smtp.example.com")
# 发送纯文本
yag.send("recipient@example.com", "主题", "正文内容")
# 发送 HTML
yag.send("recipient@example.com", "HTML 主题", "<h1>你好</h1>")
# 发送附件
yag.send("recipient@example.com", "带附件", "正文", ["file1.pdf", "file2.jpg"])

如何用Python实现邮件发送功能?python邮件发送代码


常见邮箱 SMTP 配置参考

如何用Python实现邮件发送功能?python邮件发送代码

邮箱服务商 SMTP 服务器 端口 (SSL) 端口 (非SSL)
QQ 邮箱 smtp.qq.com 465 25
163 邮箱 smtp.163.com 465 25
Gmail smtp.gmail.com 465 587
Outlook smtp-mail.outlook.com 587 25

安全建议

  1. 不要硬编码密码:在生产环境中,请将邮箱密码或授权码存储在环境变量或配置文件中,而不是直接写在代码里。
    import os
    password = os.getenv('EMAIL_PASSWORD')
  2. 使用授权码:大多数邮箱要求开启 SMTP 服务后生成专用授权码,不要使用登录密码。
  3. 异常处理:始终使用 try-except 捕获网络错误或认证错误。

如果你有特定的邮箱服务商或需求(如群发、定时发送等),可以告诉我,我可以提供更具体的代码。

首发原创文章,作者:世雄 - 原生数据库架构专家,如若转载,请注明出处:https://idctop.com/article/478676.html

(0)
Nginx proxy_redirect怎么用?nginx反向代理配置教程
上一篇 2026年7月10日 06:48
免费cdn防御,免费cdn防御怎么用
下一篇 2026年7月10日 06:50

相关推荐

  • 个人免费的云主机哪里找?免费云主机租用推荐

    个人免费的云主机确实存在,但仅限入门级试用或特定厂商的“永久免费”微配置实例,适合学习Linux基础、搭建个人博客或测试轻量级应用,无法承载高并发生产环境,在云计算普及的今天,许多初学者和开发者渴望拥有自己的服务器,却往往被高昂的费用劝退,主流云厂商为了培养用户习惯,都推出了力度不小的免费或低成本方案,这些资源……

    2026年6月14日
    2400
  • 个人数字证书有期限吗?数字证书有效期多久

    个人数字证书是有有效期的,通常为1至3年,到期后必须重新申请或更新,否则将导致身份认证失效、交易中断或安全权限被锁定,很多人以为拿到证书就像拿到身份证一样,是一次性终身有效的,但实际上它更像是一张有时效性的“电子通行证”,在2026年的数字化办公环境中,无论是电子签名、网银操作还是政务办理,证书的有效性直接关系……

    2026年5月30日
    4300
  • 如何配置服务器监控? | Zabbix/Prometheus监控教程

    服务器监控是现代IT运维的基石,其核心价值在于主动发现潜在问题、保障业务连续性、优化资源利用并提升系统安全性,一套设计精良、执行到位的监控体系,是数据中心稳定运行的“神经系统”, 监控对象全景图:你需要关注什么?服务器监控绝非仅盯着CPU和内存,而是一个多维度的系统工程,核心监控对象包括:硬件健康状态:CPU利……

    2026年2月7日
    12300
  • 莞e申报数据安全性如何,莞e申报数据泄露怎么办

    莞e申报数据安全性整体处于行业领先水平,依托国家三级等保认证与政务云底层架构,其数据加密、权限管控及审计机制能有效保障企业隐私与合规,用户可放心使用,在数字化转型的浪潮中,许多东莞企业的财务负责人和HR在初次接触莞e申报数据安全性如何时,难免会有些顾虑,毕竟,申报系统里存放的是企业的核心机密,包括员工身份证号……

    2026年7月6日
    11500
  • 服务器屏蔽国外ip能防ddos吗?服务器屏蔽国外ip防ddos效果如何

    在高风险业务场景下,精准屏蔽国外IP是缓解DDoS攻击最直接、高效且成本可控的防御手段之一,尤其适用于服务对象明确为国内用户的企业,为何屏蔽国外IP能有效应对DDoS攻击?DDoS攻击(分布式拒绝服务攻击)本质是攻击者利用全球分布的僵尸网络,向目标服务器发送海量请求,耗尽带宽、CPU或连接数,数据显示,2023……

    2026年4月14日
    7000
  • 服务器操作系统怎么选择,服务器系统选Linux还是Windows

    必须根据具体的应用场景、技术栈需求、运维团队能力以及成本预算进行综合匹配,对于绝大多数互联网应用、Web服务和容器化部署,Linux发行版是绝对的优先选择;而对于依赖微软技术栈(如.NET、ASP.NET)或需要集成Active Directory的企业内部环境,Windows Server则是唯一解,没有通用……

    2026年2月26日
    13000
  • 个人用的云服务器怎么选?2026年高性价比云服务器推荐

    个人用户选择云服务器时,核心结论是:对于轻量级应用,2核2G或4核4G配置的入门级实例配合按量付费或包年包月模式,是兼顾成本与性能的最优解,无需盲目追求高配,随着数字化生活的深入,越来越多的个人开发者、学生群体以及小型创作者开始将目光从传统的虚拟主机转向云服务器,这不仅仅是因为云服务的稳定性远超传统主机,更在于……

    2026年5月27日
    4100
  • 个人可以申请域名吗?个人如何注册域名

    个人完全可以直接申请域名,无需注册公司,只需准备身份证并完成实名认证即可拥有属于自己的互联网地址,在互联网的浩瀚海洋中,域名就像是你的数字门牌号,很多人误以为只有大公司才能拥有独立的网址,其实这是一个巨大的认知误区,对于个人博主、自由职业者或者单纯想建立个人主页的用户来说,申请域名不仅门槛极低,而且流程透明,只……

    2026年6月12日
    4100
  • 服务器并发最多能达到多少?服务器并发数上限怎么测试

    服务器并发连接数的理论上限主要由服务器硬件资源(CPU、内存、网络带宽)、操作系统内核参数配置以及应用程序架构设计共同决定,在标准物理服务器环境下,单机并发连接数突破百万级(C1000K)是完全可行的技术目标,而不仅仅是理论数值,实现高并发的核心不在于单一硬件的堆砌,而在于打破系统资源瓶颈与优化处理逻辑,要达到……

    2026年4月8日
    7000
  • 服务器建站流程是怎样的?服务器搭建网站详细步骤教程

    服务器建站流程的核心在于“环境部署、程序安装、安全配置”三大环节的精准执行,而非简单的文件上传,一个成功的网站,必须建立在稳定的服务器环境、高效的建站程序以及严密的安全防护之上,对于初学者而言,选择可视化面板管理服务器是提升效率、降低技术门槛的最佳方案, 前期准备:服务器选购与域名解析建站的第一步是基础设施的搭……

    2026年4月8日
    7800

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注