web-dev-qa-db-ja.com

「{エラー:無効なログイン:535-5.7.8ユーザー名とパスワードが受け入れられません。」というエラーが表示されます。 Node JSからのモジュールnodemailerでメールを送信しようとすると

私はNode jsの新人で、例のようなメッセージを他の電子メールに送信してみます。linuxからターミナルでファイルを実行すると、次のエラーが発生します。

root@me:/home/memee/Desktop/test/NodeJS/mail# nano example.js
root@me:/home/memee/Desktop/test/NodeJS/mail# node example.js
{ Error: Invalid login: 535-5.7.8 Username and Password not accepted. Learn more at
535 5.7.8  https://support.google.com/mail/?p=BadCredentials 77-v6sm41437784pga.40 - gsmtp
    at SMTPConnection._formatError (/home/memee/Desktop/test/NodeJS/mail/node_modules/nodemailer/lib/smtp-connection/index.js:606:19)
    at SMTPConnection._actionAUTHComplete (/home/memee/Desktop/test/NodeJS/mail/node_modules/nodemailer/lib/smtp-connection/index.js:1335:34)
    at SMTPConnection._responseActions.Push.str (/home/memee/Desktop/test/NodeJS/mail/node_modules/nodemailer/lib/smtp-connection/index.js:366:26)
    at SMTPConnection._processResponse (/home/memee/Desktop/test/NodeJS/mail/node_modules/nodemailer/lib/smtp-connection/index.js:762:20)
    at SMTPConnection._onData (/home/memee/Desktop/test/NodeJS/mail/node_modules/nodemailer/lib/smtp-connection/index.js:558:14)
    at TLSSocket._socket.on.chunk (/home/memee/Desktop/test/NodeJS/mail/node_modules/nodemailer/lib/smtp-connection/index.js:510:47)
    at emitOne (events.js:116:13)
    at TLSSocket.emit (events.js:211:7)
    at addChunk (_stream_readable.js:263:12)
    at readableAddChunk (_stream_readable.js:250:11)
  code: 'EAUTH',
  response: '535-5.7.8 Username and Password not accepted. Learn more at\n535 5.7.8  https://support.google.com/mail/?p=BadCredentials 77-v6sm41437784pga.40 - gsmtp',
  responseCode: 535,
  command: 'AUTH PLAIN' }

私のエラーはログインであると理解していますが、私のパスワードと電子メールは正しいです。

私のコード:

var nodemailer = require('nodemailer');

var transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: '[email protected]',
    pass: 'here I put my password'
  }
});

var mailOptions = {
  from: '[email protected]',
  to: '[email protected]',
  subject: 'Sending Email using Node.js',
  text: 'That was easy!'
};

transporter.sendMail(mailOptions, function(error, info){
  if (error) {
    console.log(error);
  } else {
    console.log('Email sent: ' + info.response);
  }
});

ノードとnpmの私のバージョン:

root@me:~# node --version
v8.11.3
root@me:~# npm --v
6.1.0
root@me:~# 

私はこのチュートリアルを使用しました: tutorial

4
user9983619

メールとパスワードが一致しません。エラーメッセージを確認してください:response: '535-5.7.8 Username and Password not accepted.

あなたのコードのこの部分を見てください:

var transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: '[email protected]', // here use your real email
    pass: 'here I put my password' // put your password correctly (not in this question please)
  }
});

ユーザー名とパスワードでログインすると、メールを送信することができます。

このメールを送信するのに同じコードを使用しましたが、私の資格情報を使用します: I used the same code to send this email

2
jmsalcido

私は最近これに遭遇し、アカウントの 安全性の低いアプリ 設定に関連していました。

「ユーザーが安全性の低いアプリへのアクセスを管理できるようにする」を選択すると、問題が解決しました。

enter image description here

4
Richard A

https://www.google.com/settings/security/lesssecureapps で[安全性の低いアプリを許可する]をオンにします

3
m9m9m

私は以前に同じ問題をしたが、を削除した後'@gmail.com'ユーザー名からうまくいきました。
エラー'535-5.7.8 Username and Password not accepted'は、次の場合にのみ発生します。

  1. 資格情報が間違っています。
  2. 追加@gmail.comユーザー名に含めないでください。
  3. 2要素認証が有効になっています。はいの場合は、無効にします。
  4. https://myaccount.google.com/lesssecureapps オフの場合はオンにして、lesssecureappsを有効にします。
0
kartik tyagi

ユーザー名から「@ gmail.com」を削除します。

0
danmc