如何用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

相关推荐

  • 虚拟机服务器有哪些类型,哪个品牌性价比高

    虚拟机服务器的主流类型包括KVM虚拟化VPS、XEN虚拟化VPS、OpenVZ容器VPS和云服务器(ECS),其中KVM凭借独立内核与硬件级隔离,已成为当前绝大多数服务商的首选方案,虚拟机服务器的主流类型与核心差异KVM虚拟化VPS:当前市场的绝对主流KVM(Kernel-based Virtual Machi……

    2026年9月16日
    200
  • 服务器怎么上传网站?详细步骤教程分享

    服务器上传网站的核心在于建立连接、传输文件与配置环境,这一过程通过FTP工具或远程桌面连接实现,需确保文件路径正确、数据库连接无误,并完成域名解析与权限设置,最终实现网站的正常访问,掌握正确的上传流程与配置方法,能有效避免网站无法访问或加载错误等问题,是网站上线运营的关键环节, 上传前的核心准备工作在执行上传操……

    2026年3月24日
    9800
  • 服务器常用巡检命令有哪些,Linux服务器日常巡检命令大全

    服务器巡检的核心在于通过标准化命令快速识别系统瓶颈与潜在故障,确保业务连续性,高效的巡检并非简单的命令堆砌,而是建立一套从整体到局部、从资源到日志的立体化诊断逻辑,通过系统状态、资源占用、存储空间、网络连接及安全日志五个维度的深度检查,运维人员能够在故障爆发前精准定位隐患,以下是基于实战经验总结的专业巡检流程与……

    2026年4月3日
    9500
  • 个人bi软件哪个好用?个人bi软件推荐

    个人BI软件的核心价值在于将分散的数据转化为可视化的决策依据,对于非技术背景的用户,选择一款低代码、易上手且具备强大数据清洗能力的工具是提升效率的关键,在数字化转型的浪潮中,数据不再是大型互联网公司的专利,无论是自由职业者、小型创业团队,还是企业内部的独立业务分析师,个人BI(商业智能)软件正逐渐成为日常工作的……

    2026年6月21日
    1800
  • 服务器常报错误代码有哪些,常见故障代码大全解决方法

    服务器报错本质上是客户端请求与服务端响应之间的通信断层,快速定位并解决这些错误,是保障网站稳定性和用户体验的核心关键,面对服务器常报错误代码,运维人员与开发者首先应建立“分类排查”的思维模型:即区分客户端请求错误(4xx)与服务端处理错误(5xx),这是解决问题的第一把钥匙,绝大多数情况下,5xx系列错误直接关……

    2026年4月5日
    11000
  • 高级大数据开发工程师招聘?大数据开发岗位要求有哪些

    2026年高级大数据开发工程师招聘的核心在于精准锁定具备实时计算架构能力、AI数据中台融合经验及降本增效实操背景的复合型技术人才,企业需通过结构化技术面与场景化考核方能高效完成招募,2026年高级大数据开发工程师招聘市场洞察供需结构与薪资锚点根据中国信息通信研究院2026年《数据要素市场化发展白皮书》显示,大数……

    2026年4月27日
    5400
  • 服务器怎么存储文件,服务器文件存储方式有哪些

    服务器存储文件的核心逻辑在于构建一套高效、安全且可扩展的数据管理体系,其本质是通过操作系统与物理硬件的协同,将离散的二进制数据转化为可被检索和调用的资源,服务器存储并非简单的“仓库”,而是一个严密的IO处理流程,涉及文件系统划分、权限控制、冗余备份及网络传输四个关键维度,物理存储介质是文件存储的基石,直接决定了……

    2026年3月17日
    10400
  • DNS域名服务器有哪些类型?,有什么区别

    DNS域名服务器主要分为根域名服务器、顶级域名服务器、权威域名服务器和递归解析器四大类,实际部署中还会细分为主服务器、辅助服务器、缓存服务器等角色,理解这些类型是搭建稳定解析体系的基础,DNS域名服务器的分类逻辑:从根到递归的全链路DNS查询过程像一场逐级上报的接力,每一环都有专门类型的服务器负责,业界权威的……

    2026年8月13日
    800
  • 服务器控制台登录怎么操作?服务器控制台登录入口在哪

    服务器控制台登录是服务器运维管理的第一道防线,也是保障系统安全与业务连续性的核心环节,高效、安全的登录流程不仅能大幅降低运维风险,还能在故障发生时争取宝贵的抢救时间,对于运维人员而言,掌握正确的登录方式、配置安全策略以及处理常见登录故障,是必须具备的专业素养,服务器控制台登录的核心方式与选择服务器控制台登录主要……

    2026年3月9日
    11800
  • gzip数据压缩效果好吗,gzip压缩率一般是多少

    Gzip数据压缩的核心在于通过消除文件中的冗余字符来减小体积,开启后通常能使文本类资源体积减少60%-80%,显著提升网站加载速度并降低服务器带宽成本,在现代Web开发中,性能优化不再是锦上添花,而是关乎用户留存的关键基础设施,当用户点击链接的那一刻,每一毫秒的延迟都在消耗耐心,Gzip作为一种广泛支持的压缩算……

    2026年6月22日
    1810

发表回复

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