Мы создаем систему доставки почты для определенного случая, и нам нужно использовать STARTTLS для доставки наших писем, используя nodemailer.
Мы создали наш почтовый транспорт для nodemailer следующим образом:
var mailer = require("nodemailer");
var smtpTransport = mailer.createTransport(
{
host: 'smtp.example.com',
port: 587,
secure: false, // true for 465, false for other ports
requireTLS: true,
auth:
{
user: "example@example.com",
pass: "example"
}
});
При такой конфигурации письма отправляются и доставляются. Мы даже проверяем статус почты, используя mxtoolbox , и все выглядит зеленым (допустимо a.k.a). Хотя в одной из наших учетных записей почта переходит в спам. Кроме того, после проверки конфигурации безопасности из самой почты из Gmail сообщается, что используется TLS. Из документации Я прочитал на эту ссылку , в явном виде сказано следующее:
requireTLS заставляет клиента использовать STARTTLS. Возвращает ошибку, если обновление соединения невозможно или происходит сбой.
И мы получаем успешные ответы от нашего сервера, и тем не менее, почта, транспортируемая с этим блоком кода, переходит в спам на только на одной учетной записи , однако мы не можем игнорировать это, так как это может произойти несколько раз раз без нашего ведома. Интересная часть начинается здесь.
Когда мы изменяем этот блок кода на следующее:
var smtpTransport = mailer.createTransport(
{
host: 'smtp.example.com',
port: 465,
secure: true, // true for 465, false for other ports
auth:
{
user: "example@example.com",
pass: "example"
}
});
Письма отправляются непосредственно в почтовый ящик, включая учетную запись, которая отклоняет почту с помощью STARTTLS. Но нам нужно использовать STARTTLS для доставки этих писем, поскольку сервер настроен таким образом.
Как мы можем на самом деле проверить правильность конфигурации? Спасибо за вашу помощь.