2015-09-07 9 views
8

Nel tentativo di inviare un e-mail utilizzando il modulo node.js - nodemailer, tutto il mio codice è similenode.js nodemailer errore gmail

var http=require("http"); 
var nodemailer=require("nodemailer"); 

http.createServer(function(req,res){ 
    res.writeHead(200, {"Content-Type": "text/plain"}); 
    var transporter = nodemailer.createTransport('SMTP',{ 
    service: 'gmail', 
    auth: { 
     user: '[email protected]', // my mail 
     pass: 'mypassword' 
    } 
}); 
var mailOptions = { 
    from: 'Fred Foo ✔ <[email protected]>', // sender address 
    to: '[email protected]', // the same mail = want to send it to myself 
    subject: 'Hello ✔', // Subject line 
    text: 'Hello world ✔', // plaintext body 
    html: '<b>Hello world ✔</b>' // html body 
}; 
    transporter.sendMail(mailOptions, function(error, info){ 
    if(error){ 
     return console.log(error); 
    } 
    console.log('Message sent: ' + info.response); 

}); 
    res.end("hllo"); 
}).listen(4000) 

ma quando l'eseguo, getta "login" errore, lavori finanziari mia nome/passaggio sono corretti l'intero errore simile a questa

{ [AuthError: Invalid login - 534-5.7.14 <https://accounts.google.com/ContinueSi 
gnIn?sarp=1&scc=1&plt=AKgnsbtWV 
534-5.7.14 FHw6FqlXkg3nIQW7AtsO7o0r-4EtD7eTtnrgHeXxeULYqUtHjrnTB9R647mlR7GY9Z4lS 
z 
534-5.7.14 WuzYYnNwNBjIyrjNzHk-o9sIV_vIsbjgF5HsFPtJl5S0dSf3eyNCX_E8tQ_Z6s4Z1mUe5 
i 
534-5.7.14 p8Y5YagzdN5RSkjpB1yTu3TfWHSTLisczIZphhLfhlz-v86tAB8MX-4jRqA51hfJYy0ko 
F 
534-5.7.14 qytMeIbs1kUZEJzPIabmjRi87DIk> Please log in via your web browser and 
534-5.7.14 then try again. 
534-5.7.14 Learn more at 
534 5.7.14 https://support.google.com/mail/answer/78754 cx1sm17733852wib.0 - gs 
mtp] 
    name: 'AuthError', 
    data: '534-5.7.14 <https://accounts.google.com/ContinueSignIn?sarp=1&scc=1&plt 
=AKgnsbtWV\r\n534-5.7.14 FHw6FqlXkg3nIQW7AtsO7o0r-4EtD7eTtnrgHeXxeULYqUtHjrnTB9R 
647mlR7GY9Z4lSz\r\534-5.7.14 WuzYYnNwNBjIyrjNzHk-o9sIV_vIsbjgF5HsFPtJl5S0dSf3ey 
NCX_E8tQ_Z6s4Z1mUe5i\r\n534-5.7.14 p8Y5YagzdN5RSkjpB1yTu3TfWHSTLisczIZphhLfhlz-v 
86tAB8MX-4jRqA51hfJYy0koF\r\n534-5.7.14 qytMeIbs1kUZEJzPIabmjRi87DIk> Please log 
in via your web browser and\r\n534-5.7.14 then try again.\r\n534-5.7.14 Learn 
more at\r\n534 5.7.14 https://support.google.com/mail/answer/78754 cx1sm1773385 
2wib.0 - gsmtp', 
    stage: 'auth' } 

c'è qualcosa che devo impostare nel mio gmail secondo per consentire a questa di inviare e-mail da quello o come posso risolvere il problema

+0

buona domanda !!! –

risposta

20

Provare a installare nodemail er-smtp-transport e quindi utilizzarlo all'interno della funzione createTransport.

var smtpTransport = require('nodemailer-smtp-transport'); 

var transport = nodemailer.createTransport(smtpTransport({ 
    service: 'gmail', 
    auth: { 
     user: '[email protected]', // my mail 
     pass: 'mypassword' 
    } 
})); 

E cercare anche mentre nel tuo account Google abilitare questa: https://www.google.com/settings/security/lesssecureapps

Credo davvero che questo dovrebbe essere il problema di autenticazione

+0

Grazie funziona per me. !!! (SOTTO VOTATO) –

+0

Recentemente ho affrontato questo problema. Ho letto i documenti in https://github.com/nodemailer/nodemailer#using-gmail che mostra alcuni passaggi aggiuntivi che devi fare per consentire l'accesso ad app meno sicure. Ha funzionato per me come un incantesimo! – KQI

1

è lavora con me dopo aver utilizzato la porta nessuno sicura

var transporter = nodemailer.createTransport({ 
    host: 'smtp.gmail.com', 
    port: 587, 
    secure: false, // secure:true for port 465, secure:false for port 587 
    auth: { 
    user: '[email protected]', 
    pass: 'xxxx' 
    } 
}); 
+0

non funziona per me – Johnyb

+0

@Johnyb assicurati di consentire l'accesso per le app meno sicure, forma la sicurezza del tuo account google – Abudayah