SPF, DKIM, dan DMARC: Pengertian, Contoh, dan Cara Memasangnya
SPF, DKIM, dan DMARC adalah tiga baris DNS yang membuktikan ke Gmail, Yahoo, dan penyedia email lain bahwa email atas nama domainmu memang dikirim olehmu. SPF menyebut server mana yang boleh mengirim. DKIM memberi tanda tangan digital di setiap email. DMARC mengatur apa yang harus dilakukan penerima kalau ada email yang mengaku dari domainmu tapi gagal pemeriksaan. Tanpa ketiganya, emailmu mudah dianggap palsu dan masuk folder spam, atau langsung ditolak.
Artikel ini menjelaskan masing-masing dengan bahasa sederhana, contoh isinya, cara memasangnya, dan kesalahan yang paling sering terjadi.
Kenapa email butuh SPF, DKIM, dan DMARC?
Protokol email dibuat puluhan tahun lalu tanpa pemeriksaan identitas. Siapa pun bisa menulis "Dari: [email protected]" di emailnya, mirip seperti menulis alamat pengirim palsu di amplop surat. Penipu memanfaatkan celah ini untuk phishing atas nama bank, toko, atau kantor.
SPF, DKIM, dan DMARC menutup celah itu. Penyedia email memeriksa ketiganya untuk setiap email yang masuk. Hasilnya ikut menentukan apakah email sampai ke inbox, masuk spam, atau ditolak.
Sejak Februari 2024, Gmail dan Yahoo mewajibkan autentikasi ini. Semua pengirim harus punya SPF atau DKIM, dan pengirim email massal harus punya ketiganya. Rinciannya ada di syarat pengirim email massal Gmail dan Yahoo.
Penjelasan singkat dalam satu tabel
| Rekaman | Analogi | Fungsinya | Contoh isi |
|---|---|---|---|
| SPF | Daftar kurir resmi | Menyebut server mana saja yang boleh mengirim email atas nama domainmu | v=spf1 include:spf.kirim.id ~all |
| DKIM | Segel tanda tangan | Setiap email ditandatangani digital, sehingga penerima tahu email itu benar dari domainmu dan isinya tidak diubah di jalan | v=DKIM1; k=rsa; p=MIIBIjAN… (kunci panjang) |
| DMARC | Aturan untuk satpam | Memberi tahu penerima apa yang harus dilakukan pada email yang gagal SPF dan DKIM: biarkan, masukkan ke spam, atau tolak | v=DMARC1; p=quarantine; adkim=r; aspf=r |
Apa itu SPF?
SPF (Sender Policy Framework) adalah rekaman TXT di domain utamamu, misalnya tokomu.com, yang berisi daftar server yang diizinkan mengirim email atas nama domain itu.
Contoh: v=spf1 include:_spf.google.com include:spf.kirim.id ~all
Artinya: server Google Workspace dan server Kirim.id boleh mengirim email untuk domain ini. Bagian ~all di akhir artinya server lain dianggap mencurigakan (softfail). Ada juga -all (hardfail) yang lebih tegas: server lain pasti tidak sah.
Dua aturan SPF yang sering dilanggar:
- Satu domain hanya boleh punya satu rekaman SPF. Kalau kamu memakai beberapa layanan (email kantor, toko online, layanan email marketing), gabungkan semuanya dalam satu rekaman dengan beberapa
include:. Dua rekamanv=spf1membuat SPF gagal total. - Maksimal 10 pencarian DNS. Setiap
include:,a,mx, dan sejenisnya dihitung, termasukinclude:di dalaminclude:. Lebih dari 10 juga membuat SPF gagal. Hapus layanan yang sudah tidak dipakai.
Apa itu DKIM?
DKIM (DomainKeys Identified Mail) bekerja dengan sepasang kunci. Kunci rahasia disimpan di server pengirim dan dipakai untuk menandatangani setiap email. Kunci publiknya kamu pasang di DNS sebagai rekaman TXT dengan nama khusus, misalnya kirim1._domainkey.tokomu.com. Bagian kirim1 disebut selector, yaitu penanda kunci mana yang dipakai.
Saat email tiba, server penerima mengambil kunci publik dari DNS dan mencocokkannya dengan tanda tangan di email. Kalau cocok, terbukti emailnya memang dari domainmu dan isinya tidak diubah selama perjalanan.
Kelebihan DKIM dibanding SPF: tanda tangannya tetap utuh walaupun email diteruskan (forward). SPF sering gagal pada email yang diteruskan, karena server yang meneruskan tidak ada di daftar SPF-mu.
Panjang kunci yang dianjurkan sekarang 2.048 bit. Kunci DKIM yang dibuat Kirim.id untuk setiap domain memakai ukuran ini.
Apa itu DMARC?
DMARC (Domain-based Message Authentication, Reporting and Conformance) adalah rekaman TXT di _dmarc.tokomu.com. Ia melakukan dua hal.
Pertama, mewajibkan keselarasan (alignment). Lolos SPF atau DKIM saja belum cukup. Domain yang lolos harus sama dengan domain di alamat "Dari" yang dilihat penerima. Tanpa aturan ini, penipu bisa lolos SPF memakai domainnya sendiri, lalu menulis domainmu di kolom "Dari".
Kedua, menentukan kebijakan lewat tag p= untuk email yang gagal:
Nilai p= |
Artinya | Kapan dipakai |
|---|---|---|
none |
Hanya pantau, email tetap diterima seperti biasa | Tahap awal, saat kamu belum yakin semua layanan pengirim sudah lolos |
quarantine |
Email yang gagal dimasukkan ke folder spam | Setelah semua pengirim sah sudah lolos SPF/DKIM |
reject |
Email yang gagal ditolak sepenuhnya | Perlindungan paling ketat, cocok untuk domain yang sering dipalsukan |
Tag lain yang sering dipakai:
adkim=rdanaspf=r: keselarasan relaxed, artinya subdomain dianggap sama dengan domain utamanya.bounce.tokomu.comdianggap selaras dengantokomu.com.rua=mailto:[email protected]: alamat penerima laporan harian dari penyedia email, berisi email mana yang lolos dan gagal atas nama domainmu. Berguna untuk mengetahui kalau ada pihak lain yang memalsukan domainmu.
Seperti SPF, satu domain hanya boleh punya satu rekaman DMARC, dan setiap tag hanya boleh ditulis sekali. Kalau ada beberapa alamat laporan, gabungkan dalam satu rua= yang dipisah koma.
Bagaimana cara memasang SPF, DKIM, dan DMARC?
Langkahnya sama di semua pengelola DNS, baik di penyedia domain, hosting, maupun Cloudflare:
- Ambil nilai rekamannya dari layanan pengirim emailmu. Setiap layanan punya nilai SPF
include:dan kunci DKIM sendiri. - Masuk ke pengelola DNS domainmu dan buka menu DNS atau DNS Management.
- Tambahkan rekaman TXT untuk SPF di domain utama (sering ditulis
@), DKIM di nama selector-nya, dan DMARC di_dmarc. Banyak panel otomatis menambahkan nama domain di belakang, jadi cukup isikirim1._domainkey, bukankirim1._domainkey.tokomu.com. - Tunggu beberapa menit sampai beberapa jam sampai perubahan DNS menyebar.
- Periksa hasilnya. Kirim email ke akun Gmail, buka emailnya, klik ikon titik tiga, lalu pilih Tampilkan asli (Show original). Di bagian atas tertulis hasil SPF, DKIM, dan DMARC. Ketiganya harus PASS.
Untuk developer, pengecekan juga bisa lewat terminal:
dig TXT tokomu.com +short
dig TXT kirim1._domainkey.tokomu.com +short
dig TXT _dmarc.tokomu.com +short
Kesalahan yang paling sering terjadi
- Membuat SPF kedua untuk layanan baru, padahal seharusnya digabung ke rekaman yang sudah ada.
- Nilai DKIM terpotong saat disalin. Kunci DKIM sangat panjang, jadi pastikan tersalin utuh tanpa spasi atau karakter yang hilang.
- Nama host dobel, misalnya
kirim1._domainkey.tokomu.com.tokomu.com, karena panel DNS sudah menambahkan nama domain otomatis. - Langsung memasang
p=rejectsebelum memastikan semua layanan pengirim lolos. Email sah dari layanan yang terlupa (misalnya sistem invoice atau email kantor) ikut ditolak. - Mengira DMARC cukup dipasang lalu dilupakan. Kalau kamu menambah layanan pengirim baru, cek lagi apakah layanan itu sudah lolos SPF atau DKIM untuk domainmu.
Cara memasangnya untuk Kirim.id
Saat kamu menambahkan domain di Kirim.id (menu Settings → Domains), dashboard menampilkan semua baris DNS yang perlu disalin, lengkap dengan nilainya:
| Rekaman | Jenis | Host | Nilai |
|---|---|---|---|
| SPF | TXT | tokomu.com |
v=spf1 include:spf.kirim.id ~all |
| DKIM | TXT | kirim1._domainkey.tokomu.com |
Kunci unik untuk domainmu, salin dari dashboard |
| DMARC | TXT | _dmarc.tokomu.com |
Saran: v=DMARC1; p=quarantine; adkim=r; aspf=r |
| Return-Path | CNAME | bounce.tokomu.com |
bounce.kirim.id |
| Link email | CNAME | link.tokomu.com |
track.kirim.id |
Dua baris terakhir bukan bagian dari SPF/DKIM/DMARC, tapi sama pentingnya. Return-Path adalah alamat tujuan pemberitahuan bounce. Karena memakai subdomain domainmu sendiri, SPF-nya ikut selaras dengan DMARC. Link email membuat semua tautan di emailmu memakai alamat domainmu sendiri, sehingga reputasi tautanmu tidak tercampur dengan pengirim lain.
Kirim.id mengecek DNS-mu otomatis setiap beberapa menit. Setiap baris punya status sendiri, dan kalau ada yang keliru, misalnya SPF ganda atau DMARC dengan tag dobel, penjelasannya muncul tepat di bawah baris itu. Kalau domainmu sudah punya SPF atau DMARC sendiri, tidak perlu membuat yang baru: tambahkan include:spf.kirim.id ke SPF yang ada, dan DMARC lama boleh tetap dipakai asalkan hanya ada satu rekaman.
Setelah semua baris cocok, domain berstatus Aktif, dan setiap email yang kamu kirim otomatis ditandatangani DKIM domainmu. Panduan langkah demi langkahnya ada di Verifikasi domain pengirim dan Mengenal SPF, DKIM, dan DMARC. Kalau ada baris yang tidak kunjung terverifikasi, lihat Domain gagal verifikasi.
Ringkasan
- SPF = daftar server yang boleh mengirim. Satu domain hanya boleh punya satu, dan maksimal 10 pencarian DNS.
- DKIM = tanda tangan digital di setiap email, tetap utuh walau diteruskan. Pakai kunci 2.048 bit.
- DMARC = aturan untuk email yang gagal, plus kewajiban domain "Dari" selaras dengan domain yang lolos. Mulai dari
p=noneataup=quarantine, naikkan kerejectkalau sudah yakin. - Cek hasilnya lewat Tampilkan asli di Gmail. Ketiganya harus PASS.
- Gmail dan Yahoo mewajibkan ketiganya untuk pengirim email massal.
Domain yang autentikasinya benar adalah langkah pertama supaya email sampai ke inbox. Langkah berikutnya ada di cara kirim email massal tanpa masuk spam. Mau langsung mencoba? Daftar Kirim.id dan dapatkan 1.000 koin gratis untuk akun baru.
Kirim email bisnis dari satu tempat
Campaign, email otomatis, API & SMTP relay di Kirim.id. Bayar per email mulai Rp0,5, tanpa langganan bulanan — akun baru langsung dapat 1.000 koin untuk mencoba.