SPF, DKIM, dan DMARC: Pengertian, Contoh, dan Cara Memasangnya

Tim Kirim.id 7 menit baca
SPF, DKIM, dan DMARC

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 rekaman v=spf1 membuat SPF gagal total.
  • Maksimal 10 pencarian DNS. Setiap include:, a, mx, dan sejenisnya dihitung, termasuk include: di dalam include:. 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=r dan aspf=r: keselarasan relaxed, artinya subdomain dianggap sama dengan domain utamanya. bounce.tokomu.com dianggap selaras dengan tokomu.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:

  1. Ambil nilai rekamannya dari layanan pengirim emailmu. Setiap layanan punya nilai SPF include: dan kunci DKIM sendiri.
  2. Masuk ke pengelola DNS domainmu dan buka menu DNS atau DNS Management.
  3. 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 isi kirim1._domainkey, bukan kirim1._domainkey.tokomu.com.
  4. Tunggu beberapa menit sampai beberapa jam sampai perubahan DNS menyebar.
  5. 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=reject sebelum 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=none atau p=quarantine, naikkan ke reject kalau 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.

Daftar Gratis — 1.000 Koin