#javascript #email #nodemailer #spf #dkim
Вопрос:
Я пытаюсь отправить электронное письмо от имени своего пользователя nodemailer
, но все мои электронные письма отклоняются.
Мой транспортер работает для обычных случаев использования, когда я отправляю из своего собственного домена:
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>",
})
Но когда я пытаюсь отправить от имени своего пользователя, это не работает:
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"
Я подумал, что если я установлю DNS-запись DKIM и запись SPF на exampleshop.com
ней, это будет означать, что я смогу отправлять электронные письма от имени домена, но все равно не повезло.
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>
Кроме того, прошло больше часа с тех пор, как я обновил записи DNS, и я не уверен, что я здесь делаю не так.
Комментарии:
1. Это ваш почтовый сервер дает такой ответ, и я сомневаюсь, что он дошел до проверки SPF. Это будет зависеть от конфигурации вашего почтового сервера.
2. Итак, я отправляю электронное письмо, используя свой личный DKIM/auth, почтовый сервер (частная почта от namecheap) получает электронное письмо и видит другой домен «от» и не проверяет записи SPF другого домена, поэтому он отклоняет электронное письмо? Это примерно то, что происходит?
3. Да, примерно так оно и есть. Это очень распространенное ограничение, например, это делает gmail.