SPF, DKIM ve DMARC: kurumsal e-postanız neden spam klasörüne düşüyor?

Venus Yazılım2 dk okuma

Kurumsal e-postaların spam klasörüne düşmesinin en sık nedeni eksik kimlik doğrulama kayıtlarıdır. SPF, DKIM ve DMARC'ın ne yaptığını ve nasıl kurulduğunu anlatıyoruz.

Teklif gönderdiniz, müşteri “gelmedi” diyor. Sipariş onay e-postaları alıcıların spam klasöründe birikiyor. Bu şikâyetlerin çoğunun kaynağı e-postanın içeriği değil, alan adınızın DNS kayıtlarıdır.

Kısa cevap: Alıcı sunucular bir e-postayı kabul etmeden önce şu soruyu sorar: “Bu e-posta gerçekten bu alan adından mı geliyor?” Bu soruya cevap veren üç DNS kaydı vardır: SPF, DKIM ve DMARC. Üçü de doğru kurulmadıysa e-postanız şüpheli sayılır.

SPF: kimler gönderebilir?

SPF (Sender Policy Framework), alan adınız adına e-posta göndermeye yetkili sunucuların listesidir. Alan adının DNS’ine tek bir TXT kaydı olarak eklenir:

venus.tr.  TXT  "v=spf1 mx include:_spf.saglayici.com -all"

Bu kayıt; alan adının MX sunucularına ve belirtilen sağlayıcıya izin verir, geri kalan her şeyi reddeder. Sık yapılan hatalar:

  • Birden fazla SPF kaydı. Alan adında yalnızca bir v=spf1 kaydı olabilir. İkinci bir sağlayıcı eklenecekse aynı kayda include: olarak eklenir.
  • Unutulan gönderenler. Web sitesinin formu, fatura programı ya da bülten aracı da sizin adınıza e-posta gönderir. Listede yoksa bu e-postalar SPF’ten geçemez.
  • 10 sorgu sınırı. Her include bir DNS sorgusudur ve toplam 10’u aşan SPF kaydı geçersiz sayılır.

DKIM: e-posta yolda değişti mi?

DKIM (DomainKeys Identified Mail), gönderen sunucunun her e-postayı özel bir anahtarla imzalamasıdır. İmzayı doğrulayacak açık anahtar DNS’te yayınlanır:

mail._domainkey.venus.tr.  TXT  "v=DKIM1; k=rsa; p=MIIBIjANBgkqh..."

Alıcı sunucu imzayı bu anahtarla kontrol eder. İmza tutuyorsa e-posta yolda değiştirilmemiştir ve gerçekten anahtarın sahibinden çıkmıştır. Her gönderim servisi (kurumsal e-posta, bülten aracı, uygulama SMTP’si) kendi DKIM anahtarını ister; her biri için ayrı bir seçici (selector) kaydı eklenir.

DMARC: kurallara uymayanlara ne olsun?

DMARC, SPF ve DKIM’in üstüne oturan politikadır. Alıcı sunucuya, doğrulamadan geçemeyen bir e-postayla ne yapacağını söyler ve size rapor gönderilmesini sağlar:

_dmarc.venus.tr.  TXT  "v=DMARC1; p=none; rua=mailto:[email protected]"

p=none yalnızca izler, p=quarantine spam klasörüne gönderir, p=reject tamamen reddeder. Doğrudan reject ile başlamak, unutulmuş bir gönderenin e-postalarını bir gecede durdurabilir. Bu yüzden şu sırayı izliyoruz:

  1. p=none ile başlanır ve birkaç hafta rapor toplanır.
  2. Raporlarda görünen meşru gönderenler SPF ve DKIM’e eklenir.
  3. Politika önce quarantine, sonra reject seviyesine çıkarılır.

Kontrol etmek için

Kayıtların yayında olup olmadığını komut satırından görebilirsiniz:

dig +short TXT venus.tr
dig +short TXT mail._domainkey.venus.tr
dig +short TXT _dmarc.venus.tr

Bir e-postanın gerçekten doğrulamadan geçip geçmediğini görmek için alıcı tarafta e-postanın başlıklarına (Authentication-Results) bakmak yeterlidir: spf=pass, dkim=pass ve dmarc=pass görmek istiyoruz.

Özet

Spam klasörü sorunu çoğunlukla bir içerik sorunu değil, kimlik sorunudur. SPF kimin gönderebileceğini, DKIM e-postanın değişmediğini, DMARC da kurallara uymayanlara ne olacağını söyler. Üçü birlikte kurulduğunda alıcı sunucular e-postanın sizden geldiğini doğrulayabilir.

Alan adı ve e-posta altyapınızı toparlamak isterseniz alan adı ve kurumsal e-posta hizmetimize göz atabilirsiniz.

Diğer notlar

  1. 2 dk okuma

    pgapi ile bir uygulamaya backend: proje, tablo, RLS ve supabase-js

    Supabase uyumlu backend platformumuz pgapi üzerinde yeni bir proje açmak, tabloyu RLS ile korumak ve supabase-js ile bağlanmak adım adım.

  2. 2 dk okuma

    Yayına almadan önce: bir web uygulaması için 12 maddelik sunucu kontrol listesi

    Bir web uygulamasını canlıya almadan önce sunucu, alan adı, yedek, güvenlik ve izleme tarafında kontrol ettiğimiz 12 madde ve her birinin nedeni.

Kabinde yer ayıralım.

Projenizi birkaç adımda anlatın; kapsamı, takvimi ve altyapı önerisini içeren yazılı bir teklif hazırlayalım.

Teklif isteya da doğrudan yazın: e-posta adresi