MIME电子邮件多部分分析器

我正在寻找一个node.js模块,可以parsing我的IMAP请求 – FETCH 1 BODY [TEXT]。 我需要多部分分析器,因为我有层次结构中级别很less的消息。

消息示例:

--94eb2c032ec81bf420053483f579 Content-Type: multipart/alternative; boundary=94eb2c032ec81bf411053483f577 --94eb2c032ec81bf411053483f577 Content-Type: text/plain; charset=UTF-8 test --94eb2c032ec81bf411053483f577 Content-Type: text/html; charset=UTF-8 <div dir="ltr">test</div> --94eb2c032ec81bf411053483f577-- --94eb2c032ec81bf420053483f579 Content-Type: image/x-icon; name="favicon.ico" Content-Disposition: attachment; filename="favicon.ico" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ip2cdokt0 AAABAAEAEA8AAAEAIA... THIS IS ATTACHMENT ...A8AcAAPw/AAA= --94eb2c032ec81bf420053483f579--) 

通过mailparser,我们可以将电子邮件的来源parsing为结构化对象。 它支持多部分级别 – 所以HTML /文本/附件将保留在对象中,我们可以在属性中find它们。

有了这个lib – emailjs-mime-builder,我们可以构buildRFC消息。 (支持多部分)。

例:

 var rootNode = new MimeBuilder("multipart/mixed"), childNodeTxt = rootNode.createChild("text/plain").setContent("Text"); childNodeHtml = rootNode.createChild("text/html").setContent("<h1>HTML</h1>"); rootNode.build() 

附件 – 我们可以使用“标题”和“内容”属性来构build附件节点。