节点- 电子邮件- reply- parser
Willdurand/Email ReplyParser( 是一个 github/ email reply parser) 到节点的端口
willdurand的Github图书馆端口支持多种口语,并有一些增强的解析,因此被用作这个图书馆的模板.
安装
此软件包可见于 无数字 :
npm install node-email-reply-parser
说明: 此软件包是 ES6 兼容的, 而且确实 没有 自动转接.
使用量
var replyParser = require("node-email-reply-parser");
var email = replyParser(emailContent);
email 有两种主要方法:
getFragments(): 返回电子邮件的所有片段getVisibleText(): 返回被视为“ 可见” 的文本
getVisibleText() 接受可选选项对象:
getVisibleText({aggressive: true})
设置 aggressive 以真实的方式使解析器认为,任何未隐藏但前后均有被隐藏的碎片的碎片,都不应被看到。 这围绕客户端将被引用的文本分解为多行(如Gmail)的问题.
使用攻击性模式可能会丢失可见行, 可见行会与引用行相接, 但当解析例如来自“ replyby mail” 功能的电子邮件时.
碎片具有以下功能:
getContent(): 返回碎片的内容isSignature(): 返回碎片是否可能是签名isQuoted(): 返回碎片是否可能是引号isHidden(): 返回文本是否被视为“ 隐藏”isEmpty(): 返回碎片是否有任何内容
通过 true 作为第二个参数 replyParser 将返回值仅仅是可见的文本 :
$visibleText = replyParser($emailContent, true);
已知问题
剖析器无法取取出一些边缘大小写. 现概述如下.
引用标题
如果有额外的行间断,引号头不接:
On <date>, <author> wrote:
> blah
如果电子邮件客户端将其分解成多行,例如gmail和80列自动限制,他们也不会被接上:
On <date>, <author>
wrote:
> blah
奇怪的签名
以 - 或者说 _ 有时标记签名的开始:
Hello
--
Rick
不是每个人都遵守这项公约:
Hello
Mr Rick Olson
Galactic President Superstar Mc Awesomeville
GitHub
**********************DISCLAIMER***********************************
* Note: blah blah blah *
**********************DISCLAIMER***********************************
奇怪的引用
显然,前缀行 > 也不普遍:
Hello
--
Rick
________________________________________
From: Bob [[email protected]]
Sent: Monday, March 14, 2011 6:16 PM
To: Rick
单位测试
安装所需的依赖性 :
npm install --dev
运行测试 :
npm test
捐款
请见Controduction.md文件.
贷项
- GitHub - 解析邮件的神奇Ruby宝石
- 威廉·杜兰 威廉·杜兰德[email protected] - GitHub 的扩展 PHP 版本库
许可证
节点-email-reply-parser根据麻省理工学院许可发布. 详情请参见捆绑的LICENSE文件.