отправитель nodemailer пуст - PullRequest
0 голосов
/ 25 июня 2019

Я пытаюсь использовать nodemailer с приложением, которое не требует какой-либо проверки. Сервер, на котором находится приложение, занесен в белый список, поэтому имя пользователя и пароль не требуются. Я настраиваю свою почтовую конфигурацию следующим образом:

let mailConfig = {
         pool: true,
        maxConnections: maxConnections,
        maxMessages: maxMessages,
        rateDelta: rateDelta * 1000,
        rateLimit: maxMessages * maxConnections,
        secure: false,
        ignoreTLS: true,
        logger:true,
        host: config.SMTP_Host,
        port: config.SMTP_Port
    };

Однако я продолжаю сталкиваться с ошибкой 550, потому что отправитель письма отсутствует. Я обнаружил еще один вопрос stackoverflow, в котором говорится, что если у вас домен хоста, отличный от домена пользователя (в данном случае пользователь не определен), отправитель автоматически получает это значение. Это имеет смысл в отношении того, почему мой отправитель установлен пустым, хотя я на самом деле его установил.

Есть ли способ запретить отправителю узла изменять отправителя в соответствии с доменом пользователя, если домен пользователя отсутствует?

Или я совершенно не понимаю сообщение об ошибке?

До сих пор я пытался вручную установить эти поля, делая это в объекте сообщения, но должен признать, что я не знаком с этим типом протокола.

sender:config.SMTP_Host,
envelope: {
           from: `"Sender Name" <${config.SMTP_Host}>`, // used as MAIL FROM: address for SMTP
           to: `${email}, "${first_name}" <${email}>` // used as RCPT TO: address for SMTP
    }

1 Ответ

0 голосов
/ 25 июня 2019

Поле from должно содержать адрес электронной почты, а не имя хоста.

Если мы используем в качестве примера gmail, вы вводите в поле from значение

From: "Sender Name" <smtp.gmail.com>

Когда оно должноbe:

From: "Sender Name" <sender@gmail.com>

Отправляющий сервер ищет «smtp.gmail.com» в качестве сообщения электронной почты и не находит его, поэтому вы получаете сообщение о том, что адрес электронной почты не существует.

...