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

  

python下载.msg文件的附件的更多相关文章

  1. python下载网络文件

    python下载网络文件 制作人:全心全意 下载图片 #!/usr/bin/python #-*- coding: utf-8 -*- import requests url = "http ...

  2. Python 下载超大文件

    使用python下载超大文件, 直接全部下载, 文件过大, 可能会造成内存不足, 这时候要使用requests 的 stream模式, 主要代码如下 iter_content:一块一块的遍历要下载的内 ...

  3. python下载大文件

    1. wget def download_big_file_with_wget(url, target_file_name): """ 使用wget下载大文件 Note: ...

  4. 如何Python下载大文件?

    我想用python脚本下载很多文件,但是经常就有那么几个出错,写了个error handling,跳了过去,但是把出错的链接保存了一下. 转过天来,研究了一下出的什么错. 一个报错如下: PS C:\ ...

  5. python 下载大文件

    当使用requests的get下载大文件/数据时,建议使用使用stream模式. 当把get函数的stream参数设置成False时,它会立即开始下载文件并放到内存中,如果文件过大,有可能导致内存不足 ...

  6. python 下载.whl 文件,查看已安装软件包方法

    下载地址       https://www.lfd.uci.edu/~gohlke/pythonlibs/ 另一个Python packages地址为    https://pypi.org/ 下载 ...

  7. [转] 三种Python下载url并保存文件的代码

    原文 三种Python下载url并保存文件的代码 利用程序自己编写下载文件挺有意思的. Python中最流行的方法就是通过Http利用urllib或者urllib2模块. 当然你也可以利用ftplib ...

  8. 浅谈odoo 后台与前端文件(附件)的存储与下载

    odoo 后台与前端文件(附件)存储与下载实现 笔记太多了很乱,想想还是写博客的好,慢慢更 当然了,前提是你已经配好了odoo开发环境 一.odoo后台界面实现附件的上传和下载 1).在应用中搜索下图 ...

  9. 使用Python下载工具you-get下载媒体文件

    You-Get是一个基于 Python 3 的下载工具.使用 You-Get 可以很轻松的下载到网络上的视频.图片及音乐. 使用you-get下载媒体文件 1.安装Python(步骤详情见另一篇文章) ...

  10. 基于Python——实现远程下载sftp文件(只下载.zip文件)

    [背景]远程下载发布包等文件时,总是要使用WinSCP等工具登陆拖动.今天就介绍一种使用python下载文件到本地的方法. [代码实现] import paramiko # paramiko模块,基于 ...

随机推荐

  1. function 和mapped function的区别

    1 --在函数定义上使用mapped前缀将此函数标记为自动映射到集合上.这意味着,如果将集合作为函数的第一个参数,则该函数将在集合的元素上自动重复调用.这允许您定义脚本化函数,这些函数的行为方式与映射 ...

  2. python调用golang代码

    一.调用步骤: 将go代码编译成so库 -> python中通过ctypes引用so库并指定需要调用的函数(同时可指定传入参数类型和返回值类型) -> 指定后按python使用函数方式调用 ...

  3. el-tree 点击父级或者父级的checkbox,展开所有子集

    <el-tree :data="authData" show-checkbox :check-strictly="true" :check-on-clic ...

  4. C# 生成二维码方法(QRCoder)

    前言 二维码很多地方都有使用到.如果是静态的二维码还是比较好处理的,通过在线工具就可以直接生成一张二维码图片,比如:草料二维码. 但有的时候是需要动态生成的(根据动态数据生成),这个使用在线就工具就无 ...

  5. JSR 133

      JSR 133是Java语言规范的一个JSR(Java Specification Request),全称为Java Memory Model and Thread Specification R ...

  6. Didn't find class "org.apache.http.ProtocolVersion

    使用volley时报"Didn't find class "org.apache.http.ProtocolVersion" 今天在运行签名好的apk 在android9 ...

  7. Java基础——IO设计模式总结

  8. C#消息泵探索(二)

    ​ 引言: 上篇文章里简单的解释了C#的消息泵原理,这里我们以winform为例详细地了解一下实现代码. 底层实现 [DllImport(ExternDll.User32, ExactSpelling ...

  9. docker之安装tomcat

    国内Image仓库地址:https://hub.docker.com/search?q=tomcat 安装tomcat docker pull tomcat 查看Image docker images ...

  10. HybridCLR热更新方案

    Hybrid指的是混合开发,CLR指的是公共语言运行库(Common Language Runtime)->托管代码执行核心中的引擎.前身叫做huatuo git示例项目地址为https://g ...