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

通过MIMEApplication()在Python中发送包含CSV文件附件的邮件

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

在Python中发送包含CSV文件附件的电子邮件,可以使用标准库中的smtplib和email模块。下面是一个使用例子:

首先,导入所需的模块:

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

接下来,设置发送方和接收方的电子邮件地址,以及邮件主题和内容:

sender_email = "sender@example.com"
receiver_email = "receiver@example.com"
subject = "CSV File Attachment"
body = "Please find attached the CSV file."

然后,创建一个MIMEMultipart对象,并设置邮件的发送方、接收方、主题和内容:

# 创建邮件对象
message = MIMEMultipart()
message["From"] = sender_email
message["To"] = receiver_email
message["Subject"] = subject

# 添加邮件内容
message.attach(MIMEText(body, "plain"))

接下来,打开需要发送的CSV文件,并将其添加为附件:

# 打开CSV文件
filename = "data.csv"
with open(filename, "rb") as attachment:
    # 创建附件对象
    csv_part = MIMEApplication(attachment.read(), Name=filename)
    # 添加附件头部信息
    csv_part['Content-Disposition'] = 'attachment; filename="%s"' % filename
    # 添加附件到邮件
    message.attach(csv_part)

最后,通过SMTP服务器发送邮件:

# 连接SMTP服务器
server = smtplib.SMTP("smtp.example.com", 587)
server.starttls()
server.login("username", "password")

# 发送邮件
server.sendmail(sender_email, receiver_email, message.as_string())

# 关闭连接
server.quit()

以上代码将会发送一封包含CSV文件附件的电子邮件。你需要将代码中的发送方、接收方、主题、内容、CSV文件名、SMTP服务器地址、登录凭据等信息替换为你自己的。

希望这个例子能帮助你发送带有CSV文件附件的电子邮件。