我正在使用MailParser来解析收到的邮件。它分两步完成:
对于分析步骤,我不需要解析任何实体或附件,只需要标题。
MailParser有这个方便的事件:
mailparser.on("headers", function(headers) {
console.log(headers.received);
})
有没有办法在这里打破执行?在我的用例中,在此之后,MailParser不需要花费任何CPU周期。
由于
答案 0 :(得分:1)
我现在正在查看他们的源代码,他们没有实现这样做的方法,看看他们的_process function。
因为它是异步的,所以当您收到headers
事件时,它可能已经在mailparser
的处理流程的下游。
你可以做的是分叉他们的代码并添加一个钩子,在解析头文件时暂停流程,并且只有当你的钩子允许时才继续,这不应该太难。
如果你设法以干净的方式进行并为其添加一些测试,你也可以打开一个pullrequest给他们,因为我相信它对其他人也有用!
您还可以在将信封传递给mailparser
之前手动解析标题,因为标题通过\r\n\r\n
与正文分隔,很容易找到并解析它们。