2016-05-18 29 views
0

私は単純なメーラーを書くだけで、(テスト目的のために)いくつかのテキストをnodemailerで送信しようとしています。私がうまく理解すれば、それはsmtpかdirectによってメールを送るかもしれません。最初はDIRECTメソッドで送付したいと思います。非常に単純なnodemailer(node.js)でメールを直接送信する方法は?

次のコード:

var nodemailer = require('nodemailer'); 

var transporter = nodemailer.createTransport({direct:true, 
    host: 'smtp.yandex.ru', 
    port: 465, 
    auth: { 
     user: '[email protected]', 
     pass: 'password' }, 
    secure: true 
}); 

var mailOptions = { 
    from: '[email protected]', 
    to: '[email protected]', 
    subject: 'Hello', 
    text: 'This is auto mail sending' 
}; 

transporter.sendMail(mailOptions, function (error, info) { 
    if(error) { 
     return console.log(error); 
    } 
    console.log("Message sent "+info.response) 
}); 

しかし、私は次のエラーを持っているが:

{ Error: Sending failed 
at QueryReqWrap.asyncCallback [as callback] (dns.js:65:16) 
at QueryReqWrap.onresolve [as oncomplete] (dns.js:216:10) 
    errors: 
    [ { Error: queryMx ENOTFOUND mail.ru 
    at errnoException (dns.js:28:10) 
    at QueryReqWrap.onresolve [as oncomplete] (dns.js:216:19) 
    code: 'ENOTFOUND', 
    errno: 'ENOTFOUND', 
    syscall: 'queryMx', 
    hostname: 'mail.ru' } ] } 

それが何を意味するのでしょうか?それを修正するには?ノードに 'mail.ru'は表示されませんか?どうして?

答えて

0

mail.ruのMXレコードが見つからないようです。しかし、それは存在するようです。 https://toolbox.googleapps.com/apps/dig/#MX/mail.ru

このマシンではDNSが正しく設定されていますか?あなたはそのマシンからそれを掘り起こすことができますか?

+0

おそらく、MXのメールで何か問題があると思います。しかし、私はにコードを変更する "へ: '[email protected]'、" 私のGoogleのメールと: へ: '[email protected]'、 は、私はnslookupコマンドでMXチェック: C:\ユーザー\ Alex> nslookup -type = mx gmail.com ╤хЁтхЁ:srv-s10-dc1.billing.ru 住所:172.30.0.14 gmail.com.net.billing.ru MX環境設定= 10、メールエクスチェンジャー= smtp .net.bi lling.ru これは大丈夫ですか? ....... コード: 'ENOTFOUND'、 のerrno: 'ENOTFOUND'、 システムコール: 'queryMx'、 ホスト名: 'gmail.com'} - 私は私のプログラムを起動したときでも同じエラーを受信しました]} – Alexander

+0

電子メールでドメインを使用し、MXルックアップの失敗を無視する方法を指定するにはどうすればよいですか?これは、MXレコードを持つことができないが、メールを受け入れる内部サーバーの場合です。 – Michael