Nodemailer не может начать работу на движке PUG - PullRequest
0 голосов
/ 30 мая 2020

Я установил свой движок nodemailer в свой. js файл, как показано ниже, и он работает плавно:

"use strict";
const nodemailer = require("nodemailer");
let config = require("../js/config")

// async..await is not allowed in global scope, must use a wrapper
async function main() {
  // create reusable transporter object using the default SMTP transport
  let transporter = nodemailer.createTransport({
    host: "mail.mywebsite.com",
    port: 8889,
    secure: false, // true for 465, false for other ports
    auth: {
      user: config.user,
      pass: config.pass
    },
  });

  // verify connection configuration
    transporter.verify(function(error, success) {
        if (error) {
        console.log(error);
        } else {
        console.log("Server is ready to take our messages");
        }
    });

  // send mail with defined transport object
  let info = await transporter.sendMail({
    from: '"E-Mail Service ☕" <me@mywebsite.com>', // sender address
    to: "customer@domain.com", // list of receivers
    subject: "Your List of Selected Studies ?", // Subject line
    html: "<b>Test e-mail</b> starts here. And ends <i>here</i>", // html body
  });

  console.log("Message sent: %s", info.messageId);
  // Message sent: <b658f8ca-6296-ccf4-8306-87d57a0b4321@example.com>

  // Preview only available when sending through an Ethereal account
  console.log("Preview URL: %s", nodemailer.getTestMessageUrl(info));
  // Preview URL: https://ethereal.email/message/WaQKMgKddxQDoou...
}

main().catch(console.error);

Но когда я пробую этот код в файле PUG под тегом script , это не удается из-за проблемы "требование не определено" .

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

Спасибо за ваше время

1 Ответ

0 голосов
/ 07 июля 2020

Я решил проблему на стороне сервера, как посоветовал @Molda.

router.post('/email', function(req, res, next) {
  let receiver = req.body.email;
  let studies = req.body.studies;
  let mailSpot;
  let errMessage;

  // worked my code in the question here
}

Итак ... готово ..!

...