EmlParse:一款超轻量级的批量解析EML格式电子邮件的工具
工具特点
1、绿色纯天然,无任何依赖库,文件大小不到150K;
2、可批量解析EML格式的电子邮件;
3、可提取EML文件中的正文和附件到指定目录;
4、可生成HTML格式的邮件列表清单,方便用户进行离线阅读;
5、可生成JSON格式的邮件列表清单,方便用户进行二次开发;
6、基于命令行参数的执行程序,可方便集成到第三方程序中使用;
7、无需安装任何客户端软件即可阅读邮件;
使用方法
EmlParse EML_PATHFILE [-folder] -o OUT_FOLD
EML_PATHFILE:EML格式的文件路径,如果指定-folder,则该参数是一个目录,用于导出整个目录中的EML文件。
-o:用于指定EML解析后输出的目录,如果不指定,则导出到当前目录下。
1、将指定EML格式文件解析到指定目录
EmlParse c:/temp.eml -o c:/mailout
将C盘的temp.eml文件解析到C盘的mailout目录中。
2、将指定目录中的EML格式文件解析到指定目录
EmlParse c:/emlfolder -folder -o c:/mailout
-folder参数用于指定导出的是目录。
将C盘的emlfolder中所有EML格式文件解析到C盘的mailout目录中。
输出内容
1、邮件正文和附件
该工具会在指定的输出目录(-o指定的参数)中创建一个与邮件文件名相同的子目录,并将该邮件的正文和附件解析到该子目录中。邮件的正文文件名以"body"作为前缀,通常包括两个正文,一个是HTML格式,一个是纯文本的txt格式。附件文件以实际的文件名进行保存。除上述文件外,电子邮件中还会包含一些内嵌资源文件,比如图片,这些内嵌资源主要在HTML格式的正文中显示。
2、邮件清单(HTML格式)
该工具会在指定目录中生成一个maillist.html的文件,该文件包含导出的邮件的概要信息,包括:发件人、主题、发送日期、以及附件清单,该列表以日期的降序排列。如下图:
点击主题可查看邮件具体内容。
3、邮件清单(JSON格式)
该工具除生成HTML文件外,还会生成一个同名的JSON格式文件maillist.json,JSON格式如下:
{
"list": [{
"file": "电子邮件文件名.eml",
"from": "发件人",
"subject": "邮件主题",
"to": "收件人"
"cc": "抄送人",
"date": "Wed, 19 Oct 2016 11:19:46 +0800 (CST)",
"time": 1476847186,
"html": "邮件正文文件.html",
"text": "邮件正文文件.txt",
"attachment": ["附件1.pptx", "附件2.doc"],
}]
}
【字段说明】
list: 对象数组,里面是所有邮件解析后的列表,详情如下;
file: 解析的电子邮件文件名;
from: 发件人的电子邮件地址;
to: 收件人电子邮件地址,如果存在多个,则会用","进行分割;
cc: 抄送人电子邮件地址,如果存在多个,则会用","进行分割;
date: 邮件发送日期,字符串格式;
time: 邮件发送日期,整形格式;
html: HTML格式的邮件正文文件名称;
text: TXT格式的邮件正文文件名称;
attachment: 附件文件数组;
第三方用户可以根据该文件编写自己的邮件列表显示界面,并进行邮件管理等工作。
如何接收和解析邮件可参考如下文章
POP3:基于命令行的电子邮件(EMail)在线查看和批量下载工具
POP3协议(电子邮件邮局协议)中UIDL和TOP命令在实际使用中的作用
如何解析EML(邮件)格式的文件以及一款小巧的EML邮件阅读工具
EmlParse:一款超轻量级的批量解析EML格式电子邮件的工具的更多相关文章
- 分享自己的超轻量级高性能ORM数据访问框架Deft
Deft 简介 Deft是一个超轻量级高性能O/R mapping数据访问框架,简单易用,几分钟即可上手. Deft包含如下但不限于此的特点: 1.按照Transact-SQL的语法语义风格来设计,只 ...
- 超轻量级高性能ORM数据访问组件Deft,比dapper快20%以上
超轻量级高性能ORM数据访问组件Deft,比dapper快20%以上 阅读目录 Deft简介 Deft 核心类介绍 Deft 3分钟即可上手使用 其他可选的配置参数 性能测试 Demo代码下载 回到顶 ...
- spring boot实现超轻量级网关(反向代理、转发)
在我们的rest服务中,需要暴露一个中间件的接口给用户,但是需要经过rest服务的认证,这是典型的网关使用场景.可以引入网关组件来搞定,但是引入zuul等中间件会增加系统复杂性,这里实现一个超轻量级的 ...
- Asp反向代理程序,调用远程站点全站数据,一款脚本级反向代理程序.
前些天临时写的一脚本级反向代理程序,用法很简单,设置好目标站地址,然后放到你网站根目录:index.asp,再将404页面自定义为:index.asp,即可. 由于暂时没有 url 替换需要,所以没有 ...
- python批量解析域名a记录
#encoding:utf-8 import requests import json import dns.resolver import sys reload(sys) sys.setdefaul ...
- 基于Groovy+HttpRestful的超轻量级的接口测试用例配置的设计方案及DEMO实现
目标 设计一个轻量级测试用例框架,接口测试编写者只需要编写测试用例相关的内容(入参及结果校验),不需要理会系统的实现,不需要写跟测试校验无关的内容. 思路 测试用例分析 一个用例由以下部分组成: (1 ...
- Uboot中start.S源码的指令级的详尽解析
Uboot中start.S源码的指令级的详尽解析 https://www.crifan.com/files/doc/docbook/uboot_starts_analysis/release/html ...
- 跨平台移动开发 Xuijs超轻量级的框架 Dom与Event简洁代码实现文本展开收起
Dom与Event简洁代码实现文本展开收起 Xuijs超轻量级的框架 Dom与Event实现文本展开收起 效果图 示例代码 <!DOCTYPE html PUBLIC "-//W3C/ ...
- 跨平台移动开发 Xuijs超轻量级的框架+Emile CSS动画
Xuijs超轻量级的框架+Emile CSS动画效果图 示例代码 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional// ...
随机推荐
- 解决metasploit的module load fail
解决metasploit的module load fail 在exploits文件夹下面新建一个文件夹test 把你要用的rb文件放进去 reload_all 就行了
- 《前端运维》二、Nginx--3静态资源服务、跨域与其他
一.静态资源服务 首先,静态资源一般是指客户端发送请求到Web服务器,web服务器从内存中取得相应的文件,返回给客户端,客户端解析并渲染出来.动态资源呢,则是由客户端发起请求,先交由web容器,web ...
- 从零开始,开发一个 Web Office 套件(14):复制、粘贴、剪切、全选
这是一个系列博客,最终目的是要做一个基于 HTML Canvas 的.类似于微软 Office 的 Web Office 套件(包括:文档.表格.幻灯片--等等). 博客园:<从零开始, 开发一 ...
- 使用 JDBC 操作数据库时,如何提升读取数据的性能?如 何提升更新数据的性能?
要提升读取数据的性能,可以指定通过结果集(ResultSet)对象的 setFetchSize() 方法指定每次抓取的记录数(典型的空间换时间策略):要提升更新数据的性能 可以使用 PreparedS ...
- java 中有几种方法可以实现一个线程?
继承 Thread 类 实现 Runnable 接口 实现 Callable 接口,需要实现的是 call() 方法
- Formatter和IStandardConversionService的使用方式
Thymeleaf 1.Formatter接口是当进行请求参数的封装时,会根据Formatter的泛型进行调用Parse方法进行格式化类型 2.IStandardConversionService是T ...
- 【动态规划】洛谷P1802 5 倍经验日(01背包问题)
一个洛谷普及-的题目,也是我刚刚入门学习动态规划的练习题. 下面发一下我的思路和代码题解: 我的思路及伪代码: 我的AC图: 接下来上代码: 1 //动态规划 洛谷P1802 五倍经验日 2 #inc ...
- 使用Dropbox搭建静态网站详细教程
DropBox是一款非常好用的免费网络文件同步工具,是Dropbox公司运行的在线存储服务,通过云计算实现因特网上的文件同步,用户可以存储并共享文件和文件夹.今天小z和大家分享一下如何使用dropbo ...
- java中抽象类和抽象方法到底什么关系?请举例说明!
抽象类和抽象方法什么关系?抽象类中可能有抽象方法,也可能没有抽象方法.那位说,就跟没说一样,那抽象类和抽象方法都叫抽象,他们必定有关系,那关系是什么呢?如果一个类中有抽象方法,它必须得是抽象类. An ...
- java中请给出例子程序:找出两个数的最大公约数和最小公倍数
9.2 找出12和8的最大公约数和最小公倍数. public class Test { public static void main(String[] args) { ...