nodejs, redis и mailparser не будут анализировать электронную почту
Я использую mailparser от andris ( https://github.com/andris9/mailparser). Я отправляю письмо через Redis в приложение nodejs. Почтовый анализатор по какой-то причине не может его проанализировать. Что может быть причиной проблемы?
Код для получения электронного письма от Redis. client
является экземпляром node_redis Client. MailParser является почтовым парсером andris. Письмо в 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
1 ответ
Вместо
Parser.feed(message);
Я верю что ты хочешь
Parser.write(message);
Я не смог найти метод подачи в документации. Я использую функцию записи, и она работает. Сообщение является исходным неизмененным сообщением электронной почты, включая заголовки, текст и вложения.