使用 nodemailer 从托管在 hostmonster 上的 SMTP 服务器发送的电子邮件未交付给收件人

Emails sent from SMTP server hosted on hostmonster using nodemailer are not delivering to the recipients

我们的 SMTP 服务器托管在 hostmonster 上。我们正在使用 nodemailer 从我们的应用程序向用户发送电子邮件。我面临的问题是,我从 SMTP 服务器收到 250 OK 响应,但电子邮件没有发送给用户。我正在使用 hostmonster 提供的确切电子邮件配置。 我们的 nodemailer 配置是:

var mailTransporter = nodemailer.createTransport({
host: "mail.domain.com",
port: 456,
secure: true,
auth: {
  user: "account@domain.com",
  pass: "password"
},
tls: {
        rejectUnauthorized: false,
     },
});

我得到的回复:

{ accepted: [ 'email@domain.com' ],
  rejected: [],
  envelopeTime: 899,
  messageTime: 315,
  messageSize: 3464,
  response: '250 OK id="someid"',
  envelope:
   { from: 'account@domain.com',
     to: [ 'email@domain.com' ] },
  messageId: '<some-id@domain.com>' }

我希望电子邮件能够送达用户(收件人),但没有送达。 你们中的任何人都可以验证我的 nodemailer 配置吗?我的 nodemailer 配置有问题吗?或 hostmonster 方面是否有任何问题?

原来,我需要向 createTransport() 配置添加 "name" 选项。名称应该是域,即 "www.domain.com".

var mailTransporter = nodemailer.createTransport({
name: "www.domain.com",
host: "mail.domain.com",
port: 456,
secure: true,
auth: {
  user: "account@domain.com",
  pass: "password"
},
tls: {
        rejectUnauthorized: false,
     },
});

参考:https://github.com/nodemailer/nodemailer/issues/677