2016-06-25 8 views
1

私のGmailアカウントを使用して、ユーザーのメールにsmtpアラートメッセージを送信していました。例、登録またはアカウントがブロックされています。私はnodemailerを使用していて、電子メールは1回の失敗なしに正常に送信されました。以下は私のコードです。エラー:ECONNREFUSEDに接続127.0.0.1:465 nodemailer

var nodemailer = require("nodemailer"); 

// create reusable transport method (opens pool of SMTP connections) 
var smtpTransport = nodemailer.createTransport("SMTP",{ 
    service: "Gmail", 
    auth: { 
     user: "[email protected]", 
     pass: "userpass" 
    } 
}); 

// setup e-mail data with unicode symbols 
var mailOptions = { 
    from: "Fred Foo ✔ <[email protected]>", // sender address 
    to: "[email protected], [email protected]", // list of receivers 
    subject: "Hello ✔", // Subject line 
    text: "Hello world ✔", // plaintext body 
    html: "<b>Hello world ✔</b>" // html body 
} 

// send mail with defined transport object 
smtpTransport.sendMail(mailOptions, function(error, response){ 
    if(error){ 
     console.log(error); 
    }else{ 
     console.log("Message sent: " + response.message); 
    } 

    // if you don't want to use this transport object anymore, uncomment following line 
    //smtpTransport.close(); // shut down the connection pool, no more messages 
}); 

ちょうど昨日、私の@mydomainアカウントにビジネスアカウントのGoogleのためにサインアップし、問題がある

var smtpTransport = nodemailer.createTransport("SMTP",{ 
    service: "Gmail", 
    auth: { 
     user: "[email protected]", 
     pass: "userpass" 
    } 
}); 

あるビジネスメールのための私の新しいGoogleでGmailを置き換える、それは送信されません。新しいアカウントを持つメール。それはむしろ、私のコンソールにタイトルのエラーを返しました。私は新しいアカウントのセキュリティを変更して、安全性の低いアプリケーションをGoogleコンソールからすべて利用できないようにしました。このエラーはどういう意味ですか?また、私の電子メールのユーザー名とパスワードが使用されていることを考慮すると、これが最善の選択肢ですか?最高の成果はどうですか?どんな助けもありがとう。

+0

ノードmailerは明らかにGoogleのメールサーバーではないlocalhost(127.0.0.1)に接続しようとしています。それは輸送設定に何か間違っていることを意味するでしょう。この 'nodemailer.createTransport( 'smtps://user%40gmail.com:[email protected]'); ' – Molda

+0

@Moldaありがとうございました。あなたのソリューションはgmail.comアカウントで動作します。電子メールを '@ mydomain.com'に置き換えると失敗します。上記のエラーが表示されます。私は混乱している、私はそれが両方のGoogleアカウントを考慮して動作することを期待していた。 –

+0

smtp.gmail.comをsmtp.mydomain.comに変更することはありませんか? – Molda

答えて

4

ありがとうございます。以下は私のために働くものです。

var smtpConfig = { 
    host: 'smtp.gmail.com', 
    port: 465, 
    secure: true, // use SSL 
    auth: { 
     user: '[email protected]', 
     pass: '[email protected]' 
    } 
}; 
var transporter = nodemailer.createTransport(smtpConfig); 

に変更

nodemailer.createTransport('smtps://user%myDomain.com:[email protected]'); 

私は、doc https://github.com/nodemailer/nodemailerに上記の例を見つけました。あなたのパスワードがuとsmtpsリンクを考慮して@シンボルを含んでいた場合、これが起こった可能性があります。そのため、あなたのsmtpsのURLを妨害する@記号のないオブジェクトに分割することをお勧めします。これは私の推測だと思う。それにもかかわらず、上記の解決策は私のために働く。また、安全性の低いアプリをGoogleコンソールから許可することを忘れないでください。

関連する問題