Estoy intentando enviar un correo electrónico usando Nodemailer y Twilio Sendgrid, siguiendo el tutorial aquí . Por lo que sé, estoy siguiendo las instrucciones del tutorial, así como la documentación de Nodemailer y Sendgrid . Sin embargo, cada vez que se llama a este método, se ejecuta el código en el bloque catch y aparece el error Error: Missing credentials for "PLAIN" . Hay algunas otras publicaciones en Stackoverflow sobre este error, pero nada que me haya ayudado a resolver el problema. ¡He estado atascado en esto durante varias horas, y agradecería cualquier información que alguien pueda ofrecer!
Aquí está mi código:
async function sendEmail(email, code) { try{ const smtpEndpoint = "smtp.sendgrid.net"; const port = 465; const senderAddress = 'Name "contact@mydomain.com"'; const toAddress = email; const smtpUsername = "apikey"; const smtpPassword = process.env.SG_APIKEY; const subject = "Verify your email"; var body_html = `<!DOCTYPE> <html> <body> <p>Your authentication code is : </p> <b>${code}</b> </body> </html>`; let transporter = nodemailer.createTransport({ host: smtpEndpoint, port: port, secure: true, auth: { user: smtpUsername, pass: smtpPassword, }, logger: true, debug: true, }); let mailOptions = { from: senderAddress, to: toAddress, subject: subject, html: body_html, }; let info = await transporter.sendMail(mailOptions); return { error: false }; } catch (error) { console.error("send-email-error", error); return { error: true, message: "Cannot send email", }; } }¡Gracias!