我正在尝试设置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
编辑:我能够收到该消息。问题是我在以前的测试中正在调试。似乎程序包超时或发生了类似的情况。有什么办法可以更改超时时间?