Cara mengirim email di node.js – Codewithaden

Kami akan menggunakan kerangka kerja ekspres di atas aplikasi Node.js. Email adalah salah satu alat yang paling banyak digunakan untuk komunikasi dalam aplikasi web karena membantu Anda menjangkau pengguna secara langsung, membangun merek Anda, atau mengirim pemberitahuan umum.

Prasyarat

Untuk mengikuti, Anda harus memilikinya Node.js dan NPM (Node Package Manager) diinstal secara lokal.

Cara mengirim email di node.js

Untuk mengirim email di Node.js, gunakan nodemailer modul. Nodemailer adalah modul yang memberi Anda kemampuan untuk mengirim email tanpa kerumitan dengan mudah. Itu menggunakan a Protokol transfer surat sederhana ( Smtp ), protokol untuk mengirim pesan email antar server. Sebagian besar sistem email yang mengirim surat melalui dukungan internet Smtp -M pengiriman berbasis.

Dan coba tebak? SMTP adalah transportasi utama yang digunakan oleh nodemailer untuk mengirimkan pesan.

Langkah 1: Buat proyek dan konfigurasinya.

Buat direktori proyek, dan dalam hal itu, ketik perintah berikut di dalamnya.

npm init 

Kami akan menggunakan a Paket Nodemailer untuk mengirim email. Juga, kami menggunakan kerangka kerja web ekspres, jadi mari kita unduh keduanya.

npm install --save nodemailer express
 

Untuk menyingkirkan server setiap kali, kami menggunakan satu paket yang disebut server nodemon.

npm install nodemon --save-dev 

Di direktori root, buat satu JS file dipanggil server.js

// server.js

var express = require('express'),
    path = require('path'),
    nodeMailer = require('nodemailer');

    var app = express();
    var port = 3000;
    app.listen(port, function(req, res){
      console.log('Server is running at port: ',port);
    }); 

Ini hanya boilerplate untuk memulai proyek kami. Satu hal yang perlu kita lakukan adalah bahwa kita perlu memodifikasi skrip mulai di a package.json mengajukan.

// package.json

"scripts": {
    "start": "nodemon server"
  }, 

Jadi, ketika kita harus memulai server node, kita perlu menulis perintah berikut.

npm start 

Jika kita mengubah file, maka itu akan memulai kembali server secara otomatis.

Langkah 2: Gunakan EJS sebagai mesin templating.

Kita perlu memasang mesin templating yang dipanggil EJS (javascript tertanam) dengan mengetikkan perintah berikut.

npm install --save ejs 

Buat satu direktori di akar Folder memanggil publik.

// server.js

app.set('view engine', 'ejs');
app.use(express.static('public')); 

Kami sedang mengatur Mesin Templating EJS untuk aplikasi kami. Juga, kami melayani statis file dari publik direktori.

Kita juga perlu membuat satu folder lagi yang dipanggil Tampilan di folder root . Dalam hal itu, buat satu file yang dipanggil index.ejs

// index.ejs



  
    
    Nodemailer Email Example
    
  
  
    
Sending Email in Node.js

Kami telah menggunakan kelas bootstrap CSS di sini, jadi kami perlu memasukkan perpustakaan di dalam publik map.

 

Juga, buat satu rute untuk halaman beranda dengan mengetik kode berikut.

// server.js

app.get('/', function (req, res) {
   res.render('index');
}); 

Jika Anda belum memulai server, silakan mulai server dengan perintah berikut.

npm start 

Itu akan dimulai di port 3000 . Beralih ke URL: http://locahost:3000

send

Langkah 3: Buat formulir bootstrap dasar.

Buat satu formulir bootstrap untuk mengirim email. Kami akan memasukkan formulir itu di index.ejs mengajukan.




  
    
    Nodemailer Email Example
    
  
  
    

Send The Email


send Bentuk utama kami akan terlihat seperti ini.

Sekarang, atur aksi posting formulir.


Namun, kita perlu menginstal paket body-parser untuk mendapatkan semua data lapangan di sisi server.

Langkah 4: Tulis kode yang mengirim email.

npm install body-parser --save 

Gunakan paket ini di kami kerangka kerja ekspres dengan kode berikut.

// server.js

var bodyParser = require('body-parser');

app.use(bodyParser.urlencoded({extended: true}));
app.use(bodyParser.json()); 

Langkah selanjutnya adalah membuat rute untuk permintaan pos yang dikirim berdasarkan formulir dan menangani datanya. Jadi, final kami server.js File akan terlihat seperti ini.

// server.js
var express = require('express'),
    path = require('path'),
    nodeMailer = require('nodemailer'),
    bodyParser = require('body-parser');

    var app = express();
    app.set('view engine', 'ejs');
    app.use(express.static('public'));
    app.use(bodyParser.urlencoded({extended: true}));
    app.use(bodyParser.json());
    var port = 3000;
    app.get('/', function (req, res) {
      res.render('index');
    });
    app.post('/send-email', function (req, res) {
      let transporter = nodeMailer.createTransport({
          host: 'smtp.gmail.com',
          port: 465,
          secure: true,
          auth: {
              user: 'xxx@xx.com',
              pass: 'xxxx'
          }
      });
      let mailOptions = {
          from: '"Krunal Lathiya" ', // sender address
          to: req.body.to, // list of receivers
          subject: req.body.subject, // Subject line
          text: req.body.body, // plain text body
          html: 'NodeJS Email Tutorial' // html body
      };

      transporter.sendMail(mailOptions, (error, info) => {
          if (error) {
              return console.log(error);
          }
          console.log('Message %s sent: %s', info.messageId, info.response);
              res.render('index');
          });
      });
          app.listen(port, function(){
            console.log('Server is running at port: ',port);
          }); 

Di sini, saya telah menunjukkan kepada Anda untuk mengirim email melalui Gmail . Anda dapat menggunakan host lainnya. Pertama, Anda perlu mengambil kunci API mereka.

Jika Anda menggunakan Gmail, harap perbarui kredensial Anda di pilihan obyek.

Jika email berhasil dikirim, halaman formulir kami index.ejs akan kembali; Jika tidak, periksa konsol di terminal. Anda akan mendapatkan kesalahan di sana. Ini adalah contoh dari Mengirim email menggunakan nodemailer.

Fork Me On GitHub.

Langkah -langkah GitHub untuk diikuti:

  1. Kloning repositori.
  2. Dalam jenis proyek: Instal NPM
  3. Pergi ke server.js dan konfigurasikan klien email Anda.
  4. Mulai server dengan mengetik: Mulai NPM.

Jika Anda ragu, tanyakan pada komentar di bawah ini.

Artikel ini berasal dari website Winpoin, dan kemudian diterjemahkan ke bahasa indonesia, baca artikel asli disini

Leave a Reply

Your email address will not be published. Required fields are marked *