2015-05-22 9 views
5

Zainstalowałem pakiet wiadomości e-mail i próbowałem wysłać testową wiadomość e-mail, ale pojawia się następujący błąd: AuthError: nieprawidłowe logowanie - 535-5.7.8 Nazwa użytkownika i hasło nieakceptowanemeteor: wyślij e-mail | AuthError: Nieprawidłowe logowanie - 535-5.7.8

Jestem pewien, że dane są prawidłowe, a kod jest taki sam jak: https://github.com/ideaq/meteor-email

/server/init.js

process.env.MAIL_URL="smtp://USERNAME%40gmail.com:[email protected]:465/"; 
console.log(process.env.MAIL_URL); 

Email.send({ 
    from: "[email protected]", 
    to: "[email protected]", 
    subject: "Meteor Can Send Emails via Gmail", 
    text: "test" 
}); 

również próbowałem:

// configure email later for validation and sending messages 
smtp = { 
    username: '[email protected]', 
    password: 'my-pw', 
    server: 'smtp.gmail.com', 
    port: 465 
}; 

process.env.MAIL_URL = 'smtp://' + encodeURIComponent(smtp.username) + ':' + encodeURIComponent(smtp.password) + '@' + encodeURIComponent(smtp.server) + ':' + smtp.port; 

Nie mogę znaleźć żadnych innych informacji dotyczących tego problemu lub sposobu jego sprawdzenia. Kto może mi dać wskazówkę?

+0

Można spróbować przy użyciu nazwy użytkownika bez „@ gmail.com” na końcu? – SylvainB

+0

Niestety to nie rozwiąże problemu. – flowen

Odpowiedz

4

thx za sugestie! Naprawiłem to poprzez włączenie weryfikacji dwuetapowej, wygenerowanie hasła aplikacji i użycie TO jako logowania. Dziwne rozwiązanie, ale zadziałało!

+0

To zrobiło sztuczka dla mnie, świetnie to wymyśliłeś! –

0

portu Try 25. SMTP = { nazwa: '[email protected]', hasło: 'moje PW-' Serwer: 'smtp.gmail.com', port : 25 };

+0

Następnie pojawia się błąd: podłącz ETIMEDOUT (wydaje się literówka, ale jego kopia jest wklejona z terminala) – flowen

+0

czy próbowałeś dodać to wewnątrz 'server/main.js' jako' process.env.NODE_TLS_REJECT_UNAUTHORIZED = 0; ' –

2
  1. Rozwiązanie: jest to zabezpieczenie Gmaila dla mniej bezpiecznych aplikacji. Także szybkie rozwiązanie będzie wyłączyć Dostęp Allow less secure apps

  2. Rozwiązanie: Najlepszym sposobem będzie pracować z weryfikacją 2-Step 2-Step Verification

1

W przypadku używasz OAuth2 i jesteś w obliczu powyższy problem, skonfigurowanie mojego transportera, jak pokazano poniżej, rozwiązało dla mnie błąd.

const transporter = nodemailer.createTransport({ 
    host: 'smtp.gmail.com', 
    port: 465, 
    secure: true, 
    auth: { 
    type: 'OAuth2', 
    user: process.env.MAIL_USER, 
    clientId: process.env.GOOGLE_CLIENT_ID, 
    clientSecret: process.env.GOOGLE_CLIENT_SECRET, 
    refreshToken: process.env.GOOGLE_CLIENT_REFRESH_TOKEN 
    } 
}); 

Jeśli nie jesteś pewien, jak do wygenerowania identyfikatora, tajemnicy i żeton, wykonaj kroki opisane tutaj https://medium.com/@pandeysoni/nodemailer-service-in-node-js-using-smtp-and-xoauth2-7c638a39a37e