gpt4 book ai didi

Python 电子邮件库 - 如何从现有邮件中删除附件?

转载 作者:太空狗 更新时间:2023-10-30 02:14:25 35 4
gpt4 key购买 nike

我有一封正在使用 Python 电子邮件库阅读的电子邮件,我需要修改其附件。电子邮件 Message 类有“attach”方法,但没有“detach”之类的方法。如何从多部分邮件中删除附件?如果可能的话,我想这样做而不是从头开始重新创建消息。

本质上我想:

  1. 加载邮件
  2. 删除 mime 附件
  3. 添加新附件

最佳答案

set_payload()可能有帮助。

set_payload(payload[, charset])

Set the entire message object’s payload to payload. It is the client’s responsibility to ensure the payload invariants.

一个快速交互的例子:

>>> from email import mime,message
>>> m1 = message.Message()
>>> t1=email.MIMEText.MIMEText('t1\r\n')
>>> print t1.as_string()
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

t1

>>> m1.attach(t1)
>>> m1.is_multipart()
True
>>> m1.get_payload()
[<email.mime.text.MIMEText instance at 0x00F585A8>]
>>> t2=email.MIMEText.MIMEText('t2\r\n')
>>> m1.set_payload([t2])
>>> print m1.get_payload()[0].as_string()
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit

t2

>>>

关于Python 电子邮件库 - 如何从现有邮件中删除附件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1626403/

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