2017-09-07 43 views
0

我正在使用nodemailer和直接传输发送电子邮件。电子邮件已成功发送,但收件人的防火墙会间歇性地阻止,并且永远不会收到收件人电子邮件收件箱中。节点邮件直接传输被收件人电子邮件阻止

这里是我的代码,发送电子邮件nodemailer:

var nodemailer = require('nodemailer'), 
var transport = nodemailer.createTransport(sendmail()); 
var mailOptions = { 
    to: '[email protected]', 
    from: 'Sender <[email protected]>', 
    subject: 'Subject', 
    html: 'html' 
}; 
transport.sendMail(mailOptions, function(err, info) {}); 

当我改变我的to@gmail.com电子邮件,我的邮件是通过发送。我不确定接收者防火墙是如何配置的,但是有没有办法让我的电子邮件能够跨越?

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

回答

0

这是当一个邮件从像blah.com域发送通常会发生什么,

  1. 发送
  2. “以解决” SMTP服务器获取邮件
  3. 邮件它检查SPF记录blah.com和dkim邮件签名
  4. 如果blah.com dns包含spf记录,允许您代表该域名发送,则您通过第一次测试。
  5. 如果您的邮件与DKIM签妥你通过了第二次测试
  6. 然后SMTP服务器会检查您的发送IP已经被列入黑名单,发送垃圾邮件,如果不是你通过第三和最后的测试。
  7. 如果所有邮件参数都在订单中,则它会将邮件转发给收件人。

你的情况会发生什么事是,第3步不设置,因此你无法成功发送邮件。使用第三方服务发送邮件会容易得多,因为它们几乎牵涉整个过程,并为您签署所有消息。

因此您需要自己实施这些标准或需要使用第三方来提高您的产能。