PT Aktiva Kreasi Investama

Aktiva-Logo
NodeJS

Bagaimana Cara Mengirim Email via SMTP di NodeJS?

Email merupakan salah satu hal yang penting pada aplikasi, terutama terhadap aplikasi perusahaan yang memiliki model bisnis transaksional. Email menjadi salah satu platform yang cukup sering digunakan untuk komunikasi antara perusahaan dengan customer, terutama dalam era digital yang semakin maju saat ini. Email memungkinkan perusahaan dan pelanggan untuk berkomunikasi dalam waktu yang fleksibel, sehingga memudahkan kedua belah pihak dalam menentukan waktu yang tepat untuk melakukan interaksi.

Perusahaan biasanya memanfaatkan email untuk kegiatan transaksional dan notifikasi seperti: email pendaftaran, email lupa password, transaksi pembelian dan sebagainya (Baca juga: 8 Contoh Penggunaan Email Transaksional). Maka dari itu aplikasi sangat berperan dalam proses pengiriman email ke customer, terutama dari sisi backend aplikasi tersebut. Salah satu teknologi yang cukup banyak digunakan pada backend server adalah NodeJS yang berbasis JavaScript.

Bagaimana Metode Pengiriman Email di NodeJS?

Pada aplikasi backend, kita dapat menggunakan 2 metode pengiriman email yang cukup familiar dan banyak digunakan. Ada yang menggunakan API untuk mengirimkan email, tentunya kita membutuhkan email service provide yang menyediakan layanan pengiriman email melalui API. Selain itu, salah satu metode pengiriman email yang sering digunakan adalah melalui SMTP.

Pengiriman email menggunakan SMTP ini cukup mudah dan kita dapat menggunakan berbagai provider email service. Mari kita bahas lebih detail panduan dan cara mengirimkan email di Node JS melalui SMTP server.

Cara Mengirim Email via SMTP di NodeJS dengan Nodemailer

Nodemailer merupakan salah satu module yang populer untuk mengirimkan email pada aplikasi NodeJS. Pada tutorial ini kita akan menggunakan Nodemailer untuk mengirimkan email melalui SMTP server. Untuk melakukan konfigurasi, anda dapat mengikuti langkah-langkah berikut.

Menyiapkan Akun SMTP 

Terdapat banyak sekali penyedia layanan SMTP yang ada saat ini, dan anda dapat memilih salah satunya. Namun jika anda bingung dan tidak memiliki referensi, kami memiliki layanan Aktiva Transaksional Email yang dapat membantu pengiriman email anda melalui SMTP. Kami dapat memberikan trial layanan secara GRATIS tanpa syarat selama 7 hari.

Jika sudah melakukan pendaftaran dan setup trial layanan tersebut, anda dapat menyimpan informasi akun SMTP yang diberikan pada halaman Setup Layanan. Berikut sample credentials SMTP dari Aktiva Transaksional Email yang akan digunakan:

Akses: relay.aktiva.co.id
Port: 587 SSL/TLS
Username: relay.perusahaan-tld@aktiva.co.id
Password: *********************

Instalasi Nodemailer pada NodeJS

Setelah akun SMTP sudah siap, anda bisa melakukan instalasi module Nodemailer pada aplikasi NodeJS yang dimiliki. Silakan lakukan instalasi nodemailer pada aplikasi NodeJS anda

npm install nodemailer

Konfigurasi SMTP di Nodemailer

Lakukan konfigurasi SMTP pada Nodemailer untuk email yang ingin anda kirimkan. Buat sebuah objek baru bernama transporter yang akan bertugas untuk mengirimkan email ke tujuan. Silakan perhatikan kembali authentikasi yang ada dan sesuaikan dengan akun SMTP yang sudah anda miliki sebelumnya

const nodemailer = require("nodemailer");

const transporter = nodemailer.createTransport({
   host: 'relay.aktiva.co.id',
   port: 587,
   auth: {
       user: 'your-smtp-account@aktiva.co.id',
       pass: 'your-smtp-account-password'
   },
   tls: {
            rejectUnauthorized: true,
        },
});

Setup Pengiriman Email

Apabila SMTP sudah berhasil disetup, selanjutnya kita harus menyiapkan fungsi untuk melakukan pengiriman email. Kita harus mendefinisikan sesuai dengan format email yang sesuai. Pada nodemailer, kita dapat menggunakan fungsi sendMail() seperti berikut

transporter.sendMail({
   from: "SENDER_EMAIL", // verified sender email
   to: "RECIPIENT_EMAIL", // recipient email
   subject: "Your Subject Email", // Subject line
   text: "Hello world!", // plain text body
   html: "Hello world!", // html body
 }, 
function(error, info){
   if (error) {
     console.log(error);
   } else {
     console.log('Email sent: ' + info.response);
   }
 });

Anda dapat menggunakan plain text untuk body email tersebut atau format html untuk tampilan email yang lebih professional.

 

Test Pengiriman Email

Apabila semuanya sudah sesuai, silakan lakukan testing untuk pengiriman email tersebut dengan menggunakan node. Pastikan akun SMTP anda aktif dan dapat digunakan sebelum melakukan testing pengiriman email tersebut.

Jika anda ingin melakukan pengiriman email ke banyak tujuan, anda dapat menggunakan koma “,” sebagai pemisah antar masing-masing email.

 

Penutup & Kesimpulan

Pada penggunaan di aplikasi, biasanya kita membutuhkan banyak pengiriman email dengan berbagai isian yang berbeda. Misalkan untuk: email registrasi, email reset password, email transaksi pembelian, dsb. Anda dapat membut lebih dari 1 file js yang dapat melakukan pengiriman email sesuai dengan fungsi atau tipe email yang dibutuhkan.

Sebagai bentuk keamanan, anda dapat menyimpan credentials akun SMTP anda pada file ENV server NodeJS yang digunakan. Tujuannya agar akun SMTP anda tidak terekspose dan disalahgunakan oleh pihak yang tidak bertanggungjawab untuk aktivitas spamming.

Untuk kebutuhan SMTP, anda dapat menggunakan layanan Aktiva Transaksional Email dari PT Aktiva Kreasi Investama. Kami menawarkan berbagai paket dengan spesifikasi beragam yang dapat disesuaikan dengan kebutuhan anda. Apabila kebutuhannya dalam jumlah banyak, anda dapat menghubungi kami untuk menggunakan paket custom dengan volume email yang lebih tinggi.

Dashboard layanan Aktiva Transaksional Email untuk mengirimkan email via SMTP

Dilengkapi dengan dashboard, anda dapat melakukan monitoring dan tracking pengiriman email yang sudah dilakukan. Sehingga anda dapat lebih jelas mengetahui status pengiriman email yang dikirimkan ke customer anda. Kami juga menyediakan report yang disajikan dalam bentuk data dan visual untuk memudahkan anda dalam melihat report kiriman yang sudah dilakukan.

 

Email : sales@aktiva.co.id
Telp/Fax : 021-82678811.
Mobile (WA) : +62 813-1834-9824
Facebook : PT Aktiva Kreasi Investama
Instagram : PT Aktiva Kreasi Investama

 

 

Leave a Comment

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