2017-09-07 49 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步不設置,因此你無法成功發送郵件。使用第三方服務發送郵件會容易得多,因爲它們幾乎牽涉整個過程,併爲您簽署所有消息。

因此您需要自己實施這些標準或需要使用第三方來提高您的產能。