Nodemailer直接传输被收件人电子邮件阻止

时间:2017-09-07 08:58:06

标签: node.js email dns smtp nodemailer

我正在使用nodemailer和直接传输来发送电子邮件。电子邮件已成功发送,但已被收件人的防火墙阻止间歇性,并且从未在收件人电子邮件收件箱中结束。

这是我的代码,它发送了nodemailer email:

var nodemailer = require('nodemailer'),
var transport = nodemailer.createTransport(sendmail());
var mailOptions = {
    to: 'recipient@email.com',
    from: 'Sender <sender@blah.com>',
    subject: 'Subject',
    html: 'html'
};
transport.sendMail(mailOptions, function(err, info) {});

当我将to更改为@gmail.com电子邮件时,我的邮件已发送完毕。我不确定收件人防火墙是如何配置的,但有没有办法让我增加电子邮件发送的机会?

请注意,blah.com,我发出的from电子邮件域实际上并不是注册域名。我在localhost上托管了我的服务器。可以在AWS上托管,注册域blah.com并添加MX记录会以某种方式增加我的电子邮件发送的机会吗?

1 个答案:

答案 0 :(得分:0)

这是从像blah.com这样的域发送邮件时经常发生的事情,

  1. 发送邮件
  2. &#34;来解决&#34; smtp服务器获取邮件
  3. 检查blah.com的spf记录和邮件的dkim签名
  4. 如果blah.com dns包含spf记录,允许您代表该域发送,则通过第一次测试。
  5. 如果您的邮件使用dkim正确签名,则通过第二次测试
  6. 然后smtp服务器检查您的发送IP是否已被列入黑名单以进行垃圾邮件,如果不是,则通过第三次也是最后一次测试。
  7. 如果所有邮件参数都在订单中,那么它会将邮件转发给收件人。
  8. 在您的情况下会发生的情况是未设置第3步,因此您无法成功发送邮件。使用第三方服务发送邮件要容易得多,因为他们几乎牵着整个过程并为您签署所有邮件。

    因此,您需要自己实施这些标准,或者需要使用第三方来提高您的可传递性。