Je reçois le message suivant lorsque vous essayez d'envoyer du courrier avec Nodemailer:Nodemail pour envoyer du courrier pour l'application firebase avec compte de service
'535-5.7.8 Username and Password not accepted.
Learn more at\n535 5.7.8 https://support.google.com/mail/?p=BadCredentials y42sm13399804wrc.51 - gsmtp',
responseCode: 535,
command: 'AUTH XOAUTH2' }
J'utilise un compte de service d'un projet firebase, et ont accordé l'accès au GMail API. Mais le nodemailer docs for 2LO is really scarce alors je me demande si quelqu'un pourrait m'aider à trouver si j'utilise les informations d'identification correctes?
user (functions.config().gmail.user) : [email protected]
-
function sendContactMail(contactName, contactEmail, contactDate, contactText) {
// Create transport
let transporter = nodemailer.createTransport({
host: 'smtp.gmail.com',
port: 465,
secure: true,
auth: {
type: 'OAuth2',
user: functions.config().gmail.user,
serviceClient: functions.config().gmail.client_id,
privateKey: functions.config().gmail.private_key
//accessToken: 'ya29.Xx_XX0xxxxx-xX0X0XxXXxXxXXXxX0x',
//expires: 1484314697598
}
});
// Mail Options
let mailOptions = {
from: `"${APP_NAME}" <${SENDER}>`,
replyTo: `${contactEmail}`,
to: '[email protected]',
subject: `Nouveau contact photo de ${contactName}`,
html: `Nom : ${contactName}<br/>
Email : ${contactEmail}<br/>
Date du mariage : ${contactDate}<br/>
Message : ${contactText}`,
disableFileAccess: true,
disableUrlAccess:true
};
// Send Mail
return transporter.sendMail(mailOptions);
}
Merci, mais je chose que cette méthode ne fonctionne que si activer « mode non sécurisé » sur gmail, que je ne veux pas faire . Je voudrais travailler avec le compte de service et l'identification OAuth2 à 2 pattes – Clouddie