Nodemailer работает только с одним адресом электронной почты - PullRequest
0 голосов
/ 21 ноября 2018

Первый раз, когда я пытаюсь заставить работать 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 голосов
/ 22 ноября 2018

Так что я думаю, что я это исправил.Похоже, он не позволяет отправлять электронные письма кому-то, кто не авторизован, поэтому я указал отправителю и получателю свой адрес электронной почты и использовал адрес электронной почты пользователей из формы в теле письма.

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