Как отправить форму на электронную почту с помощью node и express

#node.js #forms #email #express

#node.js #формы #Адрес электронной почты #экспресс

Вопрос:

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

Комментарии:

1. Нет, у меня нет. Я интерфейсный разработчик, но у меня небольшой опыт работы с node.

2. Вы можете найти несколько статей в Интернете ( javascript.tutorialhorizon.com/2015/07/02 /… ). Я думаю, ваш вопрос слишком узок для сферы охвата веб-сайта.

Ответ №1:

Я считаю, что вы знаете, как отправить форму

Для отправки любой почты через узел установите популярный модуль «nodemailer»

1.установите модуль nodemailer в каталог вашего проекта

 npm install nodemailer
  

2-перейдите к контроллеру, где вы обрабатываете данные отправки формы на сервере

 var express = require('express'),
nodemailer = require("nodemailer");

app = express.createServer();

app.use(express.bodyParser());

app.post('/formProcess', function (req, res) {
    var data=req.body;

    var smtpTransport = nodemailer.createTransport("SMTP",{
       service: "Gmail", 
       auth: {
       user: "email@gmail.com",
       pass: "gmailPassword"
       }});

   smtpTransport.sendMail({  //email options
   from: "Sender Name <email@gmail.com>",
   to: "Receiver Name <receiver@email.com>", // receiver
   subject: "Emailing with nodemailer", // subject
   html: "here your data goes" // body (var data which we've declared)
    }, function(error, response){  //callback
         if(error){
           console.log(error);
        }else{
           console.log("Message sent: "   res.message);
       }

   smtpTransport.close(); 
    }); });