使用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使用mailparser
(http://haraka.github.io)。这样做的重点是,我想解析收到的每封邮件,并在邮件正文中添加横幅/图片/内容。如果你知道为什么会出现这个消息,请告诉我。
答案 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, {});
另一个原因当然是电子邮件中没有主题。