Nodemailer с моим SMTP-сервером только ставит в очередь письма, а не отправляет - PullRequest
0 голосов
/ 06 июля 2019

Я использую Nodemailer для отправки почты клиенту с моего узла SMTP-Server. Но при отправке письма написано: «ОК: сообщение поставлено в очередь», но письмо не приходит. Но когда я использую, например, Gmail SMTP это работает. Но я должен отправить письмо с моего SMTP-сервера.

SMTP-сервер-код:

var SMTPServer = require('smtp-server').SMTPServer;

var SMTPemailServer = new SMTPServer({
    onAuth(auth, session, callback) {
        if (auth.username !== "abc" || auth.password !== "def") {
            return callback(new Error("Invalid username or password"));
        }
        console.log(auth);
        callback(null, { user: 123 });
    },
    disabledCommands: ['STARTTLS'],
    logger: true,
    onData(stream, session, callback){
        stream.pipe(process.stdout); // print message to console
        stream.on('end', callback);
    }
});

process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";

SMTPemailServer.listen(587, function () {
    console.log("SMTP-Server listening on *:587");
});

И код для отправки почты с Nodemailer:

var transporter = nodemailer.createTransport({
    host: "my.smtpserver.domain",
    port: 587,
    auth: {
        user: "abc",
        pass: "def"
    }
});

let mailOptions = {
    from: 'sender@email.adress', // sender address
    to: "client@email.adress", // list of receivers
    subject: "TEST", // Subject line
    text: "TEST", // plain text body
    html: "<h2>TEST</h2>" // html body
};

// send mail with defined transport object
let info = transporter.sendMail(mailOptions, function (error, info) {
    if (error) {
        console.log("error" + error);
        res.send(error);
    } else {
        console.log("Email sent: " + info.response);
        res.send(info);
    }
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...