Listmonk dengan Forward Email untuk Pengiriman Newsletter yang Aman
Gambaran Umum
Panduan ini memberikan instruksi langkah demi langkah bagi pengembang untuk mengatur Listmonk, sebuah pengelola newsletter dan daftar mailing open-source yang kuat, untuk menggunakan Forward Email sebagai penyedia SMTP-nya. Kombinasi ini memungkinkan Anda mengelola kampanye secara efektif sekaligus memastikan pengiriman email yang aman, privat, dan andal.
- Listmonk: Mengelola manajemen pelanggan, organisasi daftar, pembuatan kampanye, dan pelacakan kinerja.
- Forward Email: Bertindak sebagai server SMTP yang aman, menangani pengiriman email dengan fitur keamanan bawaan seperti SPF, DKIM, DMARC, dan enkripsi TLS.
Dengan mengintegrasikan keduanya, Anda mempertahankan kendali penuh atas data dan infrastruktur Anda sambil memanfaatkan sistem pengiriman yang kuat dari Forward Email.
Mengapa Listmonk dan Forward Email
- Open Source: Baik Listmonk maupun prinsip di balik Forward Email menekankan transparansi dan kontrol. Anda meng-host Listmonk sendiri, sehingga memiliki data Anda.
- Fokus Privasi: Forward Email dibangun dengan privasi sebagai inti, meminimalkan penyimpanan data dan fokus pada transmisi yang aman.
- Efektif Biaya: Listmonk gratis, dan Forward Email menawarkan tingkatan gratis yang murah hati serta paket berbayar yang terjangkau, menjadikannya solusi ramah anggaran.
- Skalabilitas: Listmonk sangat berkinerja tinggi, dan infrastruktur Forward Email dirancang untuk pengiriman yang andal dalam skala besar.
- Ramah Pengembang: Listmonk menawarkan API yang kuat, dan Forward Email menyediakan integrasi SMTP yang sederhana serta webhook.
Prasyarat
Sebelum memulai, pastikan Anda memiliki hal-hal berikut:
- Sebuah Virtual Private Server (VPS) yang menjalankan distribusi Linux terbaru (disarankan Ubuntu 20.04+) dengan minimal 1 CPU dan 1GB RAM (disarankan 2GB).
- Butuh penyedia? Lihat daftar VPS yang direkomendasikan.
- Nama domain yang Anda kendalikan (akses DNS diperlukan).
- Akun aktif dengan Forward Email.
- Akses root atau
sudoke VPS Anda. - Familiaritas dasar dengan operasi baris perintah Linux.
Instalasi
Langkah-langkah ini memandu Anda melalui instalasi Listmonk menggunakan Docker dan Docker Compose di VPS Anda.
1. Perbarui Server Anda
Pastikan daftar paket sistem dan paket yang terinstal sudah terbaru.
sudo apt update && sudo apt upgrade -y
2. Instal Dependensi
Instal Docker, Docker Compose, dan UFW (Uncomplicated Firewall).
sudo apt install -y docker.io docker-compose ufw
3. Unduh Konfigurasi Listmonk
Buat direktori untuk Listmonk dan unduh file docker-compose.yml resmi.
mkdir listmonk && cd listmonk
curl -Lo docker-compose.yml https://raw.githubusercontent.com/knadh/listmonk/master/docker-compose.yml
File ini mendefinisikan kontainer aplikasi Listmonk dan kontainer database PostgreSQL yang dibutuhkan.
4. Konfigurasi Firewall (UFW)
Izinkan lalu lintas penting (SSH, HTTP, HTTPS) melalui firewall. Jika SSH Anda berjalan pada port non-standar, sesuaikan sesuai kebutuhan.
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
Konfirmasi pengaktifan firewall saat diminta.
5. Konfigurasi Akses HTTPS
Menjalankan Listmonk melalui HTTPS sangat penting untuk keamanan. Anda memiliki dua opsi utama:
Opsi A: Menggunakan Proxy Cloudflare (Direkomendasikan untuk Kesederhanaan)
Jika DNS domain Anda dikelola oleh Cloudflare, Anda dapat memanfaatkan fitur proxy mereka untuk HTTPS yang mudah.
- Tunjuk DNS: Buat record
Adi Cloudflare untuk subdomain Listmonk Anda (misalnya,listmonk.yourdomain.com) yang mengarah ke alamat IP VPS Anda. Pastikan Proxy status disetel ke Proxied (awan oranye). - Ubah Docker Compose: Edit file
docker-compose.ymlyang Anda unduh:Ini membuat Listmonk dapat diakses secara internal pada port 80, yang kemudian dapat diproksikan dan diamankan oleh Cloudflare dengan HTTPS.sed -i 's/9000:9000/80:9000/' docker-compose.yml
Opsi B: Menggunakan Reverse Proxy (Nginx, Caddy, dll.)
Sebagai alternatif, Anda dapat mengatur reverse proxy seperti Nginx atau Caddy di VPS Anda untuk menangani terminasi HTTPS dan memproksikan permintaan ke Listmonk (yang berjalan pada port 9000 secara default).
- Pertahankan
ports: - "127.0.0.1:9000:9000"default didocker-compose.ymlagar Listmonk hanya dapat diakses secara lokal. - Konfigurasikan reverse proxy pilihan Anda untuk mendengarkan pada port 80 dan 443, mengelola perolehan sertifikat SSL (misalnya melalui Let's Encrypt), dan meneruskan lalu lintas ke
http://127.0.0.1:9000. - Pengaturan reverse proxy secara rinci berada di luar cakupan panduan ini, tetapi banyak tutorial tersedia secara online.
6. Mulai Listmonk
Kembali ke direktori listmonk Anda (jika belum berada di sana) dan mulai kontainer dalam mode terpisah.
cd ~/listmonk # Atau direktori tempat Anda menyimpan docker-compose.yml
docker compose up -d
Docker akan mengunduh image yang diperlukan dan memulai aplikasi Listmonk serta kontainer database. Ini mungkin memakan waktu satu atau dua menit pada kali pertama.
✅ Akses Listmonk: Sekarang Anda harus dapat mengakses antarmuka web Listmonk melalui domain yang Anda konfigurasi (misalnya, https://listmonk.yourdomain.com).
7. Konfigurasi SMTP Forward Email di Listmonk
Selanjutnya, konfigurasikan Listmonk untuk mengirim email menggunakan akun Forward Email Anda.
- Aktifkan SMTP di Forward Email: Pastikan Anda telah menghasilkan kredensial SMTP di dashboard akun Forward Email Anda. Ikuti panduan Forward Email untuk mengirim email dengan domain kustom via SMTP jika belum melakukannya.
- Konfigurasikan Listmonk: Masuk ke panel admin Listmonk Anda.
-
Navigasi ke Settings -> SMTP.
-
Listmonk memiliki dukungan bawaan untuk Forward Email. Pilih ForwardEmail dari daftar penyedia, atau masukkan secara manual detail berikut:
Pengaturan Nilai Host smtp.forwardemail.netPort 465Auth protocol LOGINUsername Username SMTP Forward Email Anda Password Password SMTP Forward Email Anda TLS SSL/TLSFrom e-mail Alamat Fromyang Anda inginkan (misalnya,newsletter@yourdomain.com). Pastikan domain ini dikonfigurasi di Forward Email.
-
-
Penting: Selalu gunakan Port
465denganSSL/TLSuntuk koneksi aman dengan Forward Email (direkomendasikan). Port587dengan STARTTLS juga didukung tetapi SSL/TLS lebih disarankan.- Klik Simpan.
- Kirim Email Uji: Gunakan tombol "Kirim Email Uji" di halaman pengaturan SMTP. Masukkan alamat penerima yang dapat Anda akses dan klik Kirim. Verifikasi bahwa email tiba di kotak masuk penerima.
8. Konfigurasi Pemrosesan Bounce
Pemrosesan bounce memungkinkan Listmonk secara otomatis menangani email yang tidak dapat dikirim (misalnya, karena alamat tidak valid). Forward Email menyediakan webhook untuk memberi tahu Listmonk tentang bounce.
Pengaturan Forward Email
- Masuk ke Dashboard Forward Email.
- Navigasikan ke Domains, pilih domain yang Anda gunakan untuk pengiriman, dan buka halaman Settings-nya.
- Gulir ke bawah ke bagian Bounce Webhook URL.
- Masukkan URL berikut, ganti
<your_listmonk_domain>dengan domain atau subdomain tempat instance Listmonk Anda dapat diakses:
Contoh:https://<your_listmonk_domain>/webhooks/service/forwardemailhttps://listmonk.yourdomain.com/webhooks/service/forwardemail - Gulir lebih jauh ke bagian Webhook Signature Payload Verification Key.
- Salin kunci verifikasi yang dihasilkan. Anda akan membutuhkannya di Listmonk.
- Simpan perubahan di pengaturan domain Forward Email Anda.
Pengaturan Listmonk
- Di panel admin Listmonk Anda, buka Settings -> Bounces.
- Aktifkan Enable bounce processing.
- Aktifkan Enable bounce webhooks.
- Gulir ke bawah ke bagian Webhook Providers.
- Aktifkan Forward Email.
- Tempel Webhook Signature Payload Verification Key yang Anda salin dari dashboard Forward Email ke kolom Forward Email Key.
- Klik Simpan di bagian bawah halaman.
- Pemrosesan bounce kini sudah dikonfigurasi! Ketika Forward Email mendeteksi bounce untuk email yang dikirim oleh Listmonk, ia akan memberi tahu instance Listmonk Anda melalui webhook, dan Listmonk akan menandai pelanggan sesuai.
- Selesaikan langkah-langkah di bawah ini pada bagian Testing untuk memastikan semuanya berfungsi.
Pengujian
Berikut gambaran singkat fungsi inti Listmonk:
Buat Daftar Mailing
- Buka Lists di sidebar.
- Klik New List.
- Isi detailnya (Nama, Tipe: Public/Private, Deskripsi, Tag) dan Simpan.
Tambah Pelanggan
- Navigasi ke bagian Subscribers.
- Anda dapat menambahkan pelanggan:
- Manual: Klik New Subscriber.
- Impor: Klik Import Subscribers untuk mengunggah file CSV.
- API: Gunakan API Listmonk untuk penambahan secara programatik.
- Tetapkan pelanggan ke satu atau lebih daftar saat pembuatan atau impor.
- Praktik Terbaik: Gunakan proses double opt-in. Konfigurasikan ini di Settings -> Opt-in & Subscriptions.
Buat dan Kirim Kampanye
- Buka Campaigns -> New Campaign.
- Isi detail kampanye (Nama, Subjek, Email Pengirim, Daftar yang akan dikirimi).
- Pilih tipe konten Anda (Rich Text/HTML, Plain Text, Raw HTML).
- Buat isi email Anda. Anda dapat menggunakan variabel template seperti
{{ .Subscriber.Email }}atau{{ .Subscriber.FirstName }}. - Selalu kirim email uji terlebih dahulu! Gunakan opsi "Send Test" untuk melihat pratinjau email di kotak masuk Anda.
- Setelah puas, klik Start Campaign untuk mengirim segera atau jadwalkan untuk nanti.
Verifikasi
- Pengiriman SMTP: Secara rutin kirim email uji melalui halaman pengaturan SMTP Listmonk dan kampanye uji untuk memastikan email terkirim dengan benar.
- Penanganan Bounce: Kirim kampanye uji ke alamat email yang diketahui tidak valid (misalnya,
bounce-test@yourdomain.comjika Anda tidak memiliki yang asli, meskipun hasilnya bisa bervariasi). Periksa statistik kampanye di Listmonk setelah beberapa saat untuk melihat apakah bounce terdaftar. - Header Email: Gunakan alat seperti Mail-Tester atau periksa header email secara manual untuk memverifikasi bahwa SPF, DKIM, dan DMARC lolos, menandakan pengaturan yang benar melalui Forward Email.
- Log Forward Email: Periksa log dashboard Forward Email jika Anda mencurigai masalah pengiriman yang berasal dari server SMTP.
Catatan Pengembang
- Templating: Listmonk menggunakan mesin templating Go. Jelajahi dokumentasinya untuk personalisasi tingkat lanjut:
{{ .Subscriber.Attribs.your_custom_field }}. - API: Listmonk menyediakan REST API yang komprehensif untuk mengelola daftar, pelanggan, kampanye, template, dan lainnya. Temukan tautan dokumentasi API di footer instance Listmonk Anda.
- Custom Fields: Definisikan bidang pelanggan khusus di bawah Settings -> Subscriber Fields untuk menyimpan data tambahan.
- Webhooks: Selain bounce, Listmonk dapat mengirim webhook untuk event lain (misalnya, langganan), memungkinkan integrasi dengan sistem lain.
Kesimpulan
Dengan mengintegrasikan kekuatan self-hosted Listmonk dengan pengiriman Forward Email yang aman dan menghormati privasi, Anda menciptakan platform pemasaran email yang kuat dan etis. Anda mempertahankan kepemilikan penuh atas data audiens Anda sambil mendapatkan manfaat dari deliverability tinggi dan fitur keamanan otomatis.
Pengaturan ini menyediakan alternatif yang skalabel, hemat biaya, dan ramah pengembang dibandingkan layanan email proprietary, yang selaras sempurna dengan etos perangkat lunak open-source dan privasi pengguna.
Selamat Mengirim! 🚀