我正在使用andris(https://github.com/andris9/mailparser)的mailparser。我正在通过redis向nodejs应用发送电子邮件。 somereason的mailparser无法解析它。可能导致这个问题的原因是什么?
从redis获取电子邮件的代码。 client
是node_redis客户端的实例。 MailParser是andris的mailparser。 redis中的电子邮件通过另一台服务器发送到我订阅的频道。发送的电子邮件,当保存在文本文件中并使用andris'test.js进行解析时,会给出预期的输出。
client.subscribe('email1');
client.on('message', function(channel, message){
var Parser = new MailParser();
Parser.on('headers', function(headers){
console.log(headers.addressesTo[0].address);
});
Parser.feed(message);
Parser.end();
});
我找到了原因。我看到的输入已经\ r \ n转换为\ n
答案 0 :(得分:2)
而不是
Parser.feed(message);
我相信你想要
Parser.write(message);
我在文档中找不到 feed 方法。我正在使用写功能,它正在工作。该邮件是原始未更改的电子邮件,包括标题,正文和附件。