SPF nedir, DKIM ve DMARC ne işe yarar? Microsoft 365 ve cPanel'de SPF kaydı nasıl eklenir? E-postanın spam'e düşmesini ve taklidini önleyen adımlar.
Müşterinize gönderdiğiniz teklif e-postası karşı tarafın spam klasöründe çıkıyorsa ya da biri adınıza sahte bir ödeme talimatı gönderdiyse, çoğu zaman sorun e-posta programında değil alan adınızın DNS kayıtlarındadır. Alıcı sunucu gelen iletiye bakıp şunu sorar: "Bu mesaj gerçekten bu alan adından mı geliyor?" Cevabı üç kayıt verir.
Üç kayıt, üç ayrı soru
| Kayıt | Cevapladığı soru | DNS'te nerede durur? |
|---|---|---|
| SPF | Bu sunucu, alan adım adına e-posta göndermeye yetkili mi? | Alan adının TXT kaydı |
| DKIM | Mesaj yolda değişmedi mi ve bu alan adının anahtarıyla mı imzalandı? | selector._domainkey altında (Microsoft 365'te iki CNAME) |
| DMARC | SPF ya da DKIM başarısız olursa alıcı ne yapsın, rapor kime gitsin? | _dmarc altında TXT kaydı |
Üçü birbirinin yerini tutmaz. SPF gönderen sunucuyu, DKIM mesajın bütünlüğünü, DMARC ise ikisinin sonucuna göre uygulanacak politikayı belirler.
SPF nedir?
SPF (Sender Policy Framework), alan adınız adına e-posta gönderebilecek sunucuları listeleyen bir DNS kaydıdır. Alıcı sunucu, gelen iletinin bu listedeki bir kaynaktan çıkıp çıkmadığına bakar. Kayıt, alan adının TXT kaydı olarak tutulur. Yalnızca Microsoft 365'ten e-posta gönderen bir alan adı için kayıt şöyle görünür:
v=spf1 include:spf.protection.outlook.com -all
Aynı alan adından başka sistemler de e-posta gönderiyorsa (web sitenizdeki iletişim formu, muhasebe ya da CRM yazılımı, toplu e-posta aracı, yazıcı ve tarayıcıdaki "e-postaya gönder" özelliği) her birinin kendi "include" ifadesi aynı kayda eklenmelidir. Kayıt sonundaki "-all", listede olmayan sunucuları reddet; "~all" ise şüpheli say ama kabul et anlamına gelir. Microsoft, DKIM ve DMARC ile birlikte kullanılan alan adları için "-all" öneriyor.
- Bir alan adında yalnızca bir SPF kaydı olabilir. İkinci bir kayıt eklemek ikisini de geçersiz kılar; yeni sistemi mevcut kayda ekleyin.
- En fazla 10 DNS sorgusu. Çok sayıda "include" eklendikçe sınır aşılabilir ve SPF hata verir.
- SPF tek başına yetmez. İletiyi yönlendirdiğinizde (forward) SPF bozulabilir; bu yüzden DKIM de gerekir.
SPF kaydı nasıl eklenir?
SPF kaydı, alan adınızın DNS'ini yöneten yerde eklenir: alan adı firmanızın paneli, hosting panelinizdeki DNS bölgesi ya da Cloudflare gibi bir DNS hizmeti. Kaydın türü TXT, adı ana alan adıdır (panele göre @ yazılır ya da alan adının kendisi seçilir), değeri v=spf1 ile başlar. Microsoft, SPF kaydında önbellek süresinin (TTL) en az 1 saat olmasını öneriyor.
Microsoft 365 kullanıyorsanız
- Mevcut kaydı bulun: Alan adınızda v=spf1 ile başlayan bir TXT kaydı varsa yenisini eklemeyin, onu düzenleyin.
- Microsoft 365'i ekleyin: E-postanın tamamı Microsoft 365'ten gidiyorsa değer v=spf1 include:spf.protection.outlook.com -all olur. Web sitesi formu ya da toplu e-posta aracı gibi başka gönderenler varsa onların include ifadesini aynı kayda ekleyin.
- Kaydedin ve kontrol edin: Microsoft 365'te SPF için ayrı bir ayar ekranı yoktur; kayıt yalnız DNS'te tutulur. Değişikliğin görünmesi kaydın önbellek süresine bağlıdır; ardından aşağıda anlattığımız yöntemle kontrol edin.
cPanel kullanıyorsanız
- Durumu görün: cPanel'in E-posta bölümündeki Email Deliverability ekranı, alan adınızın SPF, DKIM ve DMARC kayıtlarındaki sorunları gösterir. Ayrıntı için alan adının yanındaki Manage düğmesini kullanın.
- Önerilen kaydı kurun ya da düzenleyin: Repair, cPanel'in önerdiği kaydı kurar. Başka bir gönderen eklemek için SPF bölümündeki Customize ile Include List'e ekleme yapın, önizlemeye bakın ve Install a Customized SPF Record ile kaydedin. cPanel varsayılan olarak ~all önerir.
- E-postanız Microsoft 365'teyse: cPanel'in önerisini uygulamadan önce include:spf.protection.outlook.com ifadesinin kayıtta kaldığını kontrol edin. Gerekirse kaydı Zone Editor'da elle düzenleyin.
- DNS başka yerdeyse: Alan adınızın DNS'i cPanel'de değil de alan adı firmasında ya da Cloudflare gibi bir hizmetteyse Repair kullanılamaz; kaydı DNS'in tutulduğu panelde ekleyin.
DKIM: mesaj imzalandı mı?
DKIM, giden her iletiye alan adınıza ait bir dijital imza ekler. Alıcı sunucu imzayı DNS'teki açık anahtarla doğrular. İleti yolda değiştirilmişse ya da imza başka bir alan adına aitse doğrulama başarısız olur.
Microsoft 365'te özel alan adınız için DKIM imzalama kendiliğinden açılmaz. DNS'e selector1._domainkey ve selector2._domainkey adlı iki CNAME kaydı eklenir. Bu kayıtların değeri kiracınıza özeldir: Microsoft Defender portalındaki e-posta kimlik doğrulama ayarlarında (security.microsoft.com/authentication) DKIM sekmesinde alan adınızı seçtiğinizde gösterilir. Değerleri oradan kopyalayın; başka bir örnekten yazmayın. Kayıtlar DNS'te görününce aynı ekrandaki "Sign messages for this domain with DKIM signatures" anahtarıyla imzalamayı açarsınız. Açmazsanız iletileriniz kendi alan adınızın DKIM imzasını taşımaz ve DMARC için gereken uyum (alignment) DKIM tarafında sağlanmaz.
E-postanız cPanel'deki hosting üzerinde çalışıyorsa DKIM için önerilen TXT kaydını Email Deliverability ekranında görürsünüz. Alan adının DNS'i başka bir yerde tutuluyorsa bu kaydı oraya da eklemeniz gerekir.
DMARC: başarısız olursa ne yapılsın?
DMARC, alıcıya iki şey söyler: SPF ve DKIM alan adınızla uyumlu değilse iletiye ne yapılacağı ve sonuçların hangi adrese raporlanacağı. Kayıt _dmarc altına TXT olarak eklenir. Başlangıç için örnek:
v=DMARC1; p=none; rua=mailto:dmarc@sirketiniz.com
- p=none (izleme): Hiçbir ileti engellenmez, yalnızca raporlar gelir. Hangi sistemlerin sizin adınıza e-posta gönderdiğini bu raporlarla görürsünüz.
- p=quarantine (karantina): Doğrulaması başarısız iletiler çoğunlukla spam klasörüne düşer.
- p=reject (reddet): Doğrulaması başarısız iletiler alıcıya hiç teslim edilmez. Taklit e-postaya karşı en güçlü koruma budur.
DMARC kaydı da Microsoft 365'te bir ayar ekranından değil, DNS'te eklenir. cPanel'de Zone Editor'daki Add Record menüsünden DMARC seçildiğinde temel bir kayıt oluşturulur; politikayı (None, Quarantine, Reject) formdan seçersiniz.
Sırayla kurulum
- Gönderenleri listeleyin: Alan adınız adına kimin e-posta gönderdiğini çıkarın (e-posta hizmeti, web sitesi, uygulamalar, cihazlar).
- SPF'yi tek kayıtta toplayın: Varsa mevcut kaydı düzenleyin, yenisini eklemeyin.
- DKIM'i etkinleştirin: Microsoft 365'te iki CNAME ekleyip portaldan açın; DNS yayılımı için bir süre bekleyin.
- DMARC'ı p=none ile yayınlayın: Rapor adresi gerçekten okunan bir kutu olsun.
- Raporları 2–4 hafta izleyin: Tanımadığınız ya da başarısız olan gönderenleri düzeltin.
- Aşama aşama sıkılaştırın: Önce quarantine, sorun görmezseniz reject.
Kayıtlarınız çalışıyor mu, nasıl bakılır?
En kolay yol, kendi alan adınızdan bir Gmail adresine e-posta gönderip iletinin "Orijinali göster" ekranına bakmaktır: SPF, DKIM ve DMARC satırlarında "PASS" görmelisiniz. DNS kayıtlarını doğrudan görmek için komut satırında nslookup -type=txt alanadiniz.com komutunu kullanabilirsiniz. Biz de kendi alan adımızda DKIM'i etkinleştirdikten sonra aynı yöntemle doğruladık: üç satırda da PASS gördük.
Sık yapılan hatalar
- İki ayrı SPF kaydı eklemek.
- SPF kaydında yazım hatası: include'dan sonra iki nokta yerine eşittir koymak, iki noktadan sonra boşluk bırakmak ya da alan adının sonuna nokta eklemek.
- Microsoft 365'e geçtikten sonra eski e-posta hizmetinin "include" ifadesini kayıttan çıkarmamak ya da yeni olanı eklememek.
- DKIM CNAME kayıtlarını eklemek ama portaldan etkinleştirmeyi unutmak.
- DMARC rapor adresine kimsenin bakmaması.
- Doğrudan p=reject yazıp yasal gönderenleri engellemek.
- Alt alan adlarını (örneğin bulten.sirketiniz.com) hesaba katmamak.
Sık sorulan sorular
DKIM nedir?
DKIM (DomainKeys Identified Mail), giden e-postaya alan adınıza ait bir dijital imza ekleyen doğrulama yöntemidir. Alıcı sunucu imzayı DNS'te yayımlanan açık anahtarla kontrol eder. İleti yolda değiştiyse ya da imza başka bir alan adına aitse doğrulama başarısız olur.
DMARC nedir?
DMARC, SPF ve DKIM sonuçlarını iletinin gönderen (From) adresindeki alan adıyla karşılaştıran bir DNS kaydıdır. İleti doğrulamayı geçemezse alıcının ne yapacağını (yalnız izle, karantinaya al, reddet) ve raporların hangi adrese gönderileceğini belirler.
SPF kaydı nasıl yazılır?
SPF kaydı alan adının TXT kaydı olarak yazılır ve v=spf1 ile başlar. Ardından e-posta gönderen hizmetler include: ifadeleriyle ya da ip4: ile IP adresi olarak sıralanır, en sona -all ya da ~all gelir. Yalnız Microsoft 365 kullanan bir alan adı için kayıt v=spf1 include:spf.protection.outlook.com -all şeklindedir. Bir alan adında yalnız bir SPF kaydı olabilir.
DKIM kaydı nereden alınır?
DKIM kaydının değerini e-posta hizmetiniz üretir; elle uydurulmaz. Microsoft 365'te selector1._domainkey ve selector2._domainkey adlı iki CNAME kaydı eklenir; gösterdikleri değerler kiracınıza özeldir ve Defender portalındaki DKIM sekmesinde yer alır. E-postanız cPanel'deki hosting üzerindeyse Email Deliverability ekranı DKIM için önerilen TXT kaydını verir.
DMARC kaydı nasıl yazılır?
DMARC kaydı, DNS'te kaydın ad (Name/Host) alanına _dmarc yazılarak TXT kaydı olarak eklenir. Başlangıç için v=DMARC1; p=none; rua=mailto:dmarc@sirketiniz.com yeterlidir: hiçbir ileti engellenmez, raporlar belirttiğiniz adrese gelir. Raporları izledikten sonra politikayı önce quarantine, sonra reject yaparsınız.
Bu kayıtları kim ekler?
DNS kayıtlarını alan adınızın DNS'ini yöneten taraf ekler: alan adı sağlayıcınız, hosting firmanız ya da DNS barındırdığınız hizmet. Kaydı kimin yönettiğini bilmiyorsanız alan adının ad sunucularına (NS kayıtlarına) bakmak ilk adımdır.
DMARC, taklit e-postayı tamamen önler mi?
Alan adınızın birebir taklidini engeller. Benzer görünen farklı alan adlarından (örneğin bir harfi değiştirilmiş) gelen e-postaları engellemez; bunlar için çalışan farkındalığı ve e-posta güvenlik filtreleri gerekir.
Kayıtlar bozulursa e-postalarım gelmez mi?
Gelen e-postalar etkilenmez; bu kayıtlar yalnızca giden iletilerin nasıl doğrulanacağını belirler. Yanlış yapılandırılmış bir SPF ya da sıkı bir DMARC politikası, gönderdiğiniz e-postaların alıcıya ulaşmamasına neden olabilir. Bu yüzden değişiklikleri yukarıdaki sırayla ve test ederek yapın.
E-postanız Microsoft 365'teyse bu kayıtları Microsoft 365 hizmetimiz kapsamında, hosting üzerindeyse kurumsal hosting ve e-posta hizmetimiz kapsamında kuruyor ve test ediyoruz. Mevcut kayıtlarınızı kontrol ettirmek için bize ulaşabilirsiniz.