python发送邮件带附件
时间: 2023-10-17 20:20:40 浏览: 103
Python定制发送带Excel附件的电子邮件
5星 · 资源好评率100%
可以使用 Python 的 `smtplib` 和 `email` 库来发送带附件的邮件。
下面是一个示例代码:
```python
import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication
# 邮件发送者、接收者和主题
sender = 'sender@example.com'
receiver = 'receiver@example.com'
subject = 'Python 发送带附件的邮件示例'
# 邮件正文
text = '这是一封带附件的邮件示例。'
# 构造邮件消息对象
message = MIMEMultipart()
message['From'] = sender
message['To'] = receiver
message['Subject'] = subject
# 添加邮件正文
message.attach(MIMEText(text))
# 添加附件
with open('/path/to/file', 'rb') as f:
attachment = MIMEApplication(f.read(), _subtype='txt')
attachment.add_header('Content-Disposition', 'attachment', filename='file.txt')
message.attach(attachment)
# 使用 SMTP 发送邮件
smtp_server = 'smtp.example.com'
smtp_port = 25
smtp_username = 'username'
smtp_password = 'password'
with smtplib.SMTP(smtp_server, smtp_port) as server:
server.login(smtp_username, smtp_password)
server.sendmail(sender, receiver, message.as_string())
```
需要注意的是,发送附件时需要使用 `email.mime.application.MIMEApplication` 来构造附件,并使用 `Content-Disposition` 头部指定附件的文件名和类型。
阅读全文