我正在寻找一个可以解析我的IMAP请求的node.js模块 - FETCH 1 BODY [TEXT]。我需要多部分解析器,因为我在层次结构中有几个级别的消息。
消息示例:
--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--)
答案 0 :(得分:0)
使用mailparser,我们可以将电子邮件的来源解析为结构化对象。它支持多部分级别 - 因此html / text / attachments将保留在对象中,我们可以在属性中找到它们。
使用此lib - emailjs-mime-builder,我们可以构建RFC消息。 (支持多部分)。
示例:
var rootNode = new MimeBuilder("multipart/mixed"),
childNodeTxt = rootNode.createChild("text/plain").setContent("Text");
childNodeHtml = rootNode.createChild("text/html").setContent("<h1>HTML</h1>");
rootNode.build()
附件 - 使用“标题”和“内容”属性,我们可以构建附件节点。