J'ai actuellement une configuration pour envoyer des emails en utilisant nodemailer de gmail. Cela fonctionne correctement lorsque je crée manuellement un jeton d'accès (qui ne dure que ~ 1 heure). Cependant, après cette heure a passé, je reçois l'erreur ci-dessous. Notez, pendant cette heure je suis capable d'envoyer des emails très bien et tout fonctionne.Essayer d'utiliser nodemailer pour envoyer des emails en utilisant gmail et recevoir l'erreur: "Impossible de créer un nouveau jeton d'accès pour l'utilisateur"
{ Error: Can't create new access token for user
at XOAuth2.generateToken (C:\Users\user\My-Projects\***\node_modules\nodemailer\lib\xoauth2\index.js:162:33)
at XOAuth2.getToken (C:\Users\user\My-Projects\***\node_modules\nodemailer\lib\xoauth2\index.js:111:18)
at SMTPConnection._handleXOauth2Token (C:\Users\user\My-Projects\***\node_modules\nodemailer\lib\smtp-connection\index.js:1421:27)
at Immediate.setImmediate (C:\Users\user\My-Projects\***\node_modules\nodemailer\lib\smtp-connection\index.js:1239:45)
at runCallback (timers.js:666:20)
at tryOnImmediate (timers.js:639:5)
at processImmediate [as _immediateCallback] (timers.js:611:5) code: 'EAUTH', command: 'AUTH XOAUTH2' }
Le code que je utilise pour envoyer l'e-mail est:
var emailMsg = `Name: ${name}\nEmail: ${email}\n\nMessage:\n${msg}`;
var transporter = nodemailer.createTransport({
service: 'gmail',
auth: {
type: 'OAuth2',
user: process.env.GMAIL_ACC,
clientId: process.env.GMAIL_CLIENTID,
clientSecret: process.env.GMAIL_CLIENTSECRET,
refreshToken: process.env.GMAIL_RFRESHTOKEN,
accessToken: process.env.GMAIL_ACCESSTOKEN
}
});
var mailOptions = {
from: process.env.GMAIL_ACC,
to: process.env.GMAIL_ACC,
subject: `Contact Form - ${name}`,
text: emailMsg
};
transporter.sendMail(mailOptions,
function(mailErr, mailRes) {
if(mailErr) {
//Mail was unable to send
sendResponse(418, false, [{'email': 'Server was unable to send email.'}]);
console.log('Mail Error:\n ', mailErr);
} else {
//Everything worked correctly. (As far as responses go)
sendResponse(200, true);
}
}
);
choses que j'ai essayé: - Permettre à des applications moins sécurisées (ne semble pas avoir d'effet) - Désactivation AntiVirus (Cela a été à l'origine un problème pour quelque chose sans rapport) - Création d'une nouvelle application et un ensemble de jetons (Cela a eu 0 affect)
Toute aide serait appréciée, merci!
Oui, merci! Il semble que je n'ai pas copié et collé autant que je le pensais. –