Как отправить gmail из приложения nodejs, которое находится в лазурном облаке? - PullRequest
0 голосов
/ 26 декабря 2018

Используя nodemailer, я могу отправить почту локально.Но в лазурном я не могу отправить почту.Я дал мой код ниже:

    var smtpTransport = nodemailer.createTransport({
     service: "gmail",
     auth: {
       user: 'xxx@gmail.com',
       pass: 'xx' 
     }
   });

  mailOptions={
    from: 'xxx@gmail.com',
    to : 'xxxx@gmail.com',
    subject : "Please confirm your Email account",
    text: 'Hello world?',
    html : "Hello,<br> Please Click on the link to verify your email.<br>Click here to verify"  
}
console.log(mailOptions);
smtpTransport.sendMail(mailOptions, function(error, response){
 if(error){
        console.log(error);
    res.end("error");
 }else{
        console.log("Message sent: " + response.message);
    res.end("sent");
     }
 });

Это правильный путь или мне нужно что-то изменить, чтобы это работало в лазурном облаке?Не могли бы вы помочь мне с этим?

Я получаю следующую ошибку в облаке:

   { Error: Invalid login: 534-5.7.14 <https://accounts.google.com/signin /continue?sarp=1&scc=1&plt=AKgnsbv9
 534-5.7.14     
534-5.7.14 i4B-3uDchhvH5tTH8yHwwR9VlDCAASd24gT6pvUq0R5bAUeoId> Please log             

in via
534-5.7.14 your web browser and then try again.
534-5.7.14  Learn more at
534 5.7.14  https://support.google.com/mail/answer/78754                             

l185sm50619884pfl.54 - gsmtp
at SMTPConnection._formatError (/home/Cello1/studio/node_modules 
/nodemailer/lib/smtp-connection/index.js:605:19)
at SMTPConnection._actionAUTHComplete (/home/Cello1/studio/node_modules
/nodemailer/lib/smtp-connection/index.js:1340:34)
at SMTPConnection._responseActions.push.str (/home/Cello1/studio
/node_modules/nodemailer/lib/smtp-connection/index.js:378:26)
at SMTPConnection._processResponse (/home/Cello1/studio/node_modules
/nodemailer/lib/smtp-connection/index.js:764:20)
at SMTPConnection._onData (/home/Cello1/studio/node_modules/nodemailer    
/lib/smtp-connection/index.js:570:14)
at TLSSocket._socket.on.chunk (/home/Cello1/studio
 /node_modules/nodemailer/lib/smtp-connection/index.js:710:55)
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',

1 Ответ

0 голосов
/ 28 декабря 2018

Согласно вашему описанию, я не знаю, какой службой Azure вы пользовались.

Если вы использовали службу приложений Azure (включая веб-приложения, функции и т. Д.), Существует некоторые ограничения , которые необходимо знать, что может привести к вашей проблеме.

Если вы использовали виртуальную машину Azure или контейнер, сначала проверьте свою конфигурацию для исходящей сети.Похоже, похожая проблема в GitHub, которая может помочь вам попытаться аутентифицироваться с помощью oauth для отправки gmail.

Обычно рекомендуемый способ отправки почты - использовать сервис SendGrid наAzure.Вы можете обратиться к официальному документу How to Send Email Using SendGrid from Node.js, чтобы узнать, с чего начать.

...