Estoy tratando de enviar un correo electrónico en nombre de mi usuario usando nodemailer pero todos mis correos electrónicos están siendo rechazados.
Mi transportador funciona para casos de uso normales en los que envío desde mi propio dominio:
const transporter = nodemailer.createTransport({ host: 'emailhost.com', port: 465, secure: true, auth: {...}, dkim: { domainName: <domainname>, keySelector: <keyselector>, privateKey: <privatekey>, }, }); transporter.sendMail({ subject: "Shop subject", from: `kyle@mydomain.com`, to: <customerEmail>, replyTo: <shopEmail>, html: "<div>my user message</div>", })Pero cuando intento enviar en nombre de mi usuario, no funciona:
transporter.sendMail({ subject: "Shop subject", from: `shop@exampleshop.com`, to: <customerEmail>, // sender: `kyle@mydomain.com` <-- Also tried adding this field, replyTo: `shop@exampleshop.com`, html: "<div>my user message</div>", }) >> "Can't send mail - all recipients were rejected: 553 <shop@exampleshop.com>: Sender address rejected: not owned by user kyle@mydomain.com" Pensé que si configuraba un registro DNS DKIM y un registro SPF en exampleshop.com , significaría que podría enviar correos electrónicos en nombre del dominio, pero aún así no tuve suerte.
Type: TXT Record Host: @ Value: v=spf1 include:spf.emailhost.com ~all // Also tried adding this record in place of the one above Type: TXT Record Host: @ Value: v=spf1 include:spf.mydomain.com ~all Type: TXT Record Host: default._domainkey Value: v=DKIM1;k=rsa;p=<DKIM DNS record from namecheap>También ha pasado más de una hora desde que actualicé los registros DNS, no estoy seguro de qué estoy haciendo mal aquí.