Testing Email Transaksional Tanpa Spam ke User Asli — SES Mailbox Simulator + MailAnvil
Testing Email Transaksional Tanpa Spam ke User Asli — SES Mailbox Simulator + MailAnvil
Masalah klasik developer Indonesia yang baru integrasi kirim email API: cara test alurnya tanpa mengirim ratusan email ke Gmail pribadi — atau lebih buruk, ke user asli. Email test yang gagal deliver masuk suppression list, domain reputation ikut kena, dan OTP development tidak sampai-sampai.
Ada cara resmi yang gratis dan tidak merusak reputation: AWS SES Mailbox Simulator. Tutorial ini menunjukkan setup lengkapnya dengan MailAnvil.
Kenapa tidak boleh test ke Gmail asal?
Tiga alasan:
- Suppression list. Satu hard bounce (misal typo
@gmial.com) dan alamat itu diblok permanen. Email produksi ke alamat serupa ikut gagal. - Reputation domain. Burst bounce dari pengiriman test menaikkan bounce rate domain pengirim — inbox placement turun untuk semua email berikutnya, termasuk OTP fintech dan invoice food delivery yang sedang berjalan.
- Kuota habis. Free plan MailAnvil 3.000 email/bulan — email test memakan kuota yang seharusnya untuk produksi.
SES Mailbox Simulator: alamat khusus untuk test
AWS menyediakan alamat test yang mensimulasikan hasil kirim tanpa benar-benar mengirim:
| Alamat | Mensimulasikan |
|---|---|
[email protected] |
Terkirim normal (delivered) |
[email protected] |
Hard bounce |
[email protected] |
Keluhan spam (complaint) |
[email protected] |
Bounce setelah diterima |
[email protected] |
Notifikasi feedback loop |
Kirim ke alamat ini dari domain terverifikasi Anda — SES memprosesnya di dalam sistem, tidak ada email nyata yang keluar, tidak ada bounce nyata yang mencoreng reputation.
1. Test alur OTP fintech end-to-end
Misal Anda membangun verifikasi untuk aplikasi P2P lending. Kirim OTP ke [email protected] lewat API MailAnvil:
curl -X POST https://api.mailanvil.com/v1/send \
-H "Authorization: Bearer $MAILANVIL_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"from": "OTP Fintech Kita <[email protected]>",
"to": ["[email protected]"],
"subject": "Kode verifikasi Anda: 482913",
"text": "Kode verifikasi Anda: 482913 (berlaku 10 menit)"
}'
Response 202 berarti email masuk antrean. Lalu cek status akhirnya:
curl https://api.mailanvil.com/v1/emails/em_XXXXXXXX \
-H "Authorization: Bearer $MAILANVIL_API_KEY"
Setelah beberapa detik, status berubah dari queued → sent → delivered. Ini membuktikan seluruh pipeline berjalan: API → antrean → SES → event SNS → update status per penerima.
2. Test jalur bounce dan suppression
Kirim ke [email protected], lalu coba kirim lagi ke alamat yang sama. Kiriman kedua langsung ditolak oleh suppression check — response error jelas, bukan diam-diam gagal. Ini persis perilaku yang Anda ingin pengguna produksi alami ketika email mereka tidak valid: penolakan di awal, bukan setelah antrean.
Untuk fintech, jalur complaint ([email protected]) penting di-test juga — satu complaint menandakan penerima melaporkan email Anda sebagai spam, dan sistem MailAnvil otomatis memasukkan alamat tersebut ke suppression. Berapa pun persen complaint-nya, alamat itu tidak akan dikirim lagi.
3. Test di staging dengan email developer sendiri
Mailbox Simulator tidak menunjukkan tampilan HTML di inbox. Untuk cek render:
- Pakai subdomain khusus staging (
[email protected]) — bounce di subdomain tidak menular ke domain produksi. - Gmail, Outlook, dan klien lokal punya render berbeda — minimal cek 2: Gmail web + aplikasi mobile.
- Tetap batasi volume: warmup domain itu nyata, dan pola "burst 50 email lalu sunyi" adalah pola spammer klasik yang detektor ISP Indonesia dan global kenal.
4. Baca log, bukan nebak
Setiap pengiriman via MailAnvil punya log per penerima: queued, sent, delivered, bounced, complained, beserta reason dari SES. Saat QA, alur kerjanya:
- Kirim ke simulator address yang relevan.
- Buka Logs di dashboard atau
GET /v1/emails. - Pastikan status dan reason SES cocok dengan ekspektasi (misal bounce reason
MailboxDoesNotExist). - Baru jalankan smoke test ke alamat tim sebelum rilis.
Checklist sebelum rilis ke produksi
- [ ] Alur delivered terbukti via
[email protected] - [ ] Jalur bounce → suppression terbukti via
[email protected] - [ ] Jalur complaint → suppression terbukti via
[email protected] - [ ] Template HTML + plain-text dirender benar di Gmail web dan mobile
- [ ] DKIM domain produksi terverifikasi (tab Domains)
- [ ] Rate limit dan
Idempotency-Keyaktif di kode pengirim
Semua langkah ini gratis dan tidak menyentuh satu pun user asli.
Ringkasan
Testing email transaksional bukan soal "kirim ke Gmail sendiri dan berdoa". SES Mailbox Simulator memberi jalur delivered, bounce, dan complaint yang bisa diverifikasi end-to-end — dari API sampai log per penerima — tanpa menyentuh reputation domain produksi. Untuk startup Indonesia yang membangun fintech, travel booking, atau e-commerce, ini standar QA minimum sebelum rilis.
Coba MailAnvil gratis di mailanvil.com.