Nodemailer仅使用一个电子邮件地址

时间:2018-11-21 08:56:56

标签: node.js express nodemailer

第一次尝试使nodemailer正常工作,并且确实有效,但前提是发送的电子邮件地址是我的电子邮件地址...我目前有以下代码:

app.post('/', function (req, res) {
  const transporter = nodemailer.createTransport({
    service: 'Hotmail',
    auth: {
      user: 'myemail@hotmail.co.uk',
      pass: 'XXXX'
    }
  });
  const mailOptions = {
    from: req.body.address, // sender address
    to: 'myemail@hotmail.co.uk', // list of receivers
    subject: req.body.address,
    html: req.body.message // html body
  };

  transporter.sendMail(mailOptions, (error, info) => {
    if (error) {
      return console.log(error);
    }
    console.log(req.body);
    console.log('Message %s sent: %s', info.messageId, info.response);
    res.render('index');
  });

如果我在表格中放入随机电子邮件地址并发送,则会收到错误消息:失败。不知道我是否真的错过了一些明显的事情,但是目前发件人地址必须与收件人匹配(或者可能是我的auth.user电子邮件)才能正常工作。

有人在此之前遇到过麻烦/可以对此有所启发吗?谢谢

1 个答案:

答案 0 :(得分:0)

所以我想我已经解决了。似乎并没有让未经授权的人发送电子邮件,因此我将发送者和接收者设置为我的电子邮件地址,并使用了电子邮件正文中表单中的用户电子邮件地址。

 const mailOptions = {
    from: 'myemail@hotmail.co.uk', // sender address
    to: 'myemail@hotmail.co.uk', // list of receivers
    subject: req.body.address,
    text: `${req.body.address} - ${req.body.message}` // html body
  };