Как отправлять зашифрованные / TLS электронные письма с NodeJS с локального хоста, используя отправку почты - PullRequest
0 голосов
/ 19 ноября 2018

Я хочу иметь возможность отправлять электронную почту с моего локального домена без использования Gmail или других SMTP-серверов.

В настоящее время я использую SendMail :

const sendmail = require('sendmail') ({
    logger: {
        debug: console.log,
        info: console.info,
        warn: console.warn,
        error: console.error
    },
    dkim: {
        privateKey: dkimPrivateKey,
        keySelector: 'default'
    },
});


sendmail({
        from: 'foo@mydomain.com',
        to: 'mygmail@gmail.com',
        subject: 'test sendmail',
        html: 'Mail of test sendmail ',
    }, function(err, reply) {
        console.log(err && err.stack);
        console.dir(reply);
});

, и это РАБОТАЕТ, НО, когда я получаю электронное письмо в своей учетной записи Gmail и просматриваю информацию о сообщении, Google помечает это как «безопасность: без шифрования»

Насколько я понимаю, мне нужно использовать TLS для создания «безопасного» соединения.У меня уже есть сертификат и ключи от LetsEncrypt, и мой домен уже использует HTTPS.Как зашифровать / использовать TLS моих исходящих писем?

Или есть лучший пакет для этого?Я пытался использовать NodeMailer , и мои электронные письма только добавляются в «очередь» и никогда не отправляются.В чем проблема?

1 Ответ

0 голосов
/ 19 ноября 2018

TLS-шифрование не имеет ничего общего с HTTP-сертификатами. Это работает с STARTTLS. Нашли ли вы какую-либо причину в очереди в почтовом журнале? Надеюсь, порты не заблокированы. Вы можете попробовать эту библиотеку Node: https://github.com/pepipost/pepipost-sdk-nodejs

Он выполняет шифрование TLS и работает по протоколу HTTP вместо SMTP.

...