I have got an email multipart message object, and I want to convert the attachment in that email message into python file object. Is this possible? If it is possible, what method or class in Python I should look into to do such task?

解决方案

I don't really understand what you mean by "email multipart message object". Do you mean an object belonging to the email.message.Message class?

If that is what you mean, it's straightforward. On a multipart message, the get_payload method returns a list of message parts (each of which is itself a Message object). You can iterate over these parts and examine their properties: for example, the get_content_type method returns the part's MIME type, and the get_filename method returns the part's filename (if any is specified in the message). Then when you've found the correct message part, you can call get_payload(decode=True) to get the decoded contents.

>>> 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))

If you're programmatically extracting attachments from email messages you have received, you might want to take precautions against viruses and trojans. In particular, you probably ought only to extract attachments whose MIME types you know are safe, and you probably want to pick your own filename, or at least sanitize the output of get_filename.

python3获取邮件附件,获取邮件附件到python文件对象相关推荐

  1. python文件对象提供了3个读方法、分别是-python3 IO编程:文件读写

    打开文件对象 在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘,所以,读写文件就是请求操作系统打开一个文件对象(通常称为文件描述符),然后,通过操作系统提供的接口从 ...

  2. python文件对象提供了3个读方法、分别是-python3基础之文件对象操作

    1.向文本文件中写入内容 s = 'Hello world 文本文件的读取方法 文本文件的写入方法 ' # 需要写入文件的字符串 print('显示需要写入的内容: {0:s}'.format(s)) ...

  3. PHP获取谷歌邮箱的邮件附件imap

    一.首先检查你的环境是否支持openssl以及phpinfo查看imap是否开启 echo phpinfo() 二.配置你的邮箱 1. 修改谷歌邮箱配置 2. 打开谷歌邮箱安全性较低的链接 https ...

  4. Uipath如何获取outlook邮件附件/特定类型附件

    Uipath如何获取outlook邮件附件/特定类型附件 流程设计: Get outlook mail message设置: For each(对每封邮件循环): 两个Assign: For each ...

  5. 使用JavaMail实现监控邮箱重要邮件并获取附件保存

    使用JavaMail实现监控邮箱重要文件并将附件保存 需求描述 技术储备 实现代码 需求描述 系统需要监控阿里云企业邮箱的收件信息,发现Dev发送过来的邮件,且附件名称满足一定格式要求的,我们需要将附 ...

  6. python应用系列教程——python使用smtp协议发送邮件:html文本邮件、图片邮件、文件附件邮件

    全栈工程师开发手册 (作者:栾鹏) python教程全解 python使用smtp协议发送电子邮件.包含发送html文本邮件.包含图片附件的邮件,包含其他文件附件的邮件.可设置邮件的收发人,主题,内容 ...

  7. python 发送邮件 普通邮件 HTML 发送带附件 群发邮件

    我是一个测试工程师,在做自动化时,会写一些自己用的好的工具,目前有一些现成的工具,自己用着,不是大材小用,就是不符合实际需求,这次整理一个发送邮件的脚本. 文章目录 1. smtplib 与 emai ...

  8. java 发送附件_Java 基于javaMail的邮件发送(支持附件)

    基于JavaMail的Java邮件发送 Author xiuhong.chen@hand-china.com Desc 简单邮件发送 Date 2017/12/8 项目中需要根据物料资质的状况实时给用 ...

  9. Java 基于javaMail的邮件发送(支持附件)

    基于JavaMail的Java邮件发送 Author xiuhong.chen@hand-china.com Desc 简单邮件发送 Date 2017/12/8 项目中需要根据物料资质的状况实时给用 ...

  10. python练习_邮件定时收取处理附件后发送结果

    """第一步定时执行 ok 第二步收取邮件 ok 第三步数据转换 ok 第四步邮件派发 ok""" -- coding: utf-8 -- ...

最新文章

  1. 设计模式学习笔记(十六:桥接模式)
  2. 原码、反码、补码的产生、应用以及优缺点有哪些?
  3. fzu - 2164 Jason's problem
  4. 那几个题(没懂的地方留言)
  5. 【STM32】FreeRTOS简介
  6. 【JDK源码】java.io包常用类详解
  7. Docker 基础技术之 Linux namespace 源码分析
  8. TypeScript里的工具类型Partial的用法
  9. java面试题:集合_Java:选择正确的集合
  10. Zabbix监控多个JVM进程
  11. vs entityframwork Validation failed for one or more entities
  12. APP推广渠道十种精华方法
  13. uniapp中canvas将矩形图片绘制成圆形图片以及保存canvas到手机
  14. mac解锁+卸载软件步骤
  15. docker 更改阿里云镜像
  16. 2020-03-10
  17. 【亲测有效】解决PPT里多个图片无法使用组合功能
  18. java机顶盒_Java技术在数字电视机顶盒中的应用
  19. Swig在windows下的使用流程
  20. 人工智能基础(高中版)教材补充和资源分享

热门文章

  1. tomcat按日期分割日志(官网文档推荐实现)
  2. selenium-绕过登录
  3. 利用服务端session保存用户信息
  4. W,b的初始化和几种激活函数
  5. virtual studio 2017 配置vistual assist激活
  6. NSDate 时间戳与字符串转换
  7. 看了一个大牛的博客,发现了一个很好的文章-初学PHP进
  8. URAL 1732. Ministry of Truth ( KMP 多模式串匹配 )
  9. undo log、rollback segment
  10. ElasticSearch全文搜索引擎之查询API操作详解