smtp-сервер nodejs Электронная почта отправлена, но не получена - PullRequest
0 голосов
/ 22 февраля 2019
const nodemailer = require('nodemailer');

const SMTPServer = require("smtp-server").SMTPServer;

const server = new SMTPServer({
    onAuth(auth, session, callback) {
        if (auth.username !== "test" || auth.password !== "password") {
            return callback(new Error("Invalid username or password"));
        }
        console.log(mailOptions.text);
        callback(null, {
            user: "test"

        }); // where 123 is the user id or similar property
    }
});

server.on("error", err => {
    console.log("Error %s", err.message);
});

server.listen(26);


var transporter = nodemailer.createTransport({
    host: "MYDOMAINNAME/IP",
    port: 26,
    secure: false,
    auth: {
        user: "test",
        pass: "password"
    },
    tls: {
        rejectUnauthorized: false
    }
});

var mailOptions = {
    from: '"MYSITENAME"<info@MYDOMAIN.com>',
    to: 'ADRESS@TLD.com',
    subject: 'Sending Email using Node.js',
    text: 'That was easy!'
};

transporter.sendMail(mailOptions, function (error, info) {
    if (error) {
        console.log("sendmail" + error);
    } else {
        console.log('Email sent: ' + info.response);
    }
});

Вывод: это было легко!E-mail отправлено: 250 OK: сообщение поставлено в очередь

Я просто хочу отправить сообщение с входной переменной в виде текста от моего имени домена на обычный адрес Gmail;получатель почты получает gmail / или любой другой адрес;проверил папку со спамом;

1 Ответ

0 голосов
/ 28 февраля 2019

Я думаю, что вы можете просто ставить в очередь электронное письмо в вашем экземпляре smtp-server, а не отправлять его.

Документация для smtp-server начинается с примечания о том, как этот модуль на самом деле не отправляет электронные письма сам по себе:

Этот модуль не создает никаких писемдоставка сама по себе.smtp-server позволяет прослушивать порты 25/24/465/587 и т. Д. С использованием протокола SMTP или LMTP и все.Ваше собственное приложение отвечает за прием и доставку сообщения по назначению.

Вам потребуется использовать клиентский модуль SMTP smtp-connection в сочетании с вашим SMTP-сервером для отправкиэлектронная почта.

Вы можете увидеть, откуда приходит ответ "250 OK: сообщение в очереди" в этой строке в коде серверного модуля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...