欢迎访问宙启技术站
智能推送

Python中使用MIMEApplication()进行邮件附件的添加和发送

发布时间:2023-12-24 23:39:37

在Python中,我们可以使用第三方库 email 来添加和发送邮件的附件。其中,MIMEApplication() 是一个用于创建包含应用程序/二进制数据的MIME消息的类。

下面是一个使用例子,展示了如何使用 MIMEApplication() 添加和发送附件:

import smtplib
from email.mime.multipart import MIMEMultipart
from email.mime.text import MIMEText
from email.mime.application import MIMEApplication

# 创建一个 MIMEMultipart 对象作为邮件容器
msg = MIMEMultipart()

# 设置邮件的主题
msg['Subject'] = '附件测试'

# 设置发件人和收件人
msg['From'] = 'sender@example.com'
msg['To'] = 'recipient@example.com'

# 创建一个 MIMEText 对象作为邮件的正文
body = MIMEText('这是一封带有附件的邮件。')
msg.attach(body)

# 添加附件
with open('example.txt', 'rb') as file:
    attachment = MIMEApplication(file.read(), 'txt')

# 设置附件的文件名
attachment.add_header('Content-Disposition', 'attachment', filename='example.txt')
msg.attach(attachment)

# 发送邮件
s = smtplib.SMTP('smtp.example.com', 587)
s.starttls()
s.login('username', 'password')
s.send_message(msg)
s.quit()

在上面的代码中,我们首先创建了一个 MIMEMultipart 对象 msg 作为邮件容器,并设置了邮件的主题、发件人和收件人等信息。然后,我们创建了一个 MIMEText 对象 body 作为邮件的正文,并将其添加到容器中。接下来,我们使用 open() 函数打开要添加的附件文件,读取文件内容,然后创建一个 MIMEApplication 对象 attachment,并将文件内容作为参数传入。我们还通过 add_header() 方法设置了附件的文件名。最后,我们将附件对象 attachment 添加到邮件容器 msg 中,并使用 SMTP 对象发送邮件。

需要注意的是,在实际使用中,你需要将代码中的邮箱服务器地址、用户名和密码等信息替换为真实的值。同时,你还需要确保附件文件 example.txt 存在,并位于与脚本相同的目录中。如果附件文件位于其他位置,你需要提供正确的文件路径。

希望这个例子能够帮助你了解如何使用 MIMEApplication() 在Python中添加和发送邮件附件。如果你有任何疑问,请随时追问。