14

何が欠けているのかわからないので、Nodemailer の例を使用します。

var nodemailer = require("nodemailer");

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

// setup e-mail data with unicode symbols
var mailOptions = {
    from: "Fred Foo ✔ <foo@blurdybloop.com>", // sender address
    to: "bar@blurdybloop.com, baz@blurdybloop.com", // list of receivers
    subject: "Hello ✔", // Subject line
    text: "Hello world ✔", // plaintext body
    html: "<b>Hello world ✔&lt;/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
});

ユーザーを変更し、認証をGmailアカウント情報に渡し(値も試しました)、「to」メールアドレスを自分のメールアドレスに変更しました。私は得る:

{ [Error: connect ECONNREFUSED]
  code: 'ECONNREFUSED',
  errno: 'ECONNREFUSED',
  syscall: 'connect' }

私は何が欠けていますか?ドキュメントには、これ以上のことをする必要があるとは書かれていませんが、なぜうまくいかないのでしょうか? 前もって感謝します。

4

8 に答える 8

8

ファイアウォールの問題でした。コードに問題はなかったことがわかりました。エラー メッセージが何を意味するのか理解できませんでした。

于 2013-02-04T15:52:06.550 に答える
3

また、gmail アカウントを使用してメールを送信していました。nodemailer が適切に機能するには、Google からのアプリケーション固有のパスワードが必要になる場合があります。

https://support.google.com/mail/answer/1173270?hl=ja

于 2014-07-24T12:27:21.207 に答える
2

ECONNREFUSED は、これが何らかの接続またはファイアウォールの問題であることを示しています。

smtp.gmail.com のポート 465 に、同じマシンの他のアプリケーション (openssl など) で接続できますか?

openssl s_client -connect smtp.gmail.com:465
于 2014-07-06T03:19:17.753 に答える