.msg文件,outlook邮件的一种保存方式

方式一:使用win32com库,不过要安装outlook才行

import win32com.client
import os def get_attachments(file_dir, dst_dir):
"""
获取.msg文件内的附件
:param file_dir: .msg文件路径
:param dst_dir: 附件存放目录
:return: None
"""
outlook = win32com.client.Dispatch("Outlook.Application").GetNamespace("MAPI")
msg = outlook.OpenSharedItem(file_dir)
'''
print(msg.SenderName)
print(msg.SenderEmailAddress)
print(msg.SentOn)
print(msg.To)
print(msg.CC)
print(msg.BCC)
print(msg.Subject)
print(msg.Body)
'''
count_attachments = msg.Attachments.Count
attachments = msg.Attachments
if count_attachments > 0:
# for item in range(count_attachments):
# print(msg.Attachments.Item(item + 1).Filename) # 循环输出附件名
for att in attachments:
att.SaveAsFile(os.path.join(dst_dir, att.FileName)) del outlook, msg # 释放资源

方式二:使用extract_msg库

import extract_msg

file_name = r"E:\test\test_email.msg"
msg = extract_msg.Message(file_name)
"""
print(msg.subject)
print(msg.cc)
print(msg.bcc)
print(msg.sender)
print(msg.to)
print(msg.path)
print(msg.attachments)
print(msg.date)
print(msg.body)
print(msg.htmlBody)
"""
for attachment in msg.attachments:
attachment.save(customPath='E:/test')

  

最新文章

  1. js学习笔记9----时间操作
  2. Dapper学习笔记(4)-事务
  3. 转:Configure your eclipse for C++
  4. string find
  5. .net中对象序列化技术浅谈
  6. xml文件有误
  7. java.sql.SQLException: Io 异常: Connection reset
  8. js 获取当天23点59分59秒 时间戳 (最简单的方法)
  9. C#基础篇03
  10. 2016-3-6.16:43------------js开始
  11. 微信创建带参数二维码并加上logo
  12. HDU 2203 亲和串(KMP)
  13. jsp去除空行的web.xml配置
  14. Unity中的基础光照
  15. Linux - quota的举例说明
  16. SQLserver 获取当前时间
  17. 心路历程(一)-自学java两个月心得
  18. day16 python之匿名函数,递归函数
  19. 【原创】大数据基础之Logstash(3)应用之file解析(grok/ruby/kv)
  20. Xamarin Essentials教程陀螺仪Gyroscope

热门文章

  1. k8s安装gitlab-ce
  2. AR设备使用Vuforia的优化
  3. 制作 macOS U盘USB启动安装盘方法
  4. 面试题 --MySQL索引
  5. jmeter接口之json提取器应用
  6. gcc_to_use
  7. 禁止Edge升级
  8. Robot-Framework 基础操作和常用的语法
  9. open-local部署和使用
  10. 掌控安全学院SQL注入靶场-布尔盲注(一)