Как мне отправить письмо со ссылкой, используя nodemailer, доступный из любой сети

#node.js #nodemailer

#node.js #nodemailer

Вопрос:

Я могу отправить ссылку на любой идентификатор электронной почты. Но ссылка недоступна ни с какого другого компьютера, поскольку она принадлежит моему локальному хостингу.

Ссылка похожа : localhost:3000welcome

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

Ответ №1:

Вы просто получаете сетевое имя (hostname) системы, а затем добавляете его к тексту отправляемого вами письма.

 var hostName = require('os').hostname();
  

Тогда SMTP должен выглядеть примерно так:

 var text = "http://" hostName ":3000/welcome"
var mailOptions = {
        from: "Sender <sender@test.com>", // sender address
        to: destination_email,
        subject: "Subject here",
        html: text // html body
    };
    smtpTransport.sendMail(mailOptions, function(error, response){
        if(error){
            logger.logError(error);
            callback(null);
            return;   
        }
        logger.logInfo("Message sent: "   response.message);

    });