我有一个不想要的附件电子邮件(在这个特殊情况下PKCS-7签名)。我可以用以下代码检测电子邮件中的签名:
payloads = mail.get_payload()
for index in xrange(len(payloads)):
if payloads[index].get_content_type() == "application/pkcs7-signature":
print("Found PKCS-7 Signature", index)如何从消息中删除这个特定的有效负载?email.message API似乎只有用于读取和写入整个有效负载的方法: get_payload()和set_payload()。这两种方法都不允许指定要读或写什么的有效负载索引。
发布于 2013-11-27 18:59:27
一个可能的解决办法是:
def remove_signature(mail):
payload = mail.get_payload()
if isinstance(payload, list):
for part in payload:
if part.get_content_type().startswith('application/pkcs7-signature'):
payload.remove(part)
return mailhttps://stackoverflow.com/questions/20247450
复制相似问题