Email dari domain kantor kamu (kampus, instansi, perusahaan) selalu masuk spam Gmail? Lawan bicara komplain "saya tidak terima emailnya"? Bukan masalah konten. Bukan masalah server. Kemungkinan besar domain kamu belum punya SPF, DKIM, atau DMARC — tiga DNS record yang sekarang jadi syarat wajib email modern.
Apa Itu SPF, DKIM, DMARC? — Analogi Surat
Bayangkan email seperti surat fisik. Penerima curiga kalau ada surat datang tanpa identitas jelas. SPF, DKIM, dan DMARC adalah tiga lapis identitas surat email kamu:
Seperti daftar nama yang berhak mengirim atas nama perusahaan. SPF beri tahu dunia: "Hanya server di IP ini, ini, dan ini yang berhak kirim email atas nama domain kami." Provider penerima cek IP pengirim cocok dengan daftar — kalau tidak, suspicious.
Seperti tanda tangan basah di akhir surat. Setiap email yang kamu kirim ditandatangani dengan kunci kriptografi. Penerima cek tanda tangan dengan public key di DNS kamu. Kalau cocok = email belum diubah-ubah di tengah jalan, dan asli dari domain kamu.
Seperti instruksi ke kantor pos: "Kalau ada surat mengatasnamakan saya tapi gagal cek tanda tangan, tolong tolak (atau karantina)." DMARC kombinasikan hasil SPF + DKIM, lalu beri tahu provider penerima apa yang harus dilakukan.
Ketiganya saling melengkapi. SPF saja → tidak cukup (orang bisa palsukan IP). DKIM saja → tidak cukup (orang bisa pakai domain kamu tanpa tanda tangan). DMARC tanpa SPF/DKIM → tidak ada hasil untuk dicek. Pakai ketiganya.
Step 0 — Cek Status Domain Kamu Sekarang
Sebelum setup, cek dulu domain kamu sudah punya record apa saja. Kalau sudah ada SPF tapi belum DKIM/DMARC, tinggal lanjut. Kalau belum ada sama sekali, mulai dari nol.
# Cek SPF record
dig +short TXT example.com | grep spf
# Cek DKIM record (selector tergantung provider)
dig +short TXT default._domainkey.example.com
dig +short TXT google._domainkey.example.com # kalau pakai Google Workspace
# Cek DMARC record
dig +short TXT _dmarc.example.com
# Kalau output kosong = belum ada, harus setup
Setup SPF Record — Step 1
SPF adalah TXT record di DNS root domain kamu. Format:
# ══════════════════════════════════════════
# cekipsaya.com — network intelligence tools
# gratis untuk Indonesia: cek IP, DNS, ping,
# traceroute, blacklist check & more.
# ══════════════════════════════════════════
# SPF — domain mengizinkan kirim dari:
# - Server email sendiri (a, mx)
# - Google Workspace (include:_spf.google.com)
# - SendGrid kalau pakai (include:sendgrid.net)
# - Tolak yang lain (-all)
Type: TXT
Name: @ (atau kosongkan, artinya root domain)
Value: v=spf1 a mx include:_spf.google.com -all
TTL: 3600
| Provider Email | SPF Include | Catatan |
|---|---|---|
| Google Workspace | include:_spf.google.com | Wajib kalau pakai Gmail untuk domain kamu |
| Microsoft 365 | include:spf.protection.outlook.com | Wajib kalau pakai Outlook for Business |
| Zoho Mail | include:zoho.com | Free tier 5 user |
| SendGrid | include:sendgrid.net | Untuk email transactional/newsletter |
| Mailgun | include:mailgun.org | API-based |
| Amazon SES | include:amazonses.com | Untuk volume besar |
| Server email sendiri | a:mail.example.com | Atau ip4:103.10.x.x untuk IP spesifik |
Setup DKIM Record — Step 2
DKIM lebih kompleks karena melibatkan kriptografi. Tapi mayoritas provider modern auto-generate key untuk kamu. Tinggal copy-paste ke DNS.
- Login ke admin email provider. Google Workspace: admin.google.com → Apps → Gmail → Authenticate Email. Microsoft 365: admin.microsoft.com → Setup → Domain → DKIM.
- Generate DKIM key di admin panel. Provider akan kasih nama record (biasanya selector1, selector2, atau google, default) dan value panjang (~400 karakter).
- Copy nama dan value ke DNS domain kamu. Type: CNAME atau TXT (sesuai instruksi provider). Name biasanya: selector._domainkey.example.com.
- Tunggu DNS propagasi 30 menit - 24 jam. Cek dengan dig:
dig TXT default._domainkey.example.com - Aktifkan signing di admin panel setelah verify. Setiap email outbound mulai ditandatangani.
Setup DMARC Record — Step 3
DMARC adalah TXT record terpisah di subdomain _dmarc. Mulai dari policy yang lunak, baru bertahap ketat.
# ══════════════════════════════════════════
# cekipsaya.com — network intelligence tools
# gratis untuk Indonesia: cek IP, DNS, ping,
# traceroute, blacklist check & more.
# ══════════════════════════════════════════
# === FASE 1 (minggu 1-2) — Monitor saja ===
Type: TXT
Name: _dmarc
Value: v=DMARC1; p=none; rua=mailto:[email protected]; pct=100
# === FASE 2 (minggu 3-4) — Karantina 10% ===
Value: v=DMARC1; p=quarantine; rua=mailto:[email protected]; pct=10
# === FASE 3 (bulan 2+) — Reject penuh ===
Value: v=DMARC1; p=reject; rua=mailto:[email protected]; pct=100
Penjelasan parameter:
| Parameter | Arti | Pilihan |
|---|---|---|
| p= | Policy untuk email yang gagal cek | none / quarantine / reject |
| rua= | Email penerima laporan agregat harian | mailto:[email protected] |
| ruf= | Email penerima laporan forensic (per email) | mailto:[email protected] (optional) |
| pct= | Persen email yang policy-nya di-apply | 0-100 (100 = semua) |
| adkim= | Strict atau relax untuk DKIM alignment | s (strict) / r (relax, default) |
| aspf= | Strict atau relax untuk SPF alignment | s (strict) / r (relax, default) |
Verifikasi & Monitoring Setelah Setup
Setelah setup ketiganya, lakukan verifikasi end-to-end. Jangan asumsi semua jalan tanpa test.
- Test via mail-tester.com — kirim email ke alamat yang dia kasih, dapat skor 10/10 kalau setup benar.
- Test ke Gmail pribadi — kirim email, buka di Gmail, klik 3-titik → "Show original". Lihat: SPF=pass, DKIM=pass, DMARC=pass.
- Cek mxtoolbox.com — masukkan domain, pakai "Email Health" untuk overview semua check.
- Monitor laporan DMARC — laporan harian masuk ke email rua. Awalnya JSON mentah, gunakan dmarcian.com (free tier) untuk visualisasi.
- Cek IP mail server di blacklist — pakai Blacklist Check CekIPSaya. Listed = harus delisting sebelum lanjut.
FAQ — Pertanyaan yang Sering Ditanyakan
Kesimpulan
Trio SPF + DKIM + DMARC adalah standar wajib email modern. Tanpa ketiganya, 80% provider modern (Gmail, Outlook, Yahoo) akan flag email kamu spam — sebagus apapun isinya. Setup-nya sekali, jalan terus. Total waktu: ~1 jam (kalau DNS hosting cepat propagasi). Verifikasi via mxtoolbox.com atau cek di CekIPSaya Blacklist Check.