gpt4 book ai didi

python - 如何发送带有 Python 附件的 zip 文件的电子邮件?

转载 作者:太空宇宙 更新时间:2023-11-04 09:12:52 25 4
gpt4 key购买 nike

我的目录中有一个名为 csv 的 zip 文件夹:

  • /home/local/user/project/zip_module/csv

我想发送一封包含此 zip 文件夹作为附件的电子邮件。

到目前为止,我使用 smtplib 从 Python 发送电子邮件模块,但我不知道如何发送带有 zip 文件夹作为附件的电子邮件。

我在 Google 上搜索过,但我找到的代码是用于压缩和发送电子邮件,而不是将 zip 文件附加到电子邮件。

最佳答案

假设您要附加的 zip 文件是 '/home/local/user/project/zip_module/csv.zip'tosendersubjecttext 分别包含您的收件人地址、发件人地址、主题和邮件文本.

然后,

import smtplib, MimeWriter, mimetools, base64

message = StringIO.StringIO()
email_msg = MimeWriter.MimeWriter(message)
email_msg.addheader('To', to)
email_msg.addheader('From', sender)
email_msg.addheader('Subject', subject)
email_msg.addheader('MIME-Version', '1.0')

email_msg.startmultipartbody('mixed')

part = email_msg.nextpart()
body = part.startbody('text/plain')
part.flushheaders()
body.write(text)

file_to_attach = '/home/local/user/project/zip_module/csv.zip'
filename = os.path.basename(file_to_attach)
ftype, encoding = 'application/zip', None

part = email_msg.nextpart()
part.addheader('Content-Transfer-Encoding', encoding)
body = part.startbody("%s; name=%s" % (ftype, filename))
mimetools.encode(open(file_to_attach, 'rb'), body, encoding)

email_msg.lastpart()

email_text = message.getvalue()

现在像使用 smtplib 一样发送电子邮件,将 email_text 作为 msg

例如

smtp = smtplib.SMTP(SERVER, PORT)
smtp.login(USER, PASSWORD)
smtp.sendmail(sender, to, email_text)
smtp.quit()

关于python - 如何发送带有 Python 附件的 zip 文件的电子邮件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13006156/

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