Cara Mengirim Email Massal dengan JavaScript (Node.js) dan Excel
Cara Mengirim Email Massal dengan JavaScript (Node.js) dan Excel
Mengirim email massal sering kali diperlukan dalam berbagai situasi, seperti kampanye pemasaran, pemberitahuan pelanggan, atau komunikasi internal perusahaan. Dalam artikel ini, kita akan membahas cara mengirim email massal menggunakan JavaScript (Node.js) dengan sumber data dari file Excel.
Apa yang Kita Butuhkan?
Sebelum mulai, pastikan Anda memiliki:
✅ Node.js terinstal di
komputer Anda
✅
Akun email SMTP (misalnya
Gmail, Outlook, atau layanan SMTP lainnya)
✅
File Excel (.xlsx) berisi
daftar penerima
Langkah 1: Persiapan Proyek Node.js
Pertama, buat folder proyek dan instal dependensi yang dibutuhkan:
📌 Penjelasan:
-
nodemailer → Untuk mengirim email
-
xlsx → Untuk membaca file Excel
-
dotenv → Untuk menyimpan kredensial dengan aman
Langkah 2: Buat File Excel Berisi Daftar Penerima
Buat file emails.xlsx dengan format seperti ini:
Nama | |
---|---|
Andi | andi@email.com |
Budi | budi@email.com |
Citra | citra@email.com |
Langkah 3: Konfigurasi Kredensial SMTP
Buat file .env untuk menyimpan kredensial email Anda:
🔒 Catatan: Jika menggunakan Gmail, Anda perlu mengaktifkan App Password atau menggunakan layanan SMTP lain.
Langkah 4: Buat Script untuk Mengirim Email
Buat file sendEmails.js dan tambahkan kode berikut
const nodemailer = require("nodemailer"); const xlsx = require("xlsx"); require("dotenv").config(); // 1. Baca Data dari File Excel const readExcel = (file) => { const workbook = xlsx.readFile(file); const sheet = workbook.Sheets[workbook.SheetNames[0]]; return xlsx.utils.sheet_to_json(sheet); }; // 2. Konfigurasi Transporter Email const transporter = nodemailer.createTransport({ host: process.env.SMTP_HOST, port: process.env.SMTP_PORT, secure: false, auth: { user: process.env.SMTP_USER, pass: process.env.SMTP_PASS } }); // 3. Fungsi Mengirim Email const sendEmail = async (recipient) => { const mailOptions = { from: process.env.SMTP_USER, to: recipient.Email, subject: "Email Massal dari Node.js", text: `Halo ${recipient.Nama}, ini adalah email massal yang dikirim menggunakan Node.js dan Excel!`, }; try { await transporter.sendMail(mailOptions); console.log(`✅ Email terkirim ke ${recipient.Email}`); } catch (error) { console.error(`❌ Gagal mengirim ke ${recipient.Email}: ${error.message}`); } }; // 4. Baca Data dan Kirim Email const recipients = readExcel("emails.xlsx"); recipients.forEach((recipient) => { sendEmail(recipient); });
Langkah 5: Jalankan Script
Setelah semuanya siap, jalankan perintah berikut di terminal:
Jika berhasil, Anda akan melihat output seperti ini:
🎉 Selesai! Sekarang Anda telah berhasil mengirim email massal menggunakan Node.js dan file Excel.
Kesimpulan
Dengan Node.js, kita bisa mengotomatisasi pengiriman email dalam jumlah besar dengan mudah. Menggunakan file Excel sebagai sumber data membuatnya fleksibel untuk berbagai kebutuhan. Jika ingin mengembangkan lebih lanjut, Anda bisa:
-
Menambahkan template HTML agar email lebih menarik
-
Menggunakan layanan cloud SMTP seperti SendGrid atau Mailgun
-
Menjadwalkan pengiriman email menggunakan cron jobs
Semoga bermanfaat! 🚀