Nodemailer не отправляет электронную почту

Я только что настроил свой глюк-проект с контактной формой и пытаюсь заставить его отправлять мне электронное письмо, когда кто-то заполняет форму. Проблема, с которой я сталкиваюсь, заключается в том, что сервер регистрирует в консоли, что сообщение было отправлено без ошибок, но я никогда не получаю электронное письмо. Вы можете найти код по адресу https://glitch.com/edit/#!/gamesalt-dev?path=packages%2FPOSTroutes.js%3A2%3A39, а контактную форму можно найти по адресу https://gamesalt-dev.glitch.me/.

let account = {
  user: "[email protected]",
  pass: "************"
}
let transporter = nodemailer.createTransport({
  host: "smtp.ethereal.email",
  port: 587,
  secure: false,
  auth: {
    user: account.user,
    pass: account.pass,
  },
});

let mailOptions = {
  from: `"Contact" <${account.user}>`,
  to: "[email protected]",
  subject: "New Contact!",
  text: "Hello world",
  html: "<b>Hello world</b>",
}

let info = await transporter.sendMail(mailOptions, (error, info) => {
  if(error) return console.log(error);
  console.log("Message sent: %s", info.messageId);  
  console.log("Preview URL: %s", nodemailer.getTestMessageUrl(info));
});

person Cohen Erickson    schedule 30.05.2021    source источник
comment
Вы всегда должны включать соответствующий код в свой вопрос, а не в качестве внешней ссылки.   -  person t.niese    schedule 30.05.2021


Ответы (1)


http://ethereal.email/

Ethereal — это поддельный SMTP-сервис, предназначенный в основном для пользователей Nodemailer (но не ограничиваясь ими). Это совершенно бесплатная антитранзакционная служба электронной почты, где сообщения никогда не доставляются.
Вместо этого вы можете создать персональную учетную запись электронной почты прямо из Nodemailer и отправить электронное письмо, используя эту учетную запись, точно так же, как с помощью любого другого поставщика SMTP и, наконец, предварительно просмотрите отправленное сообщение здесь, так как на самом деле никакие электронные письма не доставляются.

Даже если нет, the server logs in console that the message has been sent with no errors вы получите сообщение о том, что SMTP-сервер успешно принял вашу почту и добавил ее в очередь отправки, но это не гарантирует, что она будет доставлена. Принимающий SMTP-сервер все еще может отклонить его и отправить обратно сообщение о возврате.

person t.niese    schedule 30.05.2021