MailParser,在解析标题后停止

时间:2015-04-15 07:17:37

标签: node.js

我正在使用MailParser来解析收到的邮件。它分两步完成:

  1. 分析(弄清楚如何处理电子邮件)和
  2. 根据分析结果以不同的方式处理。
  3. 对于分析步骤,我不需要解析任何实体或附件,只需要标题。

    MailParser有这个方便的事件:

    mailparser.on("headers", function(headers) {
        console.log(headers.received);
    })
    

    有没有办法在这里打破执行?在我的用例中,在此之后,MailParser不需要花费任何CPU周期。

    由于

1 个答案:

答案 0 :(得分:1)

我现在正在查看他们的源代码,他们没有实现这样做的方法,看看他们的_process function

因为它是异步的,所以当您收到headers事件时,它可能已经在mailparser的处理流程的下游。

你可以做的是分叉他们的代码并添加一个钩子,在解析头文件时暂停流程,并且只有当你的钩子允许时才继续,这不应该太难。

如果你设法以干净的方式进行并为其添加一些测试,你也可以打开一个pullrequest给他们,因为我相信它对其他人也有用!

您还可以在将信封传递给mailparser之前手动解析标题,因为标题通过\r\n\r\n与正文分隔,很容易找到并解析它们。