📜  smtplib 发送 pdf - Python (1)

📅  最后修改于: 2023-12-03 15:35:01.048000             🧑  作者: Mango

使用 smtplib 发送 PDF 文件

Python 中的 smtplib 模块提供了发送电子邮件的功能。可以使用该模块发送包含文本、图片和附件的邮件。

本文将介绍如何使用 smtplib 发送 PDF 文件。

步骤
1. 引入必要的模块
import os
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart
from email.mime.application import MIMEApplication
2. 配置邮箱服务器
smtp_server = '<SMTP 服务器地址>'
port = <SMTP 服务器端口号>
sender = '<发件人邮箱>'
sender_password = '<发件人邮箱密码>'
3. 构造邮件内容
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)
4. 发送邮件
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 官方文档。