使用 Nodemailer 发送电子邮件模板

Sending email template with Nodemailer

我有一个带有联系表的网站,客户可以在其中提交问题。该表单已经与 Nodemailer 一起使用,并将提交的表单发送到我的电子邮件。 现在我想在客户提交表单时向客户发送自动回复。所以客户会收到一封电子邮件,里面有类似 "Thank you for your message, I will be replying soon" 的内容,但我不知道如何使用 Nodemailer 来做到这一点。

这是我的 Nodemailer 代码:

router.get('includes/contact', function(req, res) {
  res.render('contact',{title:'Contact'});
});

//route to send the form
router.post('/contact/send', function(req, res) {

  var transporter = nodeMailer.createTransport({

  service : 'Gmail',
  auth : {
    user: process.env.GMAIL_USER,
    pass: process.env.GMAIL_PASS
  }

  });

  var mailOptions = {
    from: req.body.name + ' <' + req.body.email + '>',
    to: 'xxxxx@gmail.com',
    subject:'Website verzoek',
    text:'Er is een website verzoek binnengekomen van '+ req.body.name+' Email: '+req.body.email+'Soort website: '+req.body.website+'Message: '+req.body.message,
    html:'<p>Websiteverzoek van: </p><ul><li>Naam: '+req.body.name+' </li><li>Email: '+req.body.email+' </li><li>Soort website: '+req.body.website+' </li><li>Message: '+req.body.message+' </li></ul>'
  };

  transporter.sendMail(mailOptions, function (err, info) {
    if(err) {
      console.log(err);
      res.redirect('/#contact');
    } else {
      console.log('Message send');
      res.redirect('/#contact');
    }
  });

});

您将在 req.body.email 中收到提交者的电子邮件,因此您可以使用已经定义的邮件传输来发送邮件。

var replyMailOptions = {
    from: 'xxxxx@gmail.com',
    to: req.body.email
    subject:'We got your message',
    text:'Thank you for your message, I will be replying soon,
  };

transporter.sendMail(replyMailOptions , function (err, info) {
    if(err) {
      console.log(err);
      res.redirect('/#contact');
    } else {
      console.log('Message send');
      res.redirect('/#contact');
    }
  });

我希望这会奏效。