Blog · SEO

SPF, DKIM ve DMARC: E-posta Sahtekarlığını Adım Adım Nasıl Durdurursunuz?

SPF, DKIM ve DMARC olmadan herkes alan adınızdan gelmiş gibi görünen e-posta gönderebilir ve kendi e-postalarınızın spam'e düşme ihtimali artar. Üç kaydın birlikte nasıl çalıştığını, Gmail ve Yahoo'nun ne istediğini, ücretsiz SPF ve DMARC denetleyicimizin alan adınızı nasıl okuduğunu ve her sonucun nasıl düzeltileceğini anlatıyoruz.

Searvia · 24.10.2026 · 15 dk okuma

Bir ofis yöneticisi mühürlü zarfları ahşap gözlere ayırıyor ve bir zarfın mührünü inceliyor

Kısaca: SPF, alan adınız adına e-posta göndermesine izin verilen sunucuları listeler, DKIM her iletiyi imzalar, DMARC ise bunlardan birinin görünen From adresindeki alan adı için geçtiğini doğrular ve başarısız olan iletilere alıcıların ne yapacağını söyler. Şubat 2024'ten beri Gmail ve Yahoo her gönderenden SPF veya DKIM, toplu gönderenlerden ise SPF, DKIM ve DMARC istiyor; Gmail ise Kasım 2025'ten itibaren denetimi sertleştirdi. Tek bir SPF kaydı yayınlayın, adınıza e-posta gönderen her serviste DKIM'i açın, DMARC'a raporlarla birlikte p=none ile başlayın ve meşru e-postalarınız geçmeye başlayınca p=quarantine veya p=reject seviyesine geçin.

E-posta, göndereni kanıtlayan hiçbir mekanizma olmadan tasarlandı. Herkes From satırına billing@yourcompany.com yazabilir ve kimlik doğrulama kayıtları yoksa alıcı sunucu bunun sahte olduğunu anlayamaz. Adınıza yapılan fatura dolandırıcılığı ve kimlik avı (phishing) böyle çalışır; gerçek e-postalarınızın Gmail'e şüpheli görünmesinin nedeni de budur.

SPF, DKIM ve DMARC bunu üç DNS kaydıyla çözer. Bu rehber, üçünün nasıl birbirini tamamladığını, büyük e-posta sağlayıcılarının ne istediğini, ücretsiz SPF ve DMARC denetleyicimizin alan adınızı nasıl okuduğunu ve hiç kayıt yokken kendi e-postalarınızı bozmadan uygulanan bir politikaya nasıl geçeceğinizi anlatır.

SPF, DKIM ve DMARC birlikte nasıl çalışır?

SPFDKIMDMARC
Neyi kanıtlarGönderen sunucunun bir alan adı adına e-posta göndermeye yetkili olduğunuİletinin bir alan adı tarafından imzalandığını ve değiştirilmediğiniSPF veya DKIM'in, insanların From'da gördüğü alan adı için geçtiğini
Hangi alan adını kontrol ederZarf göndericisini (MAIL FROM) veya HELO'yu; görünen From'u değilİmzadaki d= alan adınıGörünen From alan adını
Nerede bulunurAlan adındaki TXT kaydıselector._domainkey.domain adresindeki TXT kaydı_dmarc.domain adresindeki TXT kaydı
Başarısız olursa ne olurAlıcı karar verirAlıcı karar verirSizin politikanız: none, quarantine veya reject
RaporlarHayırHayırEvet, rua adresinize toplu (aggregate) raporlar

SPF ve DKIM'in tek başına zayıf noktası "hangi alan adı" satırıdır. RFC 7208, SPF'nin alıcının hiç görmediği MAIL FROM ve HELO kimliklerini kontrol ettiğini söyler. Bir sahtekâr, From satırında sizin alan adınızı gösterirken kendi alan adı için SPF'yi geçebilir. DMARC bu boşluğu hizalama (alignment) ile kapatır: bir ileti, yalnızca SPF veya DKIM From alan adıyla eşleşen bir alan adı için geçerse DMARC'ı geçer (esnek hizalama aynı kuruluşun alt alan adlarına izin verir).

Tek kayıtta SPF

example.com.  TXT  "v=spf1 include:_spf.google.com include:sendgrid.net -all"

Her include bir sağlayıcının sunucularına yetki verir; sondaki -all geri kalan her şeyin başarısız olacağını söyler. RFC 7208 niteleyicileri tanımlar: - fail, ~ softfail ("muhtemelen yetkili değil"), ? neutral ve + pass anlamına gelir. +all tüm interneti yetkilendirir ve amacı boşa çıkarır.

Tek kayıtta DKIM

E-posta sağlayıcınız giden iletileri özel anahtarla imzalar ve size, bir selector altında yayınlamanız için açık anahtar verir; örneğin google._domainkey.example.com. Her gönderim servisi kendi selector'ünü kullanır, bu yüzden aynı anda birden fazla DKIM anahtarınız olabilir (RFC 6376).

Tek kayıtta DMARC

_dmarc.example.com.  TXT  "v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com"

p alan adının politikasıdır, sp alt alan adları içindir; rua ise alıcılardan gelen, alan adınız adına hangi sunucuların e-posta gönderdiğini ve geçip geçmediğini listeleyen günlük toplu raporları alır.

DMARC standardı 2026'da güncellendi

Mayıs 2026'da IETF, özgün DMARC spesifikasyonu olan RFC 7489'u geçersiz kılan ve DMARC'ı Standards Track'e taşıyan RFC 9989'u yayınladı. Mevcut kayıtlar çalışmaya devam eder; sürüm etiketi hâlâ v=DMARC1. Bilmeye değer değişiklikler:

Alıcılar yeni kurallara farklı hızlarda geçecek ve Google'ın kendi kurulum rehberi hâlâ devreye alma sırasında pct kullanmayı öneriyor. pct kullanmak hiçbir şeyi bozmaz, ancak kesin bir yüzde olarak buna güvenmeyin.

Gmail ve Yahoo ne istiyor?

İki sağlayıcı da gönderici gereksinimlerini Şubat 2024'te uygulamaya başladı.

GereksinimTüm göndericilerToplu göndericiler (Gmail: Gmail hesaplarına günde 5.000+ ileti)
Kimlik doğrulamaSPF veya DKIMSPF ve DKIM
DMARCGerekli değilGerekli, politika p=none olabilir
HizalamaFrom alan adı SPF veya DKIM ile hizalı
Spam oranı%0,3'ün altında%0,3'ün altında
Abonelikten çıkmaPazarlama e-postaları için tek tıkla abonelikten çıkma; Yahoo: 2 gün içinde uygulanır
DiğerGeçerli ileri ve ters DNS, RFC 5322 biçimi; Gmail: TLSAynı

Kaynaklar: Google'ın gönderici yönergeleri ve Yahoo'nun gönderici en iyi uygulamaları. Google, kimliği doğrulanmamış iletilerin "spam olarak işaretlenebileceği veya 5.7.26 hatasıyla reddedilebileceği" konusunda uyarıyor; SSS sayfasında ise şöyle diyor: "Kasım 2025'ten itibaren Gmail, kurallara uymayan trafiğe yönelik denetimini artırıyor"; geçici ve kalıcı reddetmeler de buna dahil. Aynı SSS, DMARC'ı hem SPF hem DKIM ile hizalamayı öneriyor ve hizalamanın ilerleyen dönemde büyük olasılıkla zorunlu hâle geleceğini söylüyor.

Günde 5.000'den çok daha az ileti gönderseniz bile bu kayıtlar faturalarınızın, parola sıfırlama e-postalarınızın ve yanıtlarınızın gelen kutusuna ulaşıp ulaşmayacağını ve bir başkasının adınıza inandırıcı e-posta gönderip gönderemeyeceğini belirler.

Searvia SPF ve DMARC denetleyicisi nasıl çalışır?

Ücretsiz SPF ve DMARC denetleyicisi, web sitesi SEO denetleyicimizin bir parçasıdır ve e-posta kimlik doğrulama kontrolünü ilk sırada gösterir. Bir alan adı girdiğinizde (baştaki www. kaldırılır):

SonuçNe zamanMesaj
BaşarılıTek geçerli SPF kaydı ve DMARC politikası quarantine veya reject"SPF ve uygulanan bir DMARC politikası ayarlı." (DMARC'ta rua adresi yoksa not eklenir)
UyarıBirden fazla SPF kaydı"Alan adında N SPF kaydı var; birden fazla olduğunda SPF başarısız olur."
Uyarı10'dan fazla SPF sorgusu"SPF en az N DNS sorgusu gerektiriyor; 10'un üzerinde SPF başarısız olur."
UyarıDMARC p=none"DMARC "none" olarak ayarlı, bu yüzden sahte e-postalar hâlâ gelen kutusuna ulaşıyor."
UyarıSPF var, DMARC yok"DMARC eksik."
UyarıDMARC var, SPF yok"SPF eksik."
Başarısızİki kayıt da yok"Ne SPF ne de DMARC ayarlı, bu yüzden herkes adınıza e-posta gönderebilir."

Genel denetimde bu kontrolün önceliği orta düzeydedir. DMARC konusunda ne kadar katı olduğuna dikkat edin: p=none, Gmail'in asgari şartını karşılar ama sahteciliği engellemediği için yine de uyarı gösterir.

Ücretsiz kontrolün kapsamadığı noktalar:

Sonucunuzu nasıl yorumlarsınız?

Adım adım nasıl düzeltirsiniz?

1. Adım: Alan adınız adına e-posta gönderen her şeyi listeleyin

E-posta sağlayıcınız (Google Workspace, Microsoft 365), bülten aracı, CRM, yardım masası, faturalama yazılımı, e-ticaret platformu, web sitesi iletişim formu ve bildirim gönderen tüm sunucular. Burada birini atlamak, DMARC'ı uygulamaya aldığınızda işlerin ters gitmesinin başlıca nedenidir.

2. Adım: Tek bir SPF kaydı yayınlayın

Bir sağlayıcı kendi zarf alan adıyla gönderiyorsa (bülten araçlarında yaygın), SPF kaydınızda hiç yer almasına gerek yoktur; DMARC'ın geçmesi için sizin alan adınızla DKIM'e ihtiyacı vardır.

3. Adım: Her gönderen için DKIM'i açın

Her serviste alan adı doğrulama veya DKIM ayarını bulun, verdiği kaydı (selector altında bir TXT ya da CNAME) yayınlayın ve imzalamayı etkinleştirin. Google, DMARC eklemeden önce SPF ve DKIM kurulumundan sonra 48 saat beklemeyi öneriyor. Ardından bir Gmail adresine test iletisi gönderin ve "Orijinali göster" seçeneğine bakın: SPF: PASS, DKIM: PASS ve DMARC: PASS görmek istersiniz.

4. Adım: DMARC'ı p=none ve raporlarla yayınlayın

_dmarc.example.com.  TXT  "v=DMARC1; p=none; rua=mailto:dmarc-reports@example.com"

Google, p=none ile başlamayı ve her zaman rua eklemeyi öneriyor. Toplu raporlar XML dosyalarıdır; bir DMARC rapor servisi veya ayrıştırıcı bunları okunur hâle getirir. Rapor adresi başka bir alan adındaysa, o alan adının bunu bir DNS kaydıyla yetkilendirmesi gerekir.

5. Adım: Raporları okuyun ve hataları düzeltin

İki ila dört hafta boyunca SPF veya DKIM hizalamasında başarısız olan meşru servisleri arayın. Her biri için sizin alan adınızla DKIM imzalama ya da bir SPF include'u gerekir. İleti yönlendirme ve e-posta listeleri meşru nedenlerle başarısız olabilir; RFC 9989, kullanıcıları e-posta listelerine yazan alan adlarının p=reject'e geçmeden önce en az bir ay p=none'da ve benzer bir süre p=quarantine'de kalmasını öneriyor.

6. Adım: Quarantine'e, sonra reject'e geçin

_dmarc.example.com.  TXT  "v=DMARC1; p=quarantine; rua=mailto:dmarc-reports@example.com"
_dmarc.example.com.  TXT  "v=DMARC1; p=reject; rua=mailto:dmarc-reports@example.com"

Bir seferde tek adım değiştirin ve raporları izlemeye devam edin. p=quarantine'e ulaştığınızda denetleyicimiz başarılı sonucu verir. Hedef p=reject'tir: alıcılar başarısız olan e-postaları reddeder.

7. Adım: E-posta göndermeyen alan adlarını kilitleyin

Park edilmiş ve yalnızca yönlendirme yapan alan adları, kimse izlemediği için sahtekârlar açısından caziptir. Birleşik Krallık hükümetinin rehberi şunu öneriyor:

example.net.               TXT  "v=spf1 -all"
_dmarc.example.net.        TXT  "v=DMARC1; p=reject; sp=reject; adkim=s; aspf=s"
*._domainkey.example.net.  TXT  "v=DKIM1; p="
example.net.               MX   0 .

Kayıtları kendiniz kontrol edin

Denetleyici SPF ve DMARC'ı okur; üç kaydı da standart DNS araçlarıyla görebilirsiniz. macOS veya Linux'ta:

dig +short TXT example.com
dig +short TXT _dmarc.example.com
dig +short TXT google._domainkey.example.com

Windows'ta nslookup -type=TXT _dmarc.example.com aynı işi görür. DKIM için selector'e ihtiyacınız var; bunu sağlayıcınız DKIM ayarlarında gösterir ve gönderdiğiniz herhangi bir iletinin DKIM-Signature başlığında s= olarak görünür; Google Workspace için varsayılan google'dır. Bazı sağlayıcılar anahtarı kendi DNS'lerine işaret eden bir CNAME olarak yayınlar, bu sorun değildir.

En güvenilir uçtan uca test gerçek bir iletidir. Her servisten bir Gmail adresine ileti gönderin ve "Orijinali göster"i açın: SPF, DKIM ve DMARC sonucunu ve her birinin hangi alan adı için geçtiğini listeler. DKIM'in sizin alan adınız yerine sağlayıcının alan adı için geçmesi, DMARC hizalamasının hâlâ başarısız olduğu anlamına gelir; bu yüzden sonuçta kendi alan adınızı arayın.

Sık yapılan hatalar

HataEtkiÇözüm
İki SPF kaydı (çoğunlukla sağlayıcı başına bir tane)permerror: SPF her yerde başarısız olurTek kayıtta birleştirin
10'dan fazla sorgupermerrorEski include'ları kaldırın; gerekmediği yerde ptr ve mx'ten kaçının
+all veya ?allSPF herkesi yetkilendirir ya da hiçbir şey söylemez-all veya ~all ile bitirin
DMARC _dmarc yerine kök alan adındaDMARC bulunamaz_dmarc.example.com adresinde yayınlayın
Sonsuza kadar p=noneRaporlar var ama koruma yokQuarantine ve reject'e geçişi planlayın
DKIM'i olmayan bir gönderenUygulama aşamasında DMARC'ı geçemezO serviste alan adınızla DKIM'i açın
Unutulan alt alan adlarımail.example.com üzerinden sahteciliksp= ayarlayın ve e-posta gönderen alt alan adlarını kontrol edin

Örnek senaryo (varsayımsal)

Aşağıdaki örnek varsayımsaldır, gerçek veri değildir. Kurgusal bir klinik olan Pinecrest Dental, hastalardan klinik adına gelmiş sahte bir ödeme talebi aldıklarını duyar. SPF ve DMARC denetleyicisi şunu gösterir:

Bu hafta bitirebileceğiniz bir kontrol listesi

Searvia e-posta kimlik doğrulamanızı nasıl izler?

Ücretsiz SPF ve DMARC denetleyicisi kayıtlarınızı üye olmadan saniyeler içinde okur; web sitenizin arama görünümünü, hızını ve güvenliğini de kapsayan 38 kontrollü bir denetimin parçasıdır.

Ücretsiz bir Searvia hesabı, e-postada daha da ileri giden haftalık bir güvenlik taraması ekler: eksik ya da fazla açık bir SPF kaydını (+all, ?all veya hiç all olmaması), eksik ya da hâlâ p=none olan bir DMARC politikasını ve eksik bir CAA kaydını, her bulgunun arkasındaki DNS sorgusu ve kopyalayabileceğiniz bir kayıtla birlikte işaretler. Tarama her Perşembe tekrarlanır; böylece kayıtlarınızı bozan bir DNS değişikliği bir hafta içinde ortaya çıkar. Güvenliğin web sitesi tarafı için güvenlik başlıkları rehberimize bakın.

Sık Sorulan Sorular

SPF, DKIM ve DMARC arasındaki fark nedir?
SPF, alan adınız adına e-posta göndermesine izin verilen sunucuları listeler. DKIM, her iletiye alıcıların DNS'inizdeki açık anahtarla kontrol ettiği kriptografik bir imza ekler. DMARC ise ikisini insanların gördüğü From adresine bağlar: SPF veya DKIM, From alan adıyla hizalı bir alan adı için geçerse ileti DMARC'ı geçer; DMARC politikanız da alıcılara başarısız iletilerle ne yapacaklarını ve raporları nereye göndereceklerini söyler.
SPF ve DKIM varsa DMARC'a ihtiyacım var mı?
Evet. SPF ve DKIM tek başına insanların gördüğü From adresini korumaz ve kontroller başarısız olduğunda alıcılara ne yapacaklarını söylemez. DMARC bu bağlantıyı ve politikayı ekler. Gmail ve Yahoo, toplu göndericilerden SPF ve DKIM'in yanında bir DMARC kaydı (en az p=none) ister; Gmail, Gmail hesaplarına günde 5.000 veya daha fazla ileti gönderen herkesi toplu gönderici sayar.
Hangi DMARC politikasını kullanmalıyım?
Raporları toplamak için p=none ve bir rua adresiyle başlayın; bu, teslimatı etkilemeden alan adınız adına gönderen tüm servisleri gösterir. Tüm meşru e-postalar hizalamayla SPF veya DKIM'i geçtiğinde p=quarantine'e, ardından p=reject'e geçin. Sahte e-postayı yalnızca quarantine veya reject gerçekten durdurur; p=none sadece izler.
SPF kaydım neden permerror ile başarısız oluyor?
En yaygın iki neden, RFC 7208'e göre permerror üreten, alan adında birden fazla SPF kaydı bulunması ve include, a, mx, ptr, exists ve redirect terimlerinin yol açtığı 10 DNS sorgusu sınırının aşılmasıdır. Her şeyi tek bir v=spf1 kaydında birleştirin ve artık kullanmadığınız servislerin include'larını kaldırın.
E-posta göndermeyen bir alan adını nasıl korurum?
v=spf1 -all SPF kaydını (hiçbir sunucunun alan adı adına gönderemeyeceğini belirtir) ve p=reject içeren bir DMARC kaydını yayınlayın. Birleşik Krallık hükümetinin bu tür alan adları için rehberi ayrıca alt alan adları için sp=reject, boş bir DKIM kaydı ve null MX kaydı ekler. Bu, park edilmiş veya yalnızca yönlendirme yapan bir alan adının kimlik avı için kullanılmasını engeller.

Kaynaklar

  1. Email sender guidelines – Google Workspace Admin Help
  2. Email sender guidelines FAQ – Google Workspace Admin Help
  3. Set up DMARC – Google Workspace Admin Help
  4. Sender Best Practices – Yahoo Sender Hub
  5. RFC 7208: Sender Policy Framework (SPF) – IETF
  6. RFC 6376: DomainKeys Identified Mail (DKIM) Signatures – IETF
  7. RFC 9989: Domain-Based Message Authentication, Reporting, and Conformance (DMARC) – IETF
  8. RFC 7489: Domain-based Message Authentication, Reporting, and Conformance (DMARC) – IETF
  9. Protect domains that do not send email – GOV.UK

Okumaya Devam Edin