主题内容未定义

时间:2014-08-19 06:26:49

标签: javascript node.js email parsing

使用mailparser时遇到一个小问题。当我试图查看主题内容时,它会显示undefined。 我的代码看起来像这样:

var fs = require("fs");
var socket = fs.createWriteStream('./outputmail.eml');
socket.on("end",function()
{
    connection.loginfo("end------->");
});
connection.transaction.message_stream.pipe(socket, {}); // haraka related
var mailparser = new MailParser();
mailparser.on("end", function(mail_object){
    connection.loginfo("----------SUBJECT-------------------->:", mail_object.subject);
});
fs.createReadStream("./outputmail.eml").pipe(mailparser);

我在Haraka使用mailparserhttp://haraka.github.io)。这样做的重点是,我想解析收到的每封邮件,并在邮件正文中添加横幅/图片/内容。如果你知道为什么会出现这个消息,请告诉我。

1 个答案:

答案 0 :(得分:1)

如果这是代码,则可能在写入之前开始读取文件。由于库都支持流,您应该能够将message_stream直接传递给mailparser,即

var mailparser = new MailParser();
mailparser.on("end", function(mail_object) {
  console.log(mail_object);
});
connection.transaction.message_stream.pipe(mailparser, {});

另一个原因当然是电子邮件中没有主题。