Я хочу отправить электронное письмо как myemail@domain2.com при подключении к domain1.com с использованием учетных данных SMTP domain1.com. И domain1.com, и domain2.com имеют записи SPF.
Я провел небольшое исследование и обнаружил, что вы сможете достичь этого, добавив «a: domain1.com» в запись SPF домена domain2.com. Я сделал так, но я все еще не могу успешно отправить электронное письмо.
Я создал тестовый код, используя node.js и nodemailer для проверки отправки электронной почты.
const nodemailer = require('nodemailer');
let transport = nodemailer.createTransport({
host: 'mail.domain1.com',
port: 465,
auth: {
user: 'myemail@domain1.com',
pass: 'password'
}
});
const message = {
from: 'myemail@domain2.com',
to: 'test@gmail.com',
subject: 'Testing 123',
text: 'Testing One Two Three....'
};
transport.sendMail(message, function (err, info) {
if (err) {
console.log('err: ', err);
} else {
console.log('info: ', info);
}
});
{ Error: Message failed: 550 Error458 block
at SMTPConnection._formatError (C:\Users\Admin\Desktop\testsendmail\node_modules\nodemailer\lib\smtp-connection\index.js:784:19)
at SMTPConnection._actionSMTPStream (C:\Users\Admin\Desktop\testsendmail\node_modules\nodemailer\lib\smtp-connection\index.js:1661:34)
at SMTPConnection._responseActions.push.str (C:\Users\Admin\Desktop\testsendmail\node_modules\nodemailer\lib\smtp-connection\index.js:1146:22)
at SMTPConnection._processResponse (C:\Users\Admin\Desktop\testsendmail\node_modules\nodemailer\lib\smtp-connection\index.js:942:20)
at SMTPConnection._onData (C:\Users\Admin\Desktop\testsendmail\node_modules\nodemailer\lib\smtp-connection\index.js:749:14)
at TLSSocket.SMTPConnection._onSocketData.chunk (C:\Users\Admin\Desktop\testsendmail\node_modules\nodemailer\lib\smtp-connection\index.js:195:44)
at TLSSocket.emit (events.js:182:13)
at addChunk (_stream_readable.js:283:12)
at readableAddChunk (_stream_readable.js:264:11)
at TLSSocket.Readable.push (_stream_readable.js:219:10)
code: 'EMESSAGE',
response: '550 Error458 block',
responseCode: 550,
command: 'DATA' }
Вот записи SPF для 2 доменов:
domain1.com:
v=spf1 mx a ~all
domain2.com :
v=spf1 a a:domain1.com mx ?all