Wednesday, 14 August 2019

Mengirim Banyak Email Sekaligus Dengan Nodemailer

cara membuat bot email di node js - Selamat datang kembali di artikel TB. Pada kesempatan kali ini saya akan membagikan tutorial termudah seputar pemrograman web, terkhusus untuk sistem yang berbasis server node js.

Di semua situs web besar, jika kita mendaftar di suatu layanannya, maka kita akan diminta untuk memasukan email untuk verifikasi. Dan kedepannya, kita mungkin akan menerima banyak email dari situs tersebut. Baik panduan, iklan atau promosi, dan lain sebagainya.

Semua itu dikirim oleh robot yang diprogram. Bayangkan dimana kita bisa mengirim email ke ratusan bahkan ribuan akun yang berbeda hanya dengan sekali klik. Hal tersebut bisa terjadi karena adanya sistem bot ini.

Baca Juga: Cara Menjalankan ES6 di Node JS (Enable ES6 Support)

Sekarang saya akan mempraktekan cara mengirim banyak email ke suatu akun ataupun ke tiap akun yang berbeda. Dengan tutorial sederhana ini, nantinya mudah untuk dikembangan menjadi sistem aktivasi email, mengirim email ke semua pengguna web tertentu, bahkan beriklan.

Banyak cara untuk mengirim email ke banyak akun. Namun sesuai judul, kita akan menggunakan server Node JS dengan bantuan package Nodemailer.


Sebelum memulai, penting untuk diketahui bahwa di artikel ini saya menggunakan server email dari GMAIL untuk mengirim email ke banyak akun. Tujuannya untuk mempermudah kalian untuk belajar. Nantinya mungkin bisa dikembangkan lagi dengan menggunakan server email sendiri.

Nah, karena kita menggunakan GMAIL, maka kita harus konfigurasi sedikit di akun google. Silahkan masuk dulu ke Akun Google yang ingin dijadikan pengirim email, lalu kunjungi link dibawah ini.

https://myaccount.google.com/lesssecureapps


Pastikan slider yang saya tandai dengan lingkaran merah sudah dalam posisi menyala atau berwarna biru. Hal ini berarti kita mengizinkan akun google kita untuk digunakan di aplikasi lain. Dalam hal ini, kita akan menggunakan akun GMAIL untuk digunakan sebagai pengirim ke ratusan bahkan ribuan email dengan sekali klik.

Oke, setelah izin diberikan, tinggal kita masuk ke coding..

1. Install package Nodemailer

npm install nodemailer

2. Import Nodemailer

import nodemailer from 'nodemailer' // untuk ES6 

const nodemailer = require('nodemailer') // untuk Javascript biasa 

3. Masukan script ini untuk membuat sistem pengirim email

var transporter = nodemailer.createTransport({
    host: 'smtp.gmail.com',
    port: 465,
    secure: true,
    auth: {
        // ganti dengan akun email mu
        user: 'email mu',
        pass: 'password email mu'
    },
    tls: {
        rejectUnauthorized: false
    }
});

var mailOptions = {
    to: 'temanku@gmail.com, temankulagi@gmail.com, temankuyanglain@yahoo.com',
    subject: 'Mengirim Email Dengan Node JS',
    html: 'Mantap.. Email udah masuk! <a href="https://teziger.blogspot.com">Aku Sebuah Link</a>'
};

transporter.sendMail(mailOptions, (err, info) => {
    if (err) throw err;
    console.log('Email sent: ' + info.response);
});

Silahkan save dan jalankan filenya. Jika terdapat notifikasi seperti ini:

Email sent: 250 2.0.0 OK  1565757272 10sm22044890pfv.63 - gsmtp

Email sudah terkirim. Silahkan cek!

Cara Kerja

Nodemailer memiliki fungsi untuk membuat sebuah transporter. Disini saya beri variabel bernama transporter. Didalam transporter ini terdapat informasi mengenai akun pengirim alias akun email kita. Sepert penyedia host mail server, port mail server, alamat email, password, dan lain sebagainya.


var transporter = nodemailer.createTransport({
    host: 'smtp.gmail.com',
    port: 465,
    secure: true,
    auth: {
        // ganti dengan akun email mu
        user: 'email mu',
        pass: 'password email mu'
    },
    tls: {
        rejectUnauthorized: false
    }
});

Setelah transport alias pengirim diset, maka selanjutnya kita mengatur penerimanya. Disini kita hanya perlu sebuah Object biasa saja dengan key: to, subject, dan html. Saya menyimpannya dalam variabel bernama mailOptions


var mailOptions = {
    to: 'temanku@gmail.com, temankulagi@gmail.com, temankuyanglain@yahoo.com',
    subject: 'Mengirim Email Dengan Node JS',
    html: 'Mantap.. Email udah masuk! <a href="https://teziger.blogspot.com">Aku Sebuah Link</a>'
};

Key 'to' berisi alamat email penerima. Kita bisa memasukan berapapun email penerima.
Key 'subject' berisi subject email yang akan tampil di penerima.
Key 'html' berisi konten email dengan format html. Jadi kita bisa menambahkan teks, link, tombol, gambar, audio, maupun video dalam konten email.

Setelah pengirim dan penerima diset, saatnya meneruskan transport agar mengirim email. Disini kita menggunakan fungsi sendMail() dari variabel transport yang kita buat tadi sehingga menjadi

transport.sendMail()
Oke, sekian artikel kali ini tentang cara membuat bot email dengan node js menggunakan nodemailer. Semoga bermanfaat! Terima Kasih!

0 komentar

Post a Comment

Hai, Mohon Komentar Yang Relevan Dan Tidak OOT!