Я пытаюсь настроить smtp-server
, но у меня проблемы с получением содержимого сообщения. Однако я получаю другие части сообщения.
Вот мой код, который прослушивает сообщения:
const SMTPServer = require("smtp-server").SMTPServer;
const server = new SMTPServer({
onData: function(stream, session, callback) {
console.log("received message");
stream.pipe(process.stdout);
stream.on("end", callback);
});
server.listen(9000);
А вот код, который отправляет электронное письмо:
const nodemailer = require("nodemailer");
let transporter = nodemailer.createTransport({
tls: { rejectUnauthorized: false },
host: "localhost",
port: 9000,
secure: false,
auth: {
user: account.user,
pass: account.pass,
}
});
let mailOptions = {
from: '"Fred Foo ?" <foo@example.com>',
to: "bar@example.com, baz@example.com",
subject: "Hello ✔",
text: "hi", // plain text body
html: "<b>Hello world?</b>"
};
transporter.sendMail(mailOptions)
Сообщение отправляется. Я могу читать from
и to
, используя объект сеанса. Я также получаю "получил" зарегистрирован в консоли, но поток пуст, а сообщения нет. Я попытался создать поток файлов вместо обычного текста в качестве опции почты, но безуспешно.
Есть идеи, что я делаю неправильно и как я могу прочитать сообщение в методе onData
?
Я следую этому уроку https://nodemailer.com/extras/smtp-server/#handling-authentication
РЕДАКТИРОВАТЬ : Мне удалось получить сообщение. Проблема была в том, что я отлаживал в моих предыдущих тестах. Кажется, что пакет истек или что-то подобное произошло. Есть ли способ изменить время ожидания?