Gönderdiğiniz bir e-posta alıcıya saatler sonra ulaşıyorsa ya da hiç ulaşmıyorsa, sorunun kaynağını bulmak için tek güvenilir yol e-posta başlıklarını (header) satır satır okumaktır. Bu yazıda, RFC 5321 ve RFC 5322 standartlarının tanımladığı Received başlıklarını nasıl yorumlayacağınızı, hangi zaman damgasının hangi sunucuya ait olduğunu nasıl ayırt edeceğinizi ve gecikmenin gerçek noktasını dakika içinde nasıl tespit edeceğinizi adım adım ele alıyoruz.
Received satırları, mesajın geçtiği her sunucunun damgasını alttan üste doğru zaman sırasıyla kaydeder. Bu satırlardaki zaman farklarını hesapladığınızda gecikmenin tam olarak hangi atlama (hop) noktasında oluştuğunu bulursunuz. MXToolbox, Google Admin Toolbox ve mail-tester.com gibi araçlar bu analizi görselleştirir; ancak ham header'ı kendiniz okumak daha hızlı ve daha güvenilirdir.Her e-posta mesajı, kullanıcının görmediği ancak alıcı sunucunun ve istemcinin okuduğu bir başlık bloğu (header) taşır. RFC 5322 bu başlık alanlarının sözdizimini tanımlar; RFC 5321 ise SMTP protokolünün bu başlıklara nasıl veri eklediğini açıklar. Header içindeki Received satırları, mesajın her aktarım noktasında otomatik olarak eklenen bir tür "kargo takip etiketi" işlevi görür.
Bir e-posta gönderildiğinde şu süreç işler: gönderen MTA (Mail Transfer Agent), alıcı MTA'ya bağlanır; alıcı MTA mesajı kabul edip kendi Received satırını üste ekler ve bir sonraki sunucuya iletir. Bu zincir, mesaj son kullanıcının posta kutusuna düşene kadar devam eder. Zincirun altındaki satır en erken noktayı, üstündeki satır en son noktayı temsil eder.
Ham header'ı görmek için kullandığınız istemciye göre farklı bir yol izlemeniz gerekir: Gmail'de "Orijinal mesajı göster", Outlook'ta "İleti kaynağı" ve Apple Mail'de "Ham Kaynak" seçeneği bu verilere erişim sağlar.
Tipik bir Received satırı şu biçimdedir:
Received: from mail.ornekgonderici.com (mail.ornekgonderici.com [203.0.113.45])
by mx.hedef.com with ESMTPS id abc123
for <ali@hedef.com>;
Mon, 26 May 2026 08:14:32 +0300 (TRT)
Bu satırda from gönderen sunucuyu, by alan sunucuyu, with kullanılan protokolü (ESMTP, ESMTPS, LMTP vb.) ve en sonda tarih-saat bilgisini gösterir. Farklı Received satırlarının saat damgaları arasındaki fark, o noktadaki işlem ya da kuyruk bekleme süresini yansıtır.
Header'ı bir metin editörüne yapıştırarak yalnızca Received: ile başlayan satırları ayıklayın. Ardından her birini numaralandırın; altta kalan 1 numaralı satır, en erken adımı temsil eder.
Her satırdaki saat değerini UTC'ye dönüştürün ve bir tabloya yazın. Ardından her atlama noktasındaki farkı hesaplayın. RFC 5321, bölüm 4.4'e göre bir mesajın her atlama noktasında bekleme süresi teorik olarak sınırsız olabilir; ancak iyi yapılandırılmış sunucularda bu süre saniyeler düzeyinde kalmalıdır.
Birbirini izleyen iki Received satırı arasındaki fark 60 saniyeyi aşıyorsa inceleme gerektirir. 5 dakikayı aşıyorsa ciddi bir sorun (gri listeleme, kuyruklama, DNS çözümleme gecikmesi veya içerik filtrelemesi) söz konusu olabilir.
| Gecikme Türü | Header'daki Belirtisi | Tipik Süre | Çözüm Yönü |
|---|---|---|---|
| Greylisting (Gri Listeleme) | İlk iki Received arasında 4–15 dk fark |
4–30 dakika | Gönderen IP'yi gri liste istisna listesine ekleyin |
| DNS çözümleme gecikmesi | İlk Received satırı gecikmiş; PTR/A kaydı eksik |
5–60 saniye | PTR kaydını gönderen IP ile eşleştirin |
| İçerik/spam filtresi taraması | Ara bir sunucuda 30 sn – 5 dk fark | 30 sn – 10 dk | Ek gövde filtreleme kurallarını gözden geçirin |
| Büyük ek veya mesaj boyutu | İlk Received satırı gönderim sonrası gecikmeli |
Değişken | Ek boyutunu küçültün ya da CDN bağlantısına taşıyın |
| Alıcı kuyruk doluluğu | Son Received satırı öncekinden çok daha geç |
Dakikalar – saatler | Alıcı sunucuyla iletişime geçin; MX önceliklerini kontrol edin |
| TLS el sıkışma sorunu | with SMTP görülür, ESMTPS değil; bağlantı yeniden denendi |
5–30 saniye | TLS sertifikasının geçerliliğini ve STARTTLS yapılandırmasını kontrol edin |
Gecikmenin doğrudan nedeni kimlik doğrulama başarısızlıkları da olabilir. RFC 7208 kapsamında tanımlanan SPF, RFC 6376 kapsamındaki DKIM ve RFC 7489 kapsamındaki DMARC sonuçları, alıcı sunucunun eklediği Authentication-Results başlığında yer alır. Bu başlıkta şu gibi satırlar görebilirsiniz:
Authentication-Results: mx.hedef.com;
spf=pass (google.com: domain of info@gonderici.com designates 198.51.100.10 as permitted sender)
dkim=fail header.i=@gonderici.com
dmarc=fail (p=quarantine) header.from=gonderici.com
DKIM imza doğrulama başarısız olduğunda bazı sunucular mesajı hemen reddetmek yerine geciktirerek karantinaya alır ya da ek filtrelemeden geçirir. DMARC politikası quarantine veya reject olarak ayarlanmışsa bu süreç gecikmeyi daha da uzatabilir. Google Postmaster Tools ve Microsoft SNDS panelleri bu başarısızlıkların hacmini göndericiye geri bildirir.
MXToolbox Email Header Analyzer (mxtoolbox.com/EmailHeaders.aspx): Ham header'ı yapıştırır yapıştırmaz her atlama noktasındaki süreyi renkli çubuk grafiğiyle görselleştirir. Kırmızı renkli çubuklar anormal gecikme noktalarını işaret eder.
Google Admin Toolbox — Messageheader (toolbox.googleapps.com/apps/messageheader/): RFC uyumlu ayrıştırma yapar; özellikle Gmail'den gelen mesajlarda X-Google-DKIM-Signature gibi özel başlıkları da çözümler.
mail-tester.com: Mesajı doğrudan test adresine göndererek SPF/DKIM/DMARC, içerik skoru ve blacklist durumunu tek raporda sunar.
Postfix log analizi: Kendi altyapınızı işletiyorsanız /var/log/mail.log ya da /var/log/maillog dosyasında queue_id değerini arayarak mesajın sunucu tarafındaki yaşam döngüsünü milisaniye hassasiyetiyle takip edebilirsiniz.
Mesaj bir yönlendirme (forward) veya liste sunucusu üzerinden geçmişse zincirde fazladan atlama noktaları oluşur. X-Forwarded-To, X-Original-To veya Delivered-To başlıkları bu yönlendirme adımlarını kaydeder. Kurumsal bir e-posta güvenlik ağ geçidi (örneğin Proofpoint, Mimecast veya Cisco Email Security) kullanılıyorsa ağ geçidinin eklediği özel başlıklar da gecikme analizine dahil edilmelidir; çünkü bu sistemler bazen mesajı virüs taraması ya da sandbox analizine göndererek ekstra 30 saniye ile birkaç dakika arasında bekleme süresi ekler.
Connect365 gibi toplu e-posta gönderim platformlarında gecikme analizi özellikle kritiktir. Transaksiyonel e-postalar için RFC 5321'in bölüm 4.5.4'ü, teslim denemelerinin üstel geri çekilme (exponential backoff) mantığıyla yapılmasını önerir: ilk yeniden deneme 5 dakika, ikincisi 15 dakika, üçüncüsü 1 saat aralıklı olarak denenir. Bu durum header'da birden fazla Received satırı arasında belirgin sıçramalar olarak görünür.
IP havuzu rotasyonu, özelleştirilmiş gönderim zamanlaması ve hedef alan adına özel MX kayıt izleme gibi özellikler gecikme oranını düşürür. Bir kampanya raporunda açılma oranlarının beklenenden düşük çıktığı durumlarda ilk kontrol noktanız her zaman birkaç örnek mesajın header analizi olmalıdır.
Aşağıdaki senaryoyu ele alalım: Saat 08:10:00'da gönderilen bir mesaj Gmail'e 08:24:17'de ulaşmış, yani 14 dakika 17 saniyelik bir gecikme oluşmuş. Header'ı incelediğimizde:
Received #1)Received #2, 2 saniye fark)Received #3, 14 dakika 8 saniye fark)Received #4, 2 saniye fark)14 dakikalık fark, Google'ın greylisting davranışına ya da gönderen IP'nin kısa süreli kısıtlanmasına (throttling) işaret eder. Google Postmaster Tools'daki alan adı itibar paneli bu anlarda sıklıkla "Düşük" itibar uyarısı gösterir. Çözüm: gönderim hızını geçici olarak düşürmek ve IP ısınma programını gözden geçirmek.
Gmail'de mesajı açıp sağ üst köşedeki üç nokta menüsünden "Orijinal mesajı göster" seçeneğini tıklayın. Outlook'ta mesaja sağ tıklayıp "İleti kaynağını görüntüle" veya "Özellikler" bölümündeki "İnternet üst bilgileri" alanını kullanabilirsiniz. Apple Mail'de Görünüm menüsünden "Ham Kaynak" seçeneğini seçin.
Her yeni sunucu kendi Received satırını en üste ekler. Bu nedenle en üstteki satır en son eklenen (alıcı tarafa en yakın) noktayı, en alttaki satır ise gönderim noktasını temsil eder. Analiz yaparken alttan üste doğru okumak doğru kronolojik sırayı verir.
Her sunucu kendi sistem saatini kullanır. Sunucular arasında küçük saat farkları (birkaç saniye) normaldir ve NTP senkronizasyonuyla giderilir. Ancak yanlış yapılandırılmış sunucularda saat bilgisi yanıltıcı olabilir. Bu yüzden tek bir atlama noktasındaki büyük farka değil, genel zincirdeki örüntüye bakın.
Greylisting, alıcı sunucunun bilinmeyen gönderenleri ilk denemede geçici olarak reddedip RFC 5321'e uygun bir yeniden deneme beklediği bir spam azaltma tekniğidir. Bu gecikme genellikle 5–30 dakika arasında değişir. Gönderen IP alıcı tarafından tanındıktan sonra bir daha uygulanmaz.
DKIM doğrulama başarısızlığı mesajı otomatik reddetmez; ancak alıcı sunucunun risk değerlendirme puanını artırır. Bu durum mesajın ek filtreleme katmanlarından geçmesine yol açabilir ve birkaç saniyelik ila birkaç dakikalık ek gecikme oluşturabilir. RFC 6376'ya göre DKIM imzasının bütünlüğü ve d= alanının From: başlığıyla uyumu doğru yapılandırma için zorunludur.
Bu başlık, alıcı tarafın spam filtresi (çoğunlukla SpamAssassin veya benzeri bir motor) tarafından eklenir ve mesaja verilen spam skoru ile tetiklenen kuralları listeler. Yüksek skorlu mesajlar genellikle karantinaya alınır ya da ek incelemeye tabi tutulur; bu da teslim süresini uzatır.
IP ısınma planına (IP warming) uyun, günlük gönderim hacmini kademeli artırın, her alıcı alan adı için gönderim hızı (rate limiting) uygulayın ve Google Postmaster Tools ile Microsoft SNDS panellerini düzenli izleyin. Ayrıca gönderim altyapınızın DKIM imzası, doğru PTR kaydı ve geçerli SPF kaydıyla tam uyum içinde olduğundan emin olun.
Evet. RFC 5322'nin tanımladığı Message-ID başlığı her mesaj için benzersizdir ve gönderen MTA tarafından atanır. Bu değeri kullanarak hem kendi posta sunucunuzun hem de alıcının log dosyalarında mesajı bulup zincirin tamamını takip edebilirsiniz.
Google Admin Toolbox Messageheader (ücretsiz, Google hesabı gerekmez), mail-tester.com (SPF/DKIM/içerik skoru birlikte), GlockApps (inbox testi ve header analizi) ve WhatIsMyIPAddress.com Email Header Analyzer bu amaçla yaygın olarak kullanılan araçlar arasındadır. Kendi altyapınızı yönetiyorsanız Postfix veya Exim log dosyaları en ayrıntılı veriyi sağlar.
Mesaj teslim edilmediyse alıcı sunucu bir geri dönüş mesajı (bounce, NDR) üretmiş olmalıdır. Bu geri dönüş mesajının kendisi de bir header taşır ve hata kodunu (ör. 550, 421, 452 gibi SMTP yanıt kodlarını) içerir. RFC 5321, bölüm 4.2, bu yanıt kodlarının anlamlarını tanımlar. 5xx kalıcı, 4xx geçici hataları ifade eder.
Reklamsız, KVKK uyumlu; kurulum ve geçiş ücretsiz, mailleri biz taşırız.
Kurulum + migrasyon ücretsiz. KVKK uyumlu, Türkiye'de barındırma. 7/24 Türkçe destek.
Kampanya 30 Haziran'a kadar geçerlidir.