Mart sonunda bir e-ticaret müşterimizden panik telefonu geldi: "Sipariş onay mailleri müşterilere ulaşmıyor, iade talepleri ve şikâyetler patladı." Panelde her şey yeşildi, mail servisi 'gönderildi' diyordu. Test hesaplarıyla baktık: Gmail adreslerine giden maillerin neredeyse tamamı spam klasöründeydi. Domain kayıtlarını açtık — SPF eksik, DKIM hiç kurulmamış, DMARC'ın adı bile geçmiyor. Teknik olarak mail gönderilmişti; pratikte kimse görmüyordu.
Bu hikâyeyi bu kadar sık yaşamamızın sebebi basit: e-posta altyapısı bir kere kurulup unutulan bir şey sanılıyor. Oysa oyunun kuralları değişti. Google ve Yahoo 2024'te toplu gönderenler için kimlik doğrulamayı zorunlu hale getirdi; aradan geçen iki yılda eşikler daha da sıkılaştı. Kimliğini kanıtlayamayan domain'in maili artık spam'e bile düşmüyor, çoğu zaman kapıdan çevriliyor.
"Gönderildi" ile "Ulaştı" Aynı Şey Değil
SMTP'nin doğası gereği mail sunucunuz "250 OK" cevabını aldığında iş bitmiş görünür. Ama o cevap sadece "teslim aldım" demek; "gelen kutusuna koyacağım" demek değil. Alıcı taraf maili aldıktan sonra kimlik kontrolü yapar, gönderen domain'in itibarına bakar, içeriği tartar ve kararını verir. Bu kararın size dönen bir bildirimi yoktur. Müşterimizin sorunu aylarca fark etmemesinin sebebi buydu: sistem hata vermiyordu, çünkü teknik anlamda ortada hata yoktu.
İşte SPF, DKIM ve DMARC üçlüsü bu kimlik kontrolünün ortak dili. Üçü de DNS'e eklenen kayıtlardan ibaret; yani çoğu durumda yarım günlük iş. Buna rağmen incelediğimiz kurumsal domain'lerin yarısından fazlasında en az biri ya eksik ya yanlış.
SPF: Benim Adıma Kim Mail Atabilir?
SPF, domain'inizin DNS'ine koyduğunuz ve "benim adıma şu sunucular mail gönderebilir" diyen bir TXT kaydı. Alıcı sunucu, maili getiren IP'nin bu listede olup olmadığına bakar. Listede yoksa mail şüphelidir.
Kulağa basit geliyor ama sahada hep aynı hataları görüyoruz. Şirket hem kendi sunucusundan hem pazarlama platformundan hem de muhasebe yazılımından mail atıyor; SPF kaydında bunlardan sadece biri var. Ya da kayıt -all yerine hiçbir şeyle bitmiyor ve fiilen bağlayıcılığı yok. Bir de meşhur 10 DNS sorgusu limiti: her eklediğiniz include bir sorgu harcar, limit aşılınca SPF sessizce geçersiz olur. Geçen yıl bir müşterimizde tam olarak bu yaşandı — kayıt görünüşte mükemmeldi, fiilen ölüydü.
Bu yüzden SPF çalışmasına kayıttan değil envanterden başlıyoruz: bu domain adına fiilen kim mail gönderiyor? CRM, pazarlama platformu, muhasebe yazılımı, web sitesindeki iletişim formu, İK'nın kullandığı o kimsenin hatırlamadığı araç... Liste hemen her seferinde tahmin edilenden uzun çıkıyor. Envanter netleşmeden yazılan SPF kaydı, ezbere yazılmış bir kayıttır ve ya meşru maili engeller ya da sahteciye kapı bırakır.
DKIM: Zarfın Üzerindeki Mühür
SPF gönderen sunucuyu doğrular; DKIM ise mesajın kendisini. Mail sunucunuz her giden mesajı özel bir anahtarla imzalar, imzanın açık anahtarı DNS'te yayınlanır. Alıcı taraf imzayı doğrulayarak iki şeyden emin olur: mail gerçekten bu domain adına yetkili bir sistemden çıktı ve yolda içeriğiyle oynanmadı.
DKIM'in güzel tarafı, mail yönlendirmelerinde SPF'in aksine bozulmadan hayatta kalması. Zayıf tarafı ise kurulumun sağlayıcıya göre değişmesi; anahtarı üretip DNS'e selector kaydını eklemek gerekiyor ve bu adım genelde "sonra yaparız" diye atlanıyor. Bir de hijyen meselesi: 1024 bitlik eski anahtarlar artık zayıf kabul ediliyor, 2048 bit kullanın ve anahtarları arada rotasyona sokun. (Kimse sokmuyor, biliyorum. En azından yılda bir hatırlayın.)
DMARC: Kuralları İlan Eden Politika
SPF ve DKIM birer kontrol mekanizması; DMARC ise bu kontrollerden geçemeyen maile ne yapılacağını ilan eden politika. DNS'e koyduğunuz kayıtla alıcı sunuculara dersiniz ki: "Benim adıma gelen ama doğrulanamayan maili reddet" ya da "karantinaya al". Üstelik DMARC hizalama şartı getirir: doğrulama, kullanıcının gördüğü gönderen adresiyle aynı domain üzerinden yapılmış olmalı. Sahte fatura maillerini, CEO'nuzun adıyla muhasebeye atılan "acil havale" oltalarını asıl kesen mekanizma budur.
Önerdiğimiz yol her zaman kademeli: önce p=none ile başlayıp sadece rapor toplayın, raporlarda kendi meşru gönderenlerinizin tamamının doğrulamadan geçtiğini görün, sonra quarantine'e, en sonunda reject'e geçin. Doğrudan reject ile başlayan bir müşterimiz, muhasebe yazılımının gönderdiği e-arşiv faturaların üç gün boyunca buhar olduğunu fark ettiğinde bu kademelerin neden var olduğunu da öğrenmiş oldu.
DMARC raporlarını, yani rua adresine düşen XML dosyalarını çıplak gözle okumak eziyet. Biz bu raporları bir araca, son dönemde de haftalık özet çıkaran küçük bir AI ajanına bağlıyoruz. "Bu hafta domain'iniz adına yurt dışından 1.200 sahte gönderim denendi, tamamı reddedildi" cümlesini okumak, DMARC'ın neden var olduğunu her hafta yeniden hatırlatıyor.
Kayıtlar Tamam Ama Hâlâ Spam'e Düşüyorsanız
Kimlik doğrulama gerekli şart, yeterli şart değil. Bir de domain ve IP itibarı denen, daha yavaş işleyen bir hesap var. Satın alınmış listelere gönderim, yüksek bounce oranı, "spam" butonuna basan alıcılar bu hesabı eritir; bir kez eridi mi toparlamak haftalar alır. Yeni bir domain'den ilk gün 50 bin mail atmak da aynı kapıya çıkar — ısınma süreci diye bir şey var ve kimse ona sabretmek istemiyor.
IP tercihi de aynı hesabın parçası. Ayda birkaç bin mail atan bir işletmenin dedike IP alması, itibarını sıfırdan ve tek başına inşa etmesi demek; iyi yönetilen bir sağlayıcının paylaşımlı havuzunda yol almak çoğu zaman daha güvenli. Dedike IP, ancak düzenli ve yüksek hacimde anlamlı — o hacimde de ısınma planı olmadan geçiş yapılmaz.
Israrla önerdiğimiz bir ayrım daha: işlemsel maillerle (sipariş onayı, şifre sıfırlama) pazarlama maillerini aynı domain ya da alt domain üzerinden göndermeyin. Kampanya maillerinizin itibarı düştüğünde, müşterinin şifre sıfırlama maili de onunla birlikte batmasın.
Son olarak ölçüm: teslim edilebilirlik bir kere düzeltilip unutulacak bir şey değil, izlenecek bir metrik. Google Postmaster Tools domain itibarınızı ve spam şikâyet oranınızı ücretsiz gösteriyor; oradaki şikâyet oranı binde üçe yaklaştıysa alarm çalıyor demektir. Bounce'ları da düzenli temizleyin — var olmayan adreslere ısrarla mail atmak, alıcı sunuculara "bu gönderen kendi listesine bile bakmıyor" mesajı verir. Biz yönettiğimiz altyapılarda bu metrikleri haftalık rapora bağlıyoruz; sorun eğri henüz kıpırdarken yakalanınca çözüm de ucuz oluyor.
O e-ticaret müşterimizde tabloyu toparlamak iki hafta sürdü: SPF düzeltildi, DKIM kuruldu, DMARC kademeli olarak reject'e çekildi, liste hijyeni yapıldı. Gelen kutusuna ulaşma oranı %97'nin üzerine çıktı ve "maillerim gitmiyor" telefonları kesildi. Kendi domain'inizde de aynı sessiz kanamadan şüpheleniyorsanız bir teslim edilebilirlik denetimi için bize ulaşın; kayıtlarınıza bakıp nereden kanadığınızı bir günde söyleyebiliriz.