gpt4 book ai didi

python-2.7 - Python 电子邮件 MIME 附件文件名

转载 作者:行者123 更新时间:2023-12-03 16:40:39 24 4
gpt4 key购买 nike

我无法将 CSV 文件附加到电子邮件。我可以使用 smtplib 发送电子邮件,并且可以将我的 CSV 文件附加到电子邮件中。但是我不能设置附件的名称,所以我不能设置它为.csv .另外我不知道如何在电子邮件正文中添加文本消息。

此代码会生成一个名为 AfileName.dat 的附件,而不是所需的 testname.csv,或者最好还是 attach.csv

#!/usr/bin/env python

import smtplib
from email.mime.multipart import MIMEMultipart
from email import Encoders
from email.MIMEBase import MIMEBase

def main():
print"Test run started"
sendattach("Test Email","attach.csv", "testname.csv")
print "Test run finished"

def sendattach(Subject,AttachFile, AFileName):
msg = MIMEMultipart()
msg['Subject'] = Subject
msg['From'] = "from@email.com"
msg['To'] = "to@email.com"
#msg['Text'] = "Here is the latest data"

part = MIMEBase('application', "octet-stream")
part.set_payload(open(AttachFile, "rb").read())
Encoders.encode_base64(part)

part.add_header('Content-Disposition', 'attachment; filename=AFileName')

msg.attach(part)

server = smtplib.SMTP("smtp.com",XXX)
server.login("from@email.com","password")
server.sendmail("email@email.com", "anotheremail@email.com", msg.as_string())

if __name__=="__main__":
main()

最佳答案

在线留言part.add_header('Content-Disposition', 'attachment; filename=AFileName')您正在硬编码 AFileName作为字符串的一部分,并且不使用同名函数的参数。

要将参数用作文件名,请将其更改为

part.add_header('Content-Disposition', 'attachment', filename=AFileName)

向您的电子邮件添加正文
from email.mime.text import MIMEText
msg.attach(MIMEText('here goes your body text', 'plain'))

关于python-2.7 - Python 电子邮件 MIME 附件文件名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29239572/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com