SPF DKIM DMARC Kurulumu: Mailler Spam'e Düşüyorsa Adım Adım Çözüm
Mailleriniz spam klasörüne düşüyorsa SPF, DKIM ve DMARC kayıtlarını kontrol edin. cPanel E-posta Teslim Edilebilirliği aracıyla kurulum, VDS'te kendi mail sunucusu için örnek kayıtlar, PTR ve kademeli DMARC geçişi.

Gönderdiğiniz mailler karşı tarafta spam klasörüne düşüyor, bazı adreslere hiç ulaşmıyor ya da "bu ileti doğrulanamadı" uyarısıyla görünüyorsa sorunun büyük kısmı üç DNS kaydından kaynaklanır: SPF, DKIM ve DMARC. Büyük e-posta sağlayıcıları artık bu kayıtları eksik olan alan adlarından gelen postaya güvenmiyor; toplu gönderim yapanlar için ise DMARC zorunlu hâle geldi. Bu rehberde SPF DKIM DMARC kurulumunu iki senaryo için anlatıyoruz: cPanel'li web hosting kullananlar (E-posta Teslim Edilebilirliği aracı ile birkaç tıklamada) ve VDS ya da dedicated sunucusunda kendi mail sunucusunu çalıştıranlar (kayıt örnekleriyle).
Rehberdeki alan adları (ornek.com), IP adresleri (203.0.113.x) ve anahtar değerleri örnektir; kendi kayıtlarınızda panelinizin ürettiği değerleri kullanın.
SPF, DKIM ve DMARC Ne İşe Yarar?
Bir mail alıcı sunucuya ulaştığında, alıcı üç soru sorar:
- SPF (Sender Policy Framework): "Bu maili gönderen sunucunun IP'si,
ornek.comadına mail göndermeye yetkili mi?" Cevap alan adınızın SPF TXT kaydındadır. - DKIM (DomainKeys Identified Mail): "Bu mail gerçekten
ornek.comtarafından imzalanmış ve yolda değiştirilmemiş mi?" Gönderen sunucu her maili gizli anahtarla imzalar; alıcı imzayı DNS'teki açık anahtarla doğrular. - DMARC: "SPF ya da DKIM, maildeki görünen gönderen adresiyle (
From:) uyumlu şekilde geçti mi? Geçmediyse ne yapmalıyım?" Cevap_dmarc.ornek.comkaydındaki politikadır: hiçbir şey yapma, spam'e at ya da reddet.

Üçü birbirini tamamlar. SPF tek başına mail iletildiğinde (yönlendirme, posta listesi) bozulabilir; DKIM imzası ise iletimden sağ çıkar. DMARC, bu ikisinden en az birinin görünen gönderen alan adıyla hizalı geçmesini ister. Bu yüzden "SPF var ama mailler yine spam'e düşüyor" durumu çok yaygındır: eksik halka çoğu zaman DKIM ya da DMARC'tır.
Mailler Neden Spam'e Düşer? Önce Hızlı Teşhis
DNS'e dokunmadan önce sorunu ölçün. Kendi alan adınızdaki bir adresten Gmail ya da Outlook gibi büyük bir sağlayıcıdaki kendi hesabınıza bir test maili gönderin, gelen mailde Orijinali göster / İleti kaynağını görüntüle seçeneğini açın ve Authentication-Results satırını bulun:
Authentication-Results: mx.alici.com;
spf=pass smtp.mailfrom=ornek.com;
dkim=pass header.d=ornek.com;
dmarc=pass header.from=ornek.com
Üçünde de pass görüyorsanız kimlik doğrulama tamamdır; sorun içerik, gönderim hacmi ya da IP itibarıdır. fail, softfail, none ya da permerror görüyorsanız hangi kaydın eksik olduğu burada yazar.
İkinci kolay yol, e-posta test hizmetleridir. Arama motorunda "mail tester" aradığınızda çıkan ücretsiz araçlar size tek kullanımlık bir adres verir; o adrese mail atıp SPF, DKIM, DMARC, ters kayıt (PTR) ve kara liste durumunu puanlı bir raporla görürsünüz.

Senaryo 1: cPanel Web Hosting'de SPF ve DKIM Kurulumu
AnkSOFT web hosting paketlerinde alan adınızın nameserver'ı ns1.anksoft.net ve ns2.anksoft.net ise SPF ve DKIM kayıtları hesap açılırken çoğunlukla otomatik oluşturulur. Yine de kontrol etmek ve eksikleri tamamlamak için cPanel'in yerleşik aracını kullanın:
- Müşteri panelinden cPanel'e Giriş Yap düğmesiyle cPanel'e girin.
- E-posta bölümünde E-posta Teslim Edilebilirliği (Email Deliverability) aracını açın.
- Alan adınızın yanında durum görünür. Geçerli ise iş tamamdır. Sorunlar Var yazıyorsa Yönet (Manage) düğmesine tıklayın.
- Açılan sayfada DKIM, SPF ve ters DNS (PTR) için ayrı kutular vardır. Sorunlu kutuda cPanel'in önerdiği kayıt değeri görünür.
- Alan adınızın DNS'i bu sunucudaysa Onar (Repair) düğmesine basın; kayıt bölgeye otomatik yazılır.

DNS'iniz başka bir yerdeyse
Alan adınızı A kaydı yöntemiyle bağladıysanız (nameserver başka bir yerdeyse) Onar düğmesi DNS'i değiştiremez. Bu durumda E-posta Teslim Edilebilirliği sayfasındaki önerilen SPF ve DKIM değerlerini kopyalayıp alan adının DNS'ini yönettiğiniz panele TXT kaydı olarak ekleyin:
| Ad | Tür | Değer |
|---|---|---|
@ |
TXT | v=spf1 +a +mx +ip4:203.0.113.10 ~all (cPanel'in önerdiği değer) |
default._domainkey |
TXT | v=DKIM1; k=rsa; p=MIIBIjANBgkq... (cPanel'in ürettiği anahtar) |
DKIM anahtarı uzundur. Bazı DNS panelleri 255 karakteri aşan TXT değerlerini kendisi parçalara böler; bazıları tırnaklı parçalar halinde girmenizi ister. Anahtarı eksiksiz kopyaladığınızdan emin olun; tek karakter eksik anahtar dkim=fail sonucunu verir.
Başka bir hizmetten de mail gönderiyorsanız
Web sitenizin iletişim formu, bülten aracınız ya da faturalama yazılımınız @ornek.com adına mail gönderiyorsa, onların gönderim sunucuları da SPF'ye eklenmelidir. Yeni bir satır açmayın; mevcut SPF kaydına hizmetin verdiği include: ifadesini ekleyin:
v=spf1 +a +mx +ip4:203.0.113.10 include:_spf.bulten-hizmeti.example ~all
Bir alan adında yalnızca bir SPF kaydı olabilir ve bu kayıt en fazla 10 DNS sorgusu (her include, a, mx birer sorgu sayılır) yapabilir. Sınır aşılırsa sonuç permerror olur ve SPF hiç çalışmaz.
Senaryo 2: VDS'te Kendi Mail Sunucunuz İçin Kayıtlar
VDS ya da dedicated sunucunuzda Postfix, bir mail paneli ya da hazır bir mail sunucusu yazılımı çalıştırıyorsanız kayıtları kendiniz oluşturursunuz. Kurulumu yeni yapacaksanız Ubuntu mail sunucusu kurulumu rehberimiz başlangıç için uygundur. Sunucunun IP'si 203.0.113.25, mail sunucusunun adı mail.ornek.com olsun. Bu kayıtlar alan adınızın DNS'ini yönettiğiniz panele eklenir:

| Ad | Tür | Değer | Açıklama |
|---|---|---|---|
mail |
A | 203.0.113.25 |
Mail sunucusunun adresi |
@ |
MX | 10 mail.ornek.com |
Gelen posta bu sunucuya |
@ |
TXT | v=spf1 mx ip4:203.0.113.25 -all |
Yalnızca bu sunucu gönderebilir |
mail._domainkey |
TXT | v=DKIM1; k=rsa; p=... |
Seçici mail, anahtar sunucuda üretilir |
_dmarc |
TXT | v=DMARC1; p=none; rua=mailto:dmarc@ornek.com |
Önce izleme modu |
203.0.113.25 |
PTR | mail.ornek.com |
Ters kayıt, IP sahibinde tanımlanır |
DKIM anahtarını üretmek
DKIM için sunucuda bir anahtar çifti oluşturulur; gizli anahtar sunucuda kalır, açık anahtar DNS'e yazılır. OpenDKIM kullanıyorsanız örnek:
opendkim-genkey -b 2048 -d ornek.com -s mail -D /etc/opendkim/keys/ornek.com/
cat /etc/opendkim/keys/ornek.com/mail.txt
mail.txt dosyasındaki p= ile başlayan değer DNS'e eklenecek açık anahtardır. 2048 bit anahtar günümüzde önerilen uzunluktur. Hazır bir mail paneli kullanıyorsanız anahtar çoğunlukla panelde üretilir ve size yalnızca DNS'e ekleyeceğiniz değer gösterilir.
DNS'e ekledikten sonra kaydı doğrulayın:
dig mail._domainkey.ornek.com TXT +short
dig ornek.com TXT +short
dig _dmarc.ornek.com TXT +short
dig -x 203.0.113.25 +short
PTR (ters DNS) kaydı neden şart?
Büyük sağlayıcılar, gönderen IP'nin ters kaydı olmayan ya da ters kaydı sunucunun kendini tanıttığı adla (HELO) uyuşmayan sunuculardan gelen postayı çoğunlukla reddeder veya spam'e atar. PTR kaydı alan adınızın DNS'inde değil, IP adresinin sahibinde tanımlanır. AnkSOFT VDS'inizin IP'si için PTR kaydını değiştirmek istiyorsanız destek talebi açabilirsiniz. Üç kontrolün aynı adı göstermesi gerekir: PTR mail.ornek.com, mail.ornek.com A kaydı sunucu IP'si ve mail sunucusunun HELO/hostname değeri mail.ornek.com.
DMARC Kaydı: Kademeli Geçiş
DMARC'ı doğrudan en sert politikayla açmak, unuttuğunuz bir gönderim kaynağının (fatura yazılımı, eski bir form) maillerini bir anda reddettirebilir. Güvenli yol kademeli geçiştir:
| Aşama | Kayıt değeri | Ne olur |
|---|---|---|
| 1. İzleme (2-4 hafta) | v=DMARC1; p=none; rua=mailto:dmarc@ornek.com |
Hiçbir mail engellenmez; günlük raporlar gelir |
| 2. Karantina | v=DMARC1; p=quarantine; pct=100; rua=mailto:dmarc@ornek.com |
Doğrulanamayan mailler spam'e gider |
| 3. Ret | v=DMARC1; p=reject; rua=mailto:dmarc@ornek.com |
Doğrulanamayan mailler reddedilir |
rua adresine gelen raporlar XML biçimindedir ve hangi IP'lerin alan adınız adına mail gönderdiğini gösterir. Rapor okuma araçları bu dosyaları tabloya çevirir. Raporlarda tanımadığınız ama meşru bir kaynak görürseniz onu SPF'ye ekleyin ya da DKIM imzalamasını açın; sonra bir sonraki aşamaya geçin.
Mail göndermeyen alan adları için de kayıt eklemek iyi bir güvenlik pratiğidir; böylece başkaları alan adınızı sahte gönderici olarak kullanamaz:
@ TXT "v=spf1 -all"
_dmarc TXT "v=DMARC1; p=reject"
Büyük E-posta Sağlayıcılarının Beklentileri
Büyük e-posta sağlayıcıları 2024'ten bu yana, kişisel hesaplara günde binlerce mail gönderen alan adlarından SPF ve DKIM'in ikisini birden, en az p=none düzeyinde bir DMARC kaydı, geçerli bir ters DNS kaydı ve pazarlama maillerinde tek tıkla abonelikten çıkma desteği bekliyor. Az sayıda mail gönderen alan adları için bu koşullar sıkı uygulanmasa da üç kaydı eksiksiz tutmak artık en temel teslim edilebilirlik şartıdır.
Kimlik doğrulama tamam olduktan sonra teslim oranını etkileyen diğer etkenler şunlardır:
- Spam şikâyet oranı: Alıcıların "spam olarak işaretle" düğmesine basma oranı düşük tutulmalıdır. İzinsiz listelere gönderim bu oranı hızla yükseltir.
- Geri dönen adresler: Var olmayan adreslere tekrar tekrar mail göndermek itibarı düşürür; listenizi düzenli temizleyin.
- Gönderim düzeni: Yeni bir sunucu ya da IP'den ilk günden yüksek hacimde gönderim yapmak yerine hacmi kademeli artırın.
- İçerik: Yalnızca bir görsel ya da kısaltılmış bağlantıdan oluşan mailler, eşleşmeyen gönderen adı ve yanıtlanamayan adresler şüphe uyandırır.
SPF'de ~all mı, -all mı?
~all(softfail): Listede olmayan sunucudan gelen mail "şüpheli" işaretlenir ama genellikle teslim edilir. Gönderim kaynaklarınızdan tam emin değilseniz başlangıç için güvenlidir; cPanel de varsayılan olarak bunu önerir.-all(fail): Listede olmayan sunucudan gelen mail reddedilebilir. Tüm gönderim kaynaklarınızı listelediğinizden eminseniz kullanın.+all: Herkesin sizin adınıza mail göndermesine izin verir; asla kullanmayın.
DMARC p=quarantine ya da p=reject ile birlikte kullanıldığında ~all ile -all arasındaki fark büyük ölçüde DMARC politikasına geçer.
En Sık Hatalar
- İki SPF kaydı.
v=spf1ile başlayan iki ayrı TXT kaydı SPF'yi tamamen geçersiz kılar. Birleştirin. - SPF 10 sorgu sınırını aşmak. Çok sayıda
include:eklendiğindepermerroroluşur; kullanmadığınız hizmetleri çıkarın. - DKIM anahtarını eksik kopyalamak. Uzun anahtarın sonu kesildiğinde imza doğrulanamaz.
- Kayıtları yanlış DNS panelinde eklemek. Nameserver hosting sunucusunu gösteriyorsa kayıt firmasının panelindeki TXT kayıtları okunmaz;
dig NS ornek.com +shortile kontrol edin. Ayrıntı için DNS Kayıtları Nedir rehberimize bakın. - DMARC'ı doğrudan
p=rejectile açmak. Raporları görmeden sert politika, meşru maillerinizi reddettirebilir. - VDS'te PTR kaydını unutmak. SPF ve DKIM geçse bile ters kaydı olmayan IP'den gelen mail sık sık reddedilir.
- Görünen gönderenle imzalayan alan adının farklı olması. Bülten aracınız maili kendi alan adıyla imzalıyorsa DMARC hizalaması başarısız olur; araçta "özel alan adı ile kimlik doğrulama" ayarını açın.
- Spam içerik ve toplu gönderim. Kimlik doğrulama tamam olsa bile izinsiz toplu gönderim, tek bir bağlantıdan ibaret mailler ya da çok sayıda geri dönen adres itibarı düşürür. Alıcılarınızın izin verdiğinden emin olun ve her ticari maile abonelikten çıkma bağlantısı ekleyin.
Özet
- SPF gönderen sunucuları, DKIM mail imzasını, DMARC ise ikisinin görünen gönderenle uyumunu ve başarısızlıkta yapılacakları tanımlar.
- cPanel'de E-posta > E-posta Teslim Edilebilirliği aracıyla durumu görün, DNS bu sunucudaysa Onar ile düzeltin; değilse önerilen değerleri DNS panelinize kopyalayın.
- VDS'te A, MX, SPF, DKIM, DMARC ve PTR kayıtlarının altısı birlikte gerekir.
- DMARC'ı
p=noneile başlatıp raporlara görequarantineverejectaşamalarına geçin. - Sonucu
Authentication-Resultssatırı ve bir mail test aracıyla doğrulayın.
Alan adınız için e-posta hesaplarının ve kimlik doğrulama kayıtlarının cPanel üzerinden yönetildiği paketlere web hosting sayfasından, kendi mail sunucunuzu kuracağınız sunucular için VDS sunucu sayfasından ulaşabilirsiniz. AnkSOFT hosting hesabınızda E-posta Teslim Edilebilirliği aracı sorun gösteriyor ve çözemiyorsanız destek talebi açabilirsiniz.
Kaynaklar
Sıkça Sorulan Sorular
SPF kaydım var ama mailler yine spam'e düşüyor, neden?
SPF tek başına yeterli değildir. DKIM imzası ve DMARC kaydı da gerekir; ayrıca VDS'ten gönderiyorsanız ters DNS (PTR) kaydı sunucu adıyla eşleşmelidir. Gelen mailin kaynağındaki Authentication-Results satırı hangi kontrolün başarısız olduğunu gösterir.
cPanel'de SPF ve DKIM nasıl kurulur?
cPanel'de E-posta bölümündeki E-posta Teslim Edilebilirliği aracını açın. Alan adınızda sorun görünüyorsa Yönet'e tıklayın; DNS bu sunucudaysa Onar düğmesi kaydı otomatik ekler, değilse önerilen değeri DNS panelinize TXT kaydı olarak girin.
DMARC kaydını hangi değerle başlatmalıyım?
Önce v=DMARC1; p=none; rua=mailto:dmarc@alanadiniz.com ile izleme modunda başlatın. Raporlarda tüm meşru gönderim kaynaklarınızın doğrulandığını gördükten sonra p=quarantine ve ardından p=reject aşamasına geçin.
SPF'de ~all mı yoksa -all mı kullanmalıyım?
Tüm gönderim kaynaklarınızdan emin değilseniz ~all ile başlayın. Tüm sunucu ve hizmetleri listelediğinizden eminseniz -all kullanabilirsiniz. +all ise herkesin sizin adınıza mail göndermesine izin verdiği için asla kullanılmamalıdır.
VDS'te kendi mail sunucum için hangi DNS kayıtları gerekir?
Mail sunucusu için A kaydı, MX kaydı, SPF TXT kaydı, DKIM için selector._domainkey TXT kaydı, _dmarc TXT kaydı ve IP sahibinde tanımlanan PTR (ters DNS) kaydı gerekir.


