Python3 使用 SMTP 发送带附件邮件的完整示例

Hazel
Hazel
发布时间:2026-10-13 | 2人浏览过
原创

本文提供基于 Python3 的 SMTP 邮件发送示例,演示如何构建 MIMEMultipart 对象并添加 MIMEText 正文与 MIMEApplication 附件。代码包含连接服务器、登录认证及发送指令,适用于需要自动化发送带文件邮件的场景。

具体实现代码如下所示:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import smtplib
import email.mime.multipart
import email.mime.text
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication

def send_email(smtpHost, sendAddr, password, recipientAddrs, subject='', content=''):
 msg = email.mime.multipart.MIMEMultipart()
 msg['from'] = sendAddr
 msg['to'] = recipientAddrs
 msg['subject'] = subject
 content = content
 txt = email.mime.text.MIMEText(content, 'plain', 'utf-8')
 msg.attach(txt)


 # 添加附件,传送D:/mydev/yasuo.rar文件
 part = MIMEApplication(open('D:/mydev/6.rar','rb').read())
 part.add_header('Content-Disposition', 'attachment', filename="yasuo.rar")
 msg.attach(part)

 smtp = smtplib.SMTP()
 smtp.connect(smtpHost, '25')
 smtp.login(sendAddr, password)
 smtp.sendmail(sendAddr, recipientAddrs, str(msg))
 print("发送成功!")
 smtp.quit()

try:

subject = 'Python 测试邮件'
content = '这是一封来自 Python 编写的测试邮件。'
send_email('smtp.163.com', '18310161797@163.com', '邮箱密码', '526189064@qq.com', subject, content)
except Exception as err:
print(err)

上述内容即为 Python3 发送任意文件邮件的完整示例,供读者参考使用,欢迎继续支持本站获取更多技术分享。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表