python3获取邮件附件,获取邮件附件到python文件对象

我不太明白你的意思是“电子邮件多部分消息对象”.你的意思是属于

email.message.Message类的对象?

如果这是你的意思,这很简单.在多部分消息中,get_payload方法返回消息部分的列表(每个消息本身都是一个Message对象).您可以遍历这些部分并检查其属性:例如,get_content_type方法返回部分的MIME类型,get_filename方法返回部分的文件名(如果在消息中指定了该文件).然后当您找到正确的消息部分时,可以调用get_payload(decode = True)获取解码的内容.

>>> import email

>>> msg = email.message_from_file(open('message.txt'))

>>> len(msg.get_payload())

2

>>> attachment = msg.get_payload()[1]

>>> attachment.get_content_type()

'image/png'

>>> open('attachment.png', 'wb').write(attachment.get_payload(decode=True))

如果您以编程方式从您收到的电子邮件中提取附件,则可能需要对病毒和木马采取预防措施.特别是,您可能应该仅提取您知道的MIME类型的附件是安全的,您可能希望选择自己的文件名,或至少清理get_filename的输出.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值