如何用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://test.idctop.com/article/478676.html

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

相关推荐

  • 服务器默认端口怎么改?修改后无法连接怎么办?

    更改服务器默认端口是提升系统安全性的基础且关键的一步,能够有效降低自动化脚本和广谱扫描攻击的风险,同时减少系统日志的无效噪音,这一操作虽然技术门槛不高,但涉及防火墙配置、服务重启及安全策略同步等多个环节,必须遵循严谨的操作流程以避免服务中断,通过合理规划端口映射与访问控制,管理员可以在不牺牲业务可用性的前提下……

    2026年2月24日
    15500
  • 山东农业物联网平台想租服务器该从哪下手,怎么选?

    山东农业物联网平台租服务器,核心答案是:先算清楚设备接入量和数据上报频率,再定配置,最后选机房和供应商,千万别一上来就盯着价格比,农业物联网和普通网站租服务器是两码事,你的服务器要7×24小时收数据、存数据、偶尔还要跑算法,搞错顺序后面全是坑,租服务器前先搞明白:你的平台到底在跑什么活儿很多山东的农业物联网创业……

    2026年8月10日
    900
  • imtool python怎么用?python中imtool函数详解

    在 Python 中,imtool 通常指的是 Python Imaging Library (PIL) 或 Pillow 库中用于显示图像的工具,imtool 并不是一个标准的 Python 内置模块或广泛使用的第三方库名称,你可能指的是以下几种情况之一:使用 PIL/Pillow 显示图像如果你是想显示图像……

    2026年7月10日
    9800
  • 服务器开机启动项怎么设置,服务器开机启动项命令大全

    服务器开机启动项的配置直接决定了业务系统的可用性、安全性与运维效率,核心结论是:科学管理启动项并非简单的“关闭不必要的程序”,而是需要在业务依赖关系、系统资源分配与安全防护之间寻找最优解,通过规范化流程与自动化工具,实现服务器启动过程的“快、稳、安”, 忽视这一环节,轻则导致系统启动缓慢、资源无故占用,重则引发……

    2026年3月27日
    11600
  • 中小企业如何选择高性价比存储方案?服务器直连式存储优势解析

    服务器直连式存储(DAS)是一种将存储设备(如硬盘驱动器HDD、固态硬盘SSD、JBOD或磁盘阵列)通过专用接口(如SAS、SATA或PCIe/NVMe)直接连接到单个服务器或工作站的存储架构,其核心优势在于绕过网络层,为应用提供极致的低延迟、高带宽和可预测的性能,特别适用于对存储性能要求严苛的关键业务场景,D……

    2026年2月9日
    12300
  • 个人注册域名如何转企业?个人域名升级为企业域名流程

    个人域名转企业主体并非简单的资料替换,而是涉及ICP备案信息变更、服务器解析调整及税务合规的系统工程,核心在于确保备案主体与实际运营者一致,以规避法律风险并提升品牌公信力,在数字化商业环境中,域名不仅是网站的入口,更是企业数字资产的核心组成部分,许多创业者起步阶段使用个人身份证注册域名,随着业务扩大,将域名转入……

    服务器运维 2026年5月28日
    3300
  • 服务器怎么实现云锁?云锁安装配置详细教程

    的核心在于构建一套标准化的安全部署与配置流程,通过安装Agent端与服务端建立加密通信,实现对服务器文件、进程及账号的全方位防护,这一过程并非简单的软件安装,而是涉及系统兼容性检查、端口规划、策略配置以及持续运维的系统性工程,旨在通过最小化的操作成本实现最大化的安全防御效果,部署前的环境评估与准备工作在正式实施……

    2026年3月18日
    10300
  • python fp=是什么意思?,怎么用

    在Python中,fp=通常表示将文件对象赋值给变量fp,这是文件操作的标准写法,fp常被用作“file pointer”或“file path”的缩写,python fp是什么?文件操作的代名词很多初学者在接触Python文件操作时,都会遇到fp = open(…)这样的代码,这里的fp并不是关键字,而是……

    2026年7月22日
    700
  • 个人对智慧医疗的猜想是啥?智慧医疗未来发展趋势如何

    未来的智慧医疗将不再是冷冰冰的机器诊断,而是基于个人健康数据的主动式、全生命周期伴侣,通过AI预判风险并定制个性化方案,让“治病”彻底转向“防病”,想象一下,你不再需要因为感冒发烧就匆忙去医院排队挂号,也不再需要拿着厚厚的体检报告对着医生问东问西,在2026年的视角下,医疗体验已经发生了根本性的重构,这种变化并……

    2026年6月2日
    3400
  • 除了x58还有哪些服务器主板值得买,怎么选

    除了X58,目前主流的服务器主板平台包括Intel的C621/C622/C741系列以及AMD的SP3/SP5平台,它们分别对应不同代次的至强和霄龙处理器,在性能、功耗、扩展性上全面超越X58平台, 如果你还在考虑X58,说明你追求的是极致低价,但如果业务需要稳定和能效,现代平台才是正解,为什么X58至今仍被提……

    2026年8月5日
    1000

发表回复

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