Bagaimana Cara Mengirim Email di Node.js ?

ID • 6 months ago • 8 min read • 1336 views
Bagaimana Cara Mengirim Email di Node.js ?

Bagaimana Cara Mengirim Email di Node.js ?

id8 min read • 1336 views

Bagaimana Cara Mengirim Email di Node.js ?

Bagaimana Cara Mengirim Email di Node.js ?

Kalau diibaratkan, email itu kayak surat cinta digital. Bedanya, kalau dulu kita perlu amplop, perangko, dan tukang pos, sekarang kita cuma butuh koneksi internet, kode sedikit, lalu klik jalan. Di dunia Node.js, hal ini bisa dilakukan dengan sangat mudah pakai modul bernama Nodemailer. Bayangin Nodemailer sebagai “kurir” yang siap mengantarkan pesan kamu ke inbox orang lain.

Artikel ini bakal bahas step by step gimana cara kirim email dengan Node.js. Santai aja, bahasanya nggak kaku—anggap aja lagi ngobrol di warung kopi sambil buka laptop.

Persiapan Awal: Membuka Jalur Komunikasi

Langkah pertama, bikin project baru dulu. Anggap aja kayak nyiapin meja kerja sebelum bikin karya.

  • mkdir nodejs-email && cd nodejs-email

Setelah itu, install Nodemailer. Ini adalah modul sakti yang akan jadi jembatan antara kode kita dengan server email.

  • npm install nodemailer

Tunggu sampai instalasi selesai. Kalau sudah, artinya jalur komunikasi udah siap.

Baca Juga

 

Membuat Program Pertama untuk Kirim Email

Sekarang, kita bikin file bernama send_email.js. Isinya seperti ini:

var nodemailer = require('nodemailer');


var transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: '[email protected]',
        pass: 'your password'
    }
});


var mailOptions = {
    from: '[email protected]',
    to: '[email protected]',
    subject: 'Sending Email using Nodejs',
    text: 'That was easy!'
};


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

Kode di atas bisa diibaratkan kayak bikin surat. Ada pengirim, ada penerima, ada subjek, dan tentu ada isi pesan.

  • transporter = kurir yang bakal kirim surat.
  • mailOptions = isi suratnya (alamat tujuan, isi, subjek).
  • sendMail() = perintah buat si kurir jalan

Coba jalankan file ini dengan:

  • node send_email.js

Kalau sukses, kamu akan lihat pesan:

  • Email sent: 250 2.0.0 OK

 

Penjelasan Step by Step

  1. Mengimpor Nodemailer

var nodemailer = require('nodemailer');

Ini sama kayak ngundang tukang pos masuk ke kantor kita.

  1. Membuat Transporter

var transporter = nodemailer.createTransport({...});

Transporter ini ibarat armada kurir. Kita kasih tahu dia mau pakai layanan apa (contohnya Gmail).

  1. Membuat Mail Options

var mailOptions = {...};

Bagian ini adalah isi surat kita. Dari siapa, ke siapa, judulnya apa, dan isi tulisannya.

  1. Mengirim Email

transporter.sendMail(mailOptions, (err, info) => {...});

Nah, ini langkah terakhir: kasih surat ke kurir, biar langsung dikirim.

 

Kirim Email ke Banyak Orang Sekaligus

Kamu bisa aja pengen ngirim undangan reuni, newsletter, atau broadcast. Tinggal isi bagian to dengan banyak alamat email, dipisahkan pakai koma.

var mailOptions = {
  from: '[email protected]',
  to: '[email protected], [email protected]',
  subject: 'Sending Email using Node.js',
  text: 'That was easy!'
}

Ini kayak nulis banyak nama di amplop, sekali kirim langsung tersebar.

 

Kirim Email Berisi HTML

Kalau cuma teks, kadang terasa hambar. Supaya lebih menarik, kita bisa kirim email berbasis HTML.

var mailOptions = {
  from: '[email protected]',
  to: '[email protected]',
  subject: 'Sending Email using Node.js',
  html: '<h1>Welcome</h1><p>That was easy!</p>'
}

Dengan ini, email kamu bisa punya judul besar, warna, bahkan gambar. Ibarat surat cinta, bukan cuma tulisan tangan, tapi juga dihias bunga.

Tips: kamu bisa pakai file HTML terpisah dan baca pakai modul fs.

 

Kirim Lampiran

Kadang kita nggak cuma mau kirim teks, tapi juga file penting: laporan, gambar, atau dokumen. Dengan Nodemailer, gampang banget.

var nodemailer = require('nodemailer');


var transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: '[email protected]',
        pass: 'your password'
    }
});


var mailOptions = {
    from: '[email protected]',
    to: '[email protected]',
    subject: 'Sending Email using Nodejs',
    html: '<h1>Welcome</h1><p>That was easy!</p>',
    attachments: [
        {
            filename: 'text1.txt',
            content: 'hello world!'
        }
    ]
};


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

Attachment bisa berupa teks, gambar, file PDF, bahkan file dari internet. Praktis banget.

 

Tips dan Filosofi di Balik Kirim Email dengan Node.js

  1. Jangan Lupa Keamanan

Jangan pernah taruh password email langsung di kode. Gunakan environment variable atau file .env. Ibarat kunci rumah, jangan ditulis di tembok depan.

Contoh pakai dotenv:

npm install dotenv


require('dotenv').config();


var transporter = nodemailer.createTransport({
    service: 'gmail',
    auth: {
        user: process.env.EMAIL_USER,
        pass: process.env.EMAIL_PASS
    }
});
  1. Gunakan Aplikasi Khusus

Gmail biasanya butuh "App Password" atau setting “Allow less secure apps”. Jadi jangan heran kalau pertama kali coba, ada error login.

  1. Email itu Jembatan Komunikasi

Email adalah salah satu cara manusia berhubungan di era digital. Filosofinya: kode kita bisa menghubungkan hati, pikiran, dan bisnis lintas benua hanya dengan beberapa baris script.

 

Informasi Tambahan: Integrasi Email untuk Bisnis dan Aplikasi

Kalau dipikir-pikir, mengirim email lewat Node.js itu bukan cuma buat iseng kirim “Hello World”. Banyak banget manfaat praktisnya:

  • Aplikasi E-commerce → bisa otomatis kirim invoice setelah orang belanja.
  • Aplikasi Startup → bisa kirim notifikasi verifikasi akun atau reset password.
  • Aplikasi Komunitas → bisa broadcast newsletter atau event reminder.

Bahkan beberapa perusahaan besar pakai sistem seperti ini untuk mengelola ribuan email setiap hari. Jadi skill ini bukan cuma teknis, tapi juga punya nilai bisnis yang nyata.

Selain itu, integrasi email lewat Node.js juga bisa dihubungkan dengan CRM (Customer Relationship Management) untuk memantau interaksi pelanggan. Misalnya, begitu ada user baru daftar, sistem bisa otomatis kirim email sambutan sekaligus mencatat data mereka ke database. Atau dalam bidang edukasi online, email dipakai untuk kirim sertifikat digital ke peserta kursus. Bahkan di dunia finansial, bank atau fintech sering menggunakan sistem serupa untuk mengirim OTP (One Time Password) sebagai pengaman transaksi. Dengan kata lain, menguasai cara mengirim email lewat Node.js adalah bekal penting untuk developer modern.

 

Filosofi: Email sebagai Titik Awal Automasi

Kalau kita renungkan, kirim email dengan Node.js ini bisa jadi pintu pertama ke dunia automasi. Hari ini kirim email, besok bikin notifikasi real-time, lusa bikin chatbot, dan seterusnya. Semua berawal dari keberanian nulis baris kode pertama.

Penutup

Dengan Nodemailer, kirim email lewat Node.js jadi gampang banget. Mulai dari teks sederhana, HTML interaktif, sampai lampiran file penting—semua bisa dilakukan hanya dengan beberapa baris kode. Fleksibilitas inilah yang bikin Nodemailer jadi salah satu paket wajib dipelajari oleh developer Node.js.

Namun, di balik kesederhanaannya, kemampuan ini punya peran besar di dunia nyata. Email bukan sekadar pesan, melainkan jembatan komunikasi digital yang menghubungkan individu, komunitas, bahkan bisnis berskala global. Dari sekadar ucapan selamat, promosi produk, hingga notifikasi sistem penting—semuanya bisa diotomatisasi dengan Node.js.

Pada akhirnya, Node.js adalah motor yang mendorong komunikasi digital jadi lebih cepat, efisien, dan elegan. Menguasai cara kerja pengiriman email di dalamnya bukan hanya soal teknis, tapi juga investasi pengetahuan yang bisa membuka banyak peluang di era digital ini.

Series: Nodejs
Published on November 06, 2025
Last updated on June 04, 2026

If you like this post and want to support us, you can support us via buymeacoffee or trakteer.