无法使用smtp服务器接收消息数据

时间:2019-03-26 20:45:23

标签: node.js smtp nodemailer

我正在尝试设置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)

消息正在发送。我可以使用会话对象读取fromto。我也收到“已接收”登录到控制台的消息,但是流为空,消息不存在。我尝试创建文件流而不是纯文本作为邮件选项,但没有成功。

有什么主意我在做错什么,如何在onData方法中读取消息? 我正在关注本教程https://nodemailer.com/extras/smtp-server/#handling-authentication

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

0 个答案:

没有答案