Как сделать обратную связь со своей формой на Node.JS?

Енот
Новичо́к, через «о́»
Регистрация
24 Окт 2019
Сообщения
154
#1
Всем добрый день!

Господа подскажите как средствами данного скрипта организовать отправку сообщений с сайта, формы планируется 2 , одна обратная связь , вторая абузы.
На сервере нет php и место того чтобы его поставить для обработки пхп файла с отправкой запроса, хочется попробовать реализовать на node js. Есть ли какой-нибудь функционал в данном софте.

форму планируется такого плана
<form action="" method="POST">
<label>Сообщение</label>
<textarea name="message"/></textarea>
<label>Ваше имя</label>
<input name="name" />
<label>Контактный email</label>
<input name="email">
<button type="submit">Отправить</button>
</form>

на абузу форму , еще чекать текущий урл и его вставлять в интут и отправлять с сообщением.
 
Регистрация
15 Дек 2017
Сообщения
5,067
#3
Если же Вы хотите сделать отправку своими силами, то так тоже можно.

В системе установлен SMTP-пакет, который отправляет письма правообладателям, потому можно «повесить» его на какой-то URL и отправлять письма Вам.

В /routes/website.js вставить router.post например перед router.get
JavaScript:
router.post('/email', function(req, res, next) {
  var transporter = require('nodemailer').createTransport({
    host: 'smtp.yandex.com',
    port: 465,
    secure: true,
    auth: {
      // SMTP-сервер, который будет отправлять письма
      user: 'my@YandexEmail',
      pass: 'myYandexPassword'
    }
  });
  var opt = {
    from: req.body.from,
    to: 'support@example.com', // Почта сайта
    subject: req.body.subject,
    html: req.body.message
  };
  transporter.sendMail(opt, function(err) {
    if (err) console.error(err);
    res.send('Send Message!');
  });
});
И соответственно форма:
HTML:
<form action="/email" method="POST">
    <label>Сообщение</label>
    <textarea name="message" /></textarea>
    <label>Тема</label>
    <input name="subject" />
    <label>Контактный email</label>
    <input name="from">
    <button type="submit">Отправить</button>
</form>
Данный код просто максимально упрощен, и не имеет никаких проверок и защиты.
 
Енот
Новичо́к, через «о́»
Регистрация
24 Окт 2019
Сообщения
154
#4
вот это и нужно было , отправлять средствами скрипта , огромное спасибо! отпишу с результатами тестов! благодарю!

p.s. сторонние сервисы тоже думал, но в итоге отказался, у нас верстка своя и свои верстки формы , делаем чтобы все было в одном стиле по интерфейсу , и инородные формы на сайте не кузяво будут смотреться, хотя гугл формы и можно через апи кастомизировать как угодно, но слишком много лишнего кода , что не есть гуд, даже вынесли на отдельный сервер пхпшки с отправкой почты , и обращаемся к ним при отправке , сам же пхп исполняется на другой железяке , бредово , но работает, но правда с точки зрения безопасности иззя так , ) так что ваше решение очень нам импонирует своей элегантностью ) это именно то чего мы хотели )
 
Последнее редактирование: