通过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文件附件的电子邮件。
