
SPF, DKIM ve DMARC Nedir?
"Sitemizden hiç teklif gelmiyor." Bu cümleyi duyduğumuzda ilk baktığımız şeylerden biri sitenin tasarımı değil, formun arkası oluyor. Çünkü bazen teklifler geliyor. Sadece gelen kutusuna değil, spam klasörüne.
Bunun en yaygın sebebi, e-postayı gönderen sunucunun kimliğini kanıtlayamaması. Gmail ve Outlook gibi sağlayıcılar, gelen her e-postada üç kontrol yapar: SPF, DKIM ve DMARC. Bu üç kayıt alan adınızın DNS ayarlarında doğru kurulmamışsa, kendi sitenizden kendinize gönderdiğiniz form e-postası bile şüpheli sayılabilir.
Bu yazıda üç kaydın ne olduğunu, nasıl kurulduğunu ve web sitesi formlarında en sık yapılan hatayı anlatıyoruz.
E-posta Neden Kimlik Kanıtlamak Zorunda?
E-posta protokolü, ilk tasarlandığında gönderenin kim olduğunu doğrulayan bir mekanizma içermiyordu. Herhangi bir sunucu, herhangi bir adres adına e-posta gönderebilir. "Kimden" alanına bilgi@sirketiniz.com yazmak için o alan adının sahibi olmak gerekmez.
Sahte e-posta ve oltalama saldırıları bu açıktan yararlanır. SPF, DKIM ve DMARC, bu açığı kapatmak için sonradan eklenmiş üç katmandır. Her biri farklı bir soruyu cevaplar:
- SPF: Bu e-postayı gönderen sunucu, bu alan adı adına göndermeye yetkili mi?
- DKIM: Bu e-posta yolda değiştirilmeden, gerçekten bu alan adının imzasıyla mı geldi?
- DMARC: İlk iki kontrol başarısız olursa alıcı ne yapmalı? Ve kontroller, ekranda görünen "Kimden" adresiyle örtüşüyor mu?
Büyük sağlayıcılar bu kayıtları artık zorunlu tutuyor. Gmail ve Yahoo, 2024'ten beri kendilerine e-posta gönderen herkesten en az SPF ya da DKIM bekliyor. Günde binlerce e-posta gönderenler için üçü birden şart. Microsoft da Outlook için benzer kurallar getirdi.
SPF Kaydı Nedir?
SPF (Sender Policy Framework), alan adınız adına e-posta göndermeye yetkili sunucuların listesidir. DNS'e bir TXT kaydı olarak eklenir. Örneğin:
v=spf1 include:_spf.google.com include:spf.ornekservis.com ~all
Bu kayıt şunu söyler: "Bu alan adı adına Google'ın sunucuları ve örnek servisin sunucuları e-posta gönderebilir. Başka bir sunucudan geliyorsa şüpheli say."
Sondaki ifade, listede olmayan sunucudan gelen e-postaya ne yapılacağını belirtir. ~all (softfail) "şüpheli say", -all (fail) "reddet" demektir.
SPF'te en sık yapılan hatalar:
- İki ayrı SPF kaydı. Bir alan adında yalnızca bir SPF kaydı olabilir. Yeni bir servis eklenirken ikinci bir
v=spf1kaydı oluşturulursa SPF tamamen bozulur. Doğrusu mevcut kaydaincludeeklemektir. - Unutulan servisler. Kurumsal e-posta, bülten aracı, muhasebe programı, CRM ve web sitesi formu. Alan adınız adına gönderim yapan her servis listede olmalı.
- Çok fazla include. SPF kontrolü en fazla 10 DNS sorgusuna izin verir. Çok sayıda servis eklendiğinde bu sınır aşılır ve kontrol hata verir.
DKIM Nedir?
DKIM (DomainKeys Identified Mail), e-postaya eklenen dijital bir imzadır. Gönderen sunucu, her e-postayı yalnızca kendisinde bulunan gizli bir anahtarla imzalar. Bu anahtarın eşi olan açık anahtar ise alan adınızın DNS'inde yayınlanır.
Alıcı sunucu e-postayı aldığında DNS'ten açık anahtarı okur ve imzayı doğrular. İmza tutuyorsa iki şey kanıtlanmış olur: e-posta gerçekten bu alan adının yetkili sunucusundan gelmiştir ve yolda değiştirilmemiştir.
DKIM'i kurmak için genelde anahtar üretmeniz gerekmez. Google Workspace, Microsoft 365 ya da e-posta gönderim servisi size eklemeniz gereken DNS kaydını verir. Kayıt secici._domainkey.sirketiniz.com gibi bir adrese eklenir. Buradaki "seçici" (selector), servisin belirlediği bir isimdir ve aynı alan adında birden fazla servis kendi DKIM anahtarını kullanabilir.
Kaydı ekledikten sonra servisin panelinde DKIM imzalamayı ayrıca etkinleştirmek gerekebilir. Bu adım sık unutulur.
DMARC Nedir?
DMARC (Domain-based Message Authentication, Reporting and Conformance), SPF ve DKIM'in üzerine kurulan bir politika katmanıdır. İki iş yapar.
Birincisi hizalamayı kontrol eder. SPF ve DKIM, e-postanın teknik olarak hangi alan adından geldiğine bakar. Ama alıcının ekranda gördüğü "Kimden" adresi farklı olabilir. DMARC, kontrolden geçen alan adının ekrandaki adresle aynı olmasını şart koşar. Sahte e-postaların çoğu tam bu noktada yakalanır.
İkincisi alıcıya ne yapacağını söyler. DNS'e _dmarc.sirketiniz.com adresine bir TXT kaydı olarak eklenir:
v=DMARC1; p=none; rua=mailto:dmarc-rapor@sirketiniz.com
p değeri politikadır:
p=none: Kontrolden geçmeyen e-postaya bir şey yapma, sadece raporla.p=quarantine: Spam klasörüne koy.p=reject: Reddet.
rua adresine alıcı sunuculardan düzenli raporlar gelir. Bu raporlar, alan adınız adına kimlerin e-posta gönderdiğini gösterir. Unuttuğunuz bir servisi ya da alan adınızı taklit eden birini buradan fark edersiniz.
Doğru sıra, p=none ile başlayıp raporları birkaç hafta izlemek, bütün meşru gönderimlerin kontrolden geçtiğinden emin olunca önce quarantine, sonra reject politikasına geçmektir.
Web Sitesi Formlarında En Sık Yapılan Hata
Alan adında SPF, DKIM ve DMARC doğru kurulu olsa bile web sitesi formu yine spam'e düşebilir. Sebep genelde formun e-postayı nasıl gönderdiği.
Birçok sitede form, e-postayı doğrudan barındırma sunucusundan gönderir. "Kimden" alanında bilgi@sirketiniz.com yazar ama e-postayı gönderen, sitenin barındırıldığı sunucudur. Bu sunucu SPF listesinde değildir ve e-postayı alan adınızın DKIM anahtarıyla imzalamaz. Sonuç: SPF başarısız, DKIM yok, DMARC başarısız.
İkinci yaygın hata, formu dolduran ziyaretçinin e-posta adresini "Kimden" alanına yazmak. Böylece "yanıtla" deyince doğrudan ziyaretçiye cevap verilsin istenir. Ama e-posta, sizin sunucunuzdan ziyaretci@gmail.com adına gönderilmiş olur. Gmail'in DMARC politikası bunu sahte e-posta olarak görür.
Doğru kurulum şöyle:
- Form e-postası, alan adınızın yetkili olduğu bir servis üzerinden gönderilir: kurumsal e-posta hesabının SMTP bağlantısı ya da işlem e-postası servisi.
- O servis SPF kaydına eklenir ve DKIM imzalaması etkinleştirilir.
- "Kimden" alanında her zaman kendi alan adınızdaki bir adres bulunur.
- Ziyaretçinin adresi "Kimden" alanına değil, "Yanıtla" (Reply-To) alanına yazılır. Böylece yanıtla deyince yine ziyaretçiye gider.
Biz kurumsal web sitelerini kurarken form gönderimini bu şekilde yapılandırıyoruz. Bir açılış sayfası ne kadar iyi hazırlanmış olursa olsun, talepler gelen kutusuna ulaşmıyorsa sonuç değişmez. Landing page rehberimizde bu noktaya da değindik.
Kendi Sitenizi Nasıl Test Edersiniz?
Beş dakikalık bir test yeterli:
- Sitenizdeki formu doldurun ve gönderin. Form e-postaları yalnızca kurumsal adresinize geliyorsa, test için alıcıya geçici olarak bir Gmail ve bir Outlook adresi de ekleyin. Sağlayıcılar aynı e-postayı farklı değerlendirebilir.
- Gelen kutusuyla birlikte spam klasörüne de bakın.
- Gmail'de gelen e-postayı açın, sağ üstteki üç nokta menüsünden "Orijinali göster" seçeneğine tıklayın. Sayfanın üstünde SPF, DKIM ve DMARC için PASS ya da FAIL yazar.
- "Gönderen" bilgisinde alan adınız mı, yoksa barındırma sunucusunun adı mı görünüyor, kontrol edin.
Üçünde de PASS görüyorsanız form tarafında sorun yok. Biri bile FAIL ise e-postaların bir kısmı spam'e düşüyor demektir.
Sonuç
SPF, DKIM ve DMARC, alan adınızın e-posta kimlik kartıdır. SPF kimin gönderebileceğini, DKIM e-postanın değiştirilmediğini, DMARC ise bu kontroller başarısız olursa ne yapılacağını söyler. Üçü birlikte kurulduğunda hem e-postalarınız gelen kutusuna ulaşır hem de alan adınızı taklit etmek zorlaşır.
Web sitesi formları bu tablonun en çok gözden kaçan parçası. Formdan gelen talepler spam'e düşüyorsa, pazarlama çalışmıyor sanılan dönemde aslında çalışmayan şey form olabilir. Bunu anlamanın yolu ekrandaki "mesajınız gönderildi" yazısına değil, alıcının gelen kutusuna bakmaktır.
Sitenizin form ve e-posta altyapısını birlikte kontrol etmek isterseniz teklif formumuzu doldurabilirsiniz.
Web Siteniz İçin Teklif Alın
Kurumsal web sitesi, SEO ve dijital çözümler için bizimle iletişime geçin.
Teklif Al