smtplib发送附件
时间: 2023-08-15 11:08:55 浏览: 163
要使用smtplib发送带附件的邮件,需要使用email模块构建邮件。
下面是一个示例代码,演示如何使用smtplib发送带附件的邮件:
``` python
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
FROM_EMAIL = 'your_email@example.com' # 发件人邮箱
FROM_EMAIL_PASSWORD = 'your_email_password' # 发件人邮箱密码
TO_EMAIL = 'recipient@example.com' # 收件人邮箱
# 构建邮件
msg = MIMEMultipart()
msg['Subject'] = '邮件主题'
msg['From'] = FROM_EMAIL
msg['To'] = TO_EMAIL
# 添加文本内容
text = MIMEText('邮件正文')
msg.attach(text)
# 添加附件
with open('path/to/attachment.pdf', 'rb') as f:
attachment = MIMEApplication(f.read(), _subtype='pdf')
attachment.add_header('Content-Disposition', 'attachment', filename='attachment.pdf')
msg.attach(attachment)
# 发送邮件
server = smtplib.SMTP('smtp.example.com', 587) # SMTP服务器地址和端口
server.starttls()
server.login(FROM_EMAIL, FROM_EMAIL_PASSWORD)
server.sendmail(FROM_EMAIL, TO_EMAIL, msg.as_string())
server.quit()
```
其中,`path/to/attachment.pdf`是要添加的附件的文件路径。需要将发件人的邮箱地址和密码替换为真实的邮箱地址和密码,将收件人的邮箱地址替换为真实的收件人邮箱地址。SMTP服务器地址和端口需要根据实际情况进行替换。
阅读全文