【问题标题】:Nodemailer only working with one email addressNodemailer 仅使用一个电子邮件地址
【发布时间】:2018-11-21 08:56:56
【问题描述】:

第一次尝试让 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 电子邮件)才能正常工作。

以前有没有人遇到过这个问题/可以对此有所了解吗?谢谢

【问题讨论】:

  • 您在控制台上遇到的错误是什么
  • @iambatman 它给了我:错误:消息失败:554 5.2.0 STOREDRV.Submission.Exception:SendAsDeniedException。然后说: SMTPConnection._formatError

标签: node.js express nodemailer


【解决方案1】:

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

 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
  };

【讨论】:

    猜你喜欢
    • 2021-04-09
    • 2014-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-23
    • 2013-07-29
    • 2014-12-26
    • 2017-01-06
    相关资源
    最近更新 更多