3

Nodemailer と GMAIL を使用してメールを送信したいのですが、うまくいきません...

編集#1:

コード :

var transporter = nodemailer.createTransport(smtpPool({
  service: 'gmail',
  auth: {
    user: '***@gmail.com',
    pass: '***'
  },
  maxConnections: 5,
  maxMessages: 10
}));

var mailOptions = {
  from: mail, // sender address
  to: 'infoprintwithlove@gmail.com',
  subject: subject,
  text: message,
  html: message
};

transporter.sendMail(mailOptions, function(error, info){
  if(error){
    console.log(error);
  }else{
    request.flash('success', 'Votre message à bien été envoyé.');
    response.redirect('/contacter-printwithlove');
  }
});

エラー :

{ [Error: Invalid login]
     code: 'EAUTH',

パスワードが間違っているようですが、Gmail のウェブ インターフェースではパスワードが正常に機能しています...

編集#2:

ここに画像の説明を入力

4

1 に答える 1

4

service = 'gmail' と user/password を渡す必要があります。

var transporter = nodemailer.createTransport({
  service: 'Gmail',
  auth: {
    user: 'myemail@gmail.com',
    pass: <your password>
  }
});

// Or using SMTP Pool if you need to send a large amount of emails
var smtpPool = require('nodemailer-smtp-pool');
var transporter = nodemailer.createTransport(smtpPool({
  service: 'gmail',
  auth: {
    user: 'myemail@gmail.com',
    pass: <your password>
  },
  maxConnections: 5,
  maxMessages: 10
}));

編集:

「Google アカウントへのアクセスを許可する」必要があるかもしれません。ブラウザを使用して Gmail にログインし、このリンクhttps://accounts.google.com/DisplayUnlockCaptchaにアクセスしてロックを解除します。アクセスを許可するアカウントを Google が認識できるように、ログインしたばかりのブラウザを使用する必要がある場合があります。「許可」ボタンをクリックすると、「アカウントへのアクセスが有効になりました。新しいデバイスまたはアプリケーションからもう一度 Google アカウントにサインインしてみてください。」

于 2014-11-03T14:37:22.000 に答える