使用Nodemailer发送电子邮件模板

时间:2018-02-01 14:23:15

标签: node.js express nodemailer

我有一个网站,其中包含客户可以提交问题的联系表格。该表单已与Nodemailer一起使用,并将提交的表单发送到我的电子邮箱。 现在,只要客户端提交表单,我就想向客户端发送自动回复。因此,客户收到的回复邮件中包含"感谢您的留言,我很快就会回复#34;但我不知道如何使用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');
    }
  });

});

1 个答案:

答案 0 :(得分:0)

您将在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');
    }
  });

我希望这会奏效。