javascript - pricing - send email typescript
Nodemailer y Mailgun (3)
Obtengo un error de autenticación cuando uso Nodemailer con Mailgun. Nodemailer documenta que la biblioteca funciona bien con Mailgun SMTP, pero sigo recibiendo este error cuando ejecuto mi aplicación:
{ [AuthError: Invalid login - *** *.*.* Mailgun is not loving your login or password]
name: ''AuthError'',
data: ''*** *.*.* Mailgun is not loving your login or password'',
stage: ''auth'' }
Así es como configuré mi transporte:
@Transport = nodemailer.createTransport("SMTP",
service: "Mailgun"
auth:
user: "api"
pass: "**********************"
)
Estoy 100% seguro de que mi clave de API es correcta. ¿Hay algún otro requisito que me falta?
Por lo que vale, funciona perfectamente cuando uso una dirección de Gmail.
no puede usar la clave de la API con el transporte smtp.
Vaya a la consola de la pistola de correo y tome las credenciales SMTP de la configuración del dominio y utilícelas.
Puede usar https://github.com/orliesaurus/nodemailer-mailgun-transport para enviar correos electrónicos utilizando la API, en lugar de SMTP.
var nodemailer = require(''nodemailer'');
var mg = require(''nodemailer-mailgun-transport'');
var auth = { auth: {
api_key: ''key-1234123412341234'',
domain: ''one of your domain names listed at your https://mailgun.com/app/domains''}}
var nodemailer = require(''nodemailer'');
var mg = require(''nodemailer-mailgun-transport'');
// This is your API key that you retrieve from www.mailgun.com/cp (free up to 10K monthly emails)
var auth = {enter code here
auth: {`enter code here`
api_key: ''key-1234123412341234'',
domain: ''one of your domain names listed at your https://mailgun.com/app/domains''
}
}
var nodemailerMailgun = nodemailer.createTransport(mg(auth));
nodemailerMailgun.sendMail({
from: ''[email protected]'',
to: ''[email protected]'', // An array if you have multiple recipients.
cc:''[email protected]'',
bcc:''[email protected]'',
subject: ''Hey you, awesome!'',
''h:Reply-To'': ''[email protected]'',
//You can use "html:" to send HTML email content. It''s magic!
html: ''<b>Wow Big powerful letters</b>'',
//You can use "text:" to send plain-text content. It''s oldschool!
text: ''Mailgun rocks, pow pow!''
}, function (err, info) {
if (err) {
console.log(''Error: '' + err);
}
else {
console.log(''Response: '' + info);
}
});