📅  最后修改于: 2023-12-03 15:35:01.048000             🧑  作者: Mango
Python 中的 smtplib 模块提供了发送电子邮件的功能。可以使用该模块发送包含文本、图片和附件的邮件。
本文将介绍如何使用 smtplib 发送 PDF 文件。
import os
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
smtp_server = '<SMTP 服务器地址>'
port = <SMTP 服务器端口号>
sender = '<发件人邮箱>'
sender_password = '<发件人邮箱密码>'
msg = MIMEMultipart()
msg['From'] = sender
msg['Subject'] = '发送 PDF 文件'
msg.attach(MIMEText('这是一封测试邮件,附带一份 PDF 文件。'))
with open('<PDF 文件路径>', 'rb') as f:
pdf_file = f.read()
part = MIMEApplication(pdf_file, Name=os.path.basename('<PDF 文件路径>'))
part['Content-Disposition'] = 'attachment; filename="%s"' % os.path.basename('<PDF 文件路径>')
msg.attach(part)
try:
server = smtplib.SMTP(smtp_server, port)
server.starttls()
server.login(sender, sender_password)
server.sendmail(sender, '<收件人邮箱>', msg.as_string())
server.quit()
print('邮件发送成功!')
except Exception as e:
print('邮件发送失败:', e)
使用 smtplib 发送 PDF 文件需要按照以上步骤进行操作。在构造邮件内容时要注意设置附件的相关属性,以确保能够正确地发送 PDF 文件。更多关于 smtplib 的内容可以参考 Python 官方文档。