NodeJS: отправляйте электронные письма (например, уведомления пользователям моего приложения). Нет необходимости проходить аутентификацию или получать электронные письма.

Можем ли мы в NodeJS использовать несуществующий адрес электронной почты (например, [email protected]) для отправки писем?
Можем ли мы сделать это с помощью последней версии Nodemailer https://nodemailer.com/ ? Если


person Temp O'rary    schedule 07.07.2020    source источник
comment
@AndrewL64 AndrewL64 Конечно, можно, почтовые серверы понятия не имеют, no-reply настоящий или нет. Но если электронная почта блокируется спамом, это другая история.   -  person Keith    schedule 07.07.2020
comment
Как вы можете сделать это в Nodejs?   -  person Temp O'rary    schedule 08.07.2020
comment
Просто установите direct: true в настройках транспорта. Но имейте в виду, что в зависимости от того, куда отправляется электронное письмо, у него больше шансов заблокировать спам, а автоматический повтор и т. Д. Не является автоматическим. Итак, в идеале вы хотите установить свой SMTP на example.com, Auth с этим, и в зависимости от сервера может разрешить from, который не равен деталям Auth. Без какой-либо формы аутентификации вы, вероятно, будете заблокированы.   -  person Keith    schedule 08.07.2020


Ответы (2)


Документация для nodemailer показывает, что вы указываете адрес отправителя, поэтому: да.

Адреса отправителей имеют произвольную форму и находятся под контролем отправителя. Без комбинирования их с такими инструментами, как SPF, их легко подделать.

Вам, конечно, понадобится настоящий SMTP-сервер для отправки электронной почты.

person Quentin    schedule 07.07.2020
comment
Как я могу сделать это в NodeJS/Koa? настроить SMTP-сервер? - person Temp O'rary; 07.07.2020
comment
Вы этого не сделаете (по крайней мере, на практике). Вы находите хостинг, который предоставляет вам один. - person Quentin; 07.07.2020
comment
Вам не нужен SMTP-сервер для отправки электронной почты. NodeMailer просматривает записи MX, чтобы определить, нужно ли отправлять сообщения. Говоря, что наличие собственного SMTP-сервера имеет свои преимущества, - person Keith; 07.07.2020
comment
По сути, я просто хочу отправлять электронные письма (например, уведомления пользователям моего приложения), мне не нужно проходить аутентификацию или получать электронные письма. - person Temp O'rary; 07.07.2020

Nodemailer — отличное приложение. Позвольте мне продемонстрировать пример кода с nodemailer

var nodemailer = require('nodemailer');

var transporter = nodemailer.createTransport({
  service: 'gmail',
  auth: {
    user: '[email protected]',
    pass: 'yourpassword'
  }
});

var mailOptions = {
  from: '[email protected]',
  to: '[email protected]',
  subject: 'Sending Email using Node.js',
  text: 'That was easy!'
};

transporter.sendMail(mailOptions, function(error, info){
  if (error) {
    console.log(error);
  } else {
    console.log('Email sent: ' + info.response);
  }
});

person Navvye    schedule 08.07.2020
comment
Однако в моем случае это несуществующий адрес электронной почты, поэтому я не могу его аутентифицировать или настроить. Следовательно, по моему опыту, это не работает. Пожалуйста, поправьте меня, если я ошибаюсь, и помогите мне правильно реализовать это. - person Temp O'rary; 08.07.2020
comment
Редактировать: вы не можете аутентифицировать его, если электронная почта не существует, Nodemailer выдаст ошибку, поэтому я думаю, что вы должны просто попытаться отправить письмо самому себе, чтобы проверить его. :) - person Navvye; 08.07.2020