Gmail Toplu Gönderen Kuralları: Günde 5.000+ Gönderimde DMARC, Hizalama ve Tek Tık Abonelikten Çıkma
Gmail'e günde 5.000'den fazla mesaj gönderiyorsanız kimlik doğrulama, hizalama ve tek tık abonelikten çıkma artık pazarlık konusu değil. Gerçek DNS kayıtları, header örnekleri ve DMARC alignment mantığıyla üç sert eşiği tek konfigürasyonda karşılamanın sahadan yolu.
EvilMail Team13 Temmuz 202610 dk okuma
Bir sabah gönderim loglarında 550 5.7.26 görürseniz kampanyanız yavaşlamamış, duvara toslamıştır. Gmail'in toplu gönderen kuralları kademeli uyarı vermez; eşiği geçtiğiniz an kapı ya açıktır ya kapalı. Ve o eşik sandığınızdan alçak: Gmail adreslerine yuvarlanan 24 saatlik pencerede 5.000 mesaj gönderdiğiniz gün "bulk sender" statüsüne girersiniz. Tek bir kampanya patlaması yeterli, geri dönüşü de yok — bir kez bu sınıfa girdiyseniz her gönderiminiz o çıtaya göre ölçülür.
Üç zorunluluk var ve üçü de artık "iyi uygulama" değil, geçiş bileti:
Kimlik doğrulama + hizalama: SPF ve DKIM geçmeli, DMARC kaydı bulunmalı ve en az biri From: alanıyla hizalanmalı.
Tek tık abonelikten çıkma: RFC 8058'e uygun List-Unsubscribe + List-Unsubscribe-Post header'ları.
Spam şikayet oranı:
Postmaster Tools'ta ölçülen kullanıcı bildirimli spam oranı
%0,30'un altında
, ideali
%0,10
.
Yahoo aynı kuralları 2024'te devreye aldı; Apple ve Microsoft da benzer yöne kaydı. Doğru kurulan tek bir konfigürasyon üçünü birden karşılar. Asıl tuzak en çok göz ardı edilen yerde: DMARC, auth'un yalnızca *geçmesini* değil, From: ile *hizalanmasını* da ister — çoğu ESP kurulumunda bu sessizce fail verir.
SPF, DKIM, DMARC: geçmek yetmez, hizalanmak şart
Sahadaki en pahalı yanılgı şu: "SPF geçiyor, DKIM imzalı, o zaman DMARC de geçer." Hayır. DMARC, auth mekanizmasının geçmesini *ve* doğruladığı domainin kullanıcının gördüğü From: domainiyle aynı organizasyonel domaine ait olmasını ister. Buna alignment (hizalama) denir.
Karar mantığı tek formülde toplanır:
DMARC PASS = (SPF doğrulandı VE SPF hizalı) VEYA (DKIM geçerli VE DKIM hizalı)
En az bir dalın hem geçmesi hem hizalanması gerekir. Klasik tuzak SPF tarafında: bir ESP üzerinden gönderdiğinizde zarf gönderen adresi (Return-Path / envelope-from) genellikle ESP'nin bounce domaini olur — bounces.sendgrid.net gibi. SPF o domain için tıkır tıkır geçer, ama From: sizin evilmail.pro domaininizdir. SPF geçer ama hizalanmaz. Bu durumda DMARC'ı ayakta tutan tek şey DKIM'dir, çünkü DKIM imzasındaki d= etiketini kendi domaininize sabitleyebilirsiniz. DKIM hizalamasını ihmal ederseniz DMARC tamamen çöker.
Gerçek kayıtlar şöyle görünür. SPF, domaininizin tek bir TXT kaydında toplanmalı — ikinci bir v=spf1 kaydı SPF'i tümden geçersiz kılar (permerror):
-all (hard fail) ile ~all (soft fail) arasındaki fark kritik: warm-up döneminde forwarding senaryolarında beklenmedik reddi önlemek için ~all ile başlayıp altyapınıza güvendikçe -all'a geçmek makul bir yol. DKIM anahtarınız hâlâ 1024-bit ise değiştirin; 2048-bit artık asgari beklenti.
DMARC politikasını doğru kur: p=none tuzağı
Gmail'in istediği asgari şey geçerli bir DMARC kaydıdır ve p=none bunu karşılar. Çoğu operatör tam burada durur, bir daha _dmarc kaydına bakmaz. Bu bir hata. p=none size hiçbir koruma sağlamaz — sadece kapıyı açar ve rapor toplamaya başlar. Domaininizi kimse adınıza spoof edemesin istiyorsanız hedefiniz p=reject'tir; oraya kör atlamak da teslimatınızı katleder.
Doğru sıralama şu: p=none ile başla, rua raporlarını (agregat XML) topla, tüm meşru trafiğinizin %100 hizalandığını raporlarda görene kadar bekle, sonra p=quarantine; pct=25 ile geçip yüzdeyi kademeli artır, en sonunda p=reject. Raporlarda hâlâ hizalanmayan meşru bir kaynak varken sertleşirseniz kendi maillerinizi çöpe atarsınız.
Etiketleri tanıyın: adkim/aspf hizalama modunu belirler — r (relaxed) alt domainlere izin verir (mail.evilmail.pro, evilmail.pro ile hizalı sayılır), s (strict) tam eşleşme ister. sp= alt domainler için ayrı politika, pct= politikanın uygulanacağı mesaj yüzdesidir. Kayıtlarınızı doğrulayın:
rua raporlarını elle XML olarak okumak işkencedir; Postmark'ın ücretsiz DMARC aracı veya benzeri bir toplayıcı raporları insan tarafından okunur hale getirir. Aradığınız tek satır şu: kaynak IP başına spf/dkim sütunlarının hem pass hem aligned olması.
Tek tık abonelikten çıkma: iki header, tek iş
RFC 8058 uyumlu one-click unsubscribe, kuralların en çok yanlış yapılan kısmıdır. Sebebi basit: iki header birden gerekir ve insanlar ikincisini unutur.
List-Unsubscribe yıllardır var ve tek başına GET tabanlı bir bağlantıdır. One-click'i tetikleyen ikinci header'dır: List-Unsubscribe-Post: List-Unsubscribe=One-Click. Bu satır yoksa Gmail gönderiminizi one-click uyumlu saymaz, kullanıcıya üstteki "abonelikten çık" düğmesini göstermez ve zorunluluğu ihlal etmiş olursunuz.
Kritik davranış: kullanıcı düğmeye bastığında Gmail sizin HTTPS URL'inize bir POST isteği atar, gövdesinde List-Unsubscribe=One-Click ile. GET değil. Endpoint'iniz yalnızca GET işliyorsa istek düşer. Ayrıca landing sayfanız ek onay isteyemez — "çıkmak istediğinize emin misiniz?" ekranı kuralı ihlal eder. İsteği aldıktan sonra kullanıcıyı 2 gün içinde listeden çıkarmalısınız. Bu zorunluluk yalnızca pazarlama ve promosyon maillerinde geçerlidir; şifre sıfırlama, fatura gibi transactional maillerde one-click gerekmez.
Spam oranını Postmaster Tools ile %0,3'ün altında tutmak
postmaster.google.com adresine domaininizi ekleyip bir DNS TXT kaydıyla doğrulayın. Veri 48 saat gecikmeyle gelir; yani go-live gününde grafik boş olacaktır, panik yapmayın. İzleyeceğiniz dashboard'lar: User-reported spam rate, Domain reputation, IP reputation ve Authentication.
Kural net: kullanıcı bildirimli spam oranı %0,30'u aşarsa teslimatınız bozulur. Ama %0,30'u tavan değil uçurum kenarı olarak görün — pratikte %0,10 altını hedefleyin. Tek bir günlük spike bile — kötü bir liste alımı, yanlış segmentasyon — Domain reputation'ı "High"dan "Bad"e düşürebilir ve toparlanması haftalar alır.
Oranı düşük tutan pratikler:
Double opt-in: onay maili olmadan listeye kimse girmesin. Satın alınmış listeler spam oranınızı ilk gönderimde uçurur.
Hacim warm-up: yeni IP/domain ile sıfırdan 5.000'e zıplamayın. Günlük hacmi kademeli artırın; ani spike reputation'ı çökertir.
Forwarding gerçeği: bir kullanıcı mailinizi başka adrese yönlendirdiğinde SPF kırılır (Return-Path değişir). Sizi ayakta tutan DKIM imzasıdır; ara sunucular ARC (Authenticated Received Chain) ekliyorsa hizalama zinciri korunur. Bu yüzden DKIM hizalaması SPF'ten daha kritiktir.
Doğrulama checklist'i ve go-live öncesi son kontrol
Her maddeyi komut çıktısıyla tik atmadan yayına geçmeyin:
SPF:dig +short TXT evilmail.pro → tek v=spf1 satırı, gönderen altyapınız include'da, -all/~all ile bitiyor.
DKIM:dig +short TXT s1._domainkey.evilmail.pro → geçerli p= public key, 2048-bit.
DMARC:dig +short TXT _dmarc.evilmail.pro → en az p=none, rua adresi çalışıyor, raporlar geliyor.
Hizalama testi: Gmail'e test maili at, mesajı aç, üç nokta > "Show original". Üç satır da PASS olmalı: SPF: PASS, DKIM: 'PASS' with domain evilmail.pro, DMARC: 'PASS'. Üstteki "mailed-by" (SPF domaini) ve "signed-by" (DKIM domaini) From: domaininizle eşleşmeli — eşleşmiyorsa geçtiniz ama hizalanmadınız.
One-click: Ham kaynakta List-Unsubscribe *ve* List-Unsubscribe-Post: List-Unsubscribe=One-Click birlikte mi? Endpoint POST'a 200 dönüyor mu? Onay sayfası yok mu?
Postmaster Tools: domain doğrulandı, dashboard'lar aktif; ilk 48 saat veri bekleyin.
mail-tester.com ile 10/10 skoru, DMARC/DKIM/SPF yeşil.
Bu altı maddeyi geçen bir kurulum yalnızca Gmail'i değil, Yahoo'yu, Apple'ı ve Microsoft'u da aynı anda memnun eder — çünkü hepsi aynı üç sütuna dayanıyor. Eşiği geçen operatör için soru "kurallara uyayım mı" değil; "ilk 5.7.26 reddinden önce mi sonra mı öğreneceğim" sorusudur. Öncesi her zaman ucuzdur.