Başlık bloğunun gerçekte ne olduğu
Her mesaj, tek bir boş satırla ayrılmış iki şeyden oluşur: bir Name: value satırları bloğu, ve okuduğunuz metin. RFC 5322, ilk kısmı başlık olarak adlandırır ve içindeki her satırı bir alan olarak tanımlar, ve kaç tane olabileceğine dair hiçbir sınır koymaz. Posta uygulamanız size dört ya da beş tanesini gösterir. Üç sunucudan geçmiş bir mesaj genellikle otuz ile altmış arasında taşır.
Return-Path: <bounces+2841@mail.example.com>
Delivered-To: signup-2026@example.org
Received: by mx.example.org (Postfix) with LMTP id 4c8f21
for <signup-2026@example.org>; Fri, 5 Sep 2026 09:14:22 +0000 (UTC)
Received: from out-17.mail.example.com (out-17.mail.example.com [198.51.100.17])
by mx.example.org (Postfix) with ESMTPS id 9a31b0
for <signup-2026@example.org>; Fri, 5 Sep 2026 09:14:21 +0000 (UTC)
Authentication-Results: mx.example.org;
spf=pass smtp.mailfrom=mail.example.com;
dkim=pass header.d=example.com;
dmarc=pass header.from=example.com
From: "Example Support" <support@example.com>
To: signup-2026@example.org
Subject: Confirm your email address
Date: Fri, 5 Sep 2026 09:14:19 +0000
Message-ID: <20260905091419.9a31b0@mail.example.com>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="b1_4c8f21"Yukarıdan aşağıya okunduğunda makine gürültüsü gibi görünür, ve çoğu zaten öyledir. Bilginin neredeyse tamamını dört alan taşır, ve bu rehberin konusu da tam olarak bu dördüdür: Received, From, Return-Path ve Authentication-Results.
Tam başlığın nerede saklandığı
Aşağıdakilerin hiçbiri bir araç, bir eklenti ya da bir hesap gerektirmez. Her posta istemcisi ham mesajı bir menü öğesinin arkasında saklar, ve aranacak sözcük her zaman kaynak, orijinal ya da ham sözcüğünün bir biçimidir.
| Postanızı nerede okuduğunuz | Neyi açacağınız | Ne elde edersiniz |
|---|---|---|
| Tarayıcıda Gmail | Açık bir mesajdaki üç nokta menüsü → Orijinali göster | SPF, DKIM ve DMARC'ı sizin için önceden değerlendirmiş bir özet panelinin üstünde, bloğun tamamı |
| Tarayıcıda Outlook.com | Üç nokta menüsü → View → View message source | Mesajın tamamı, düz metin olarak, ulaştığı haliyle |
| Outlook masaüstü uygulaması | Mesajı kendi penceresinde açın → Dosya → Özellikler | Yalnızca başlık bloğu, iletişim kutusunun altındaki kutuda |
| Mac'te Apple Mail | View → Message → Raw Source | Başlık ve gövde birlikte, kendi pencerelerinde |
| Herhangi bir sistemde Thunderbird | Görünüm → İleti Kaynağı | Başlık bloğu en üstte olacak şekilde, mesajın tamamı |
| Tarayıcıda Proton Mail | Bir mesajdaki üç nokta menüsü → View headers | Yalnızca başlık bloğu, gövde olmadan |
| Tarayıcıda Yahoo Mail | More → View raw message | Mesajın tamamı, tam olarak teslim edildiği haliyle |
| Birinin size gönderdiği ya da sizin dışa aktardığınız bir dosya | .eml dosyasını herhangi bir metin düzenleyicide açın | Her şey, çünkü bir .eml, bir başlık bloğu ile bir gövdeden başka bir şey değildir |
Bu menü yolları, 5 Eylül 2026 tarihinde bulundukları yerlerdir ve yılda yaklaşık bir kez yer değiştirirler, bu yüzden yukarıdaki cümle tablodan daha önemlidir: öğe bu sezon ne diye adlandırılırsa adlandırılsın, içinde kaynak, orijinal ya da ham sözcüğü geçecektir.
Received zinciri, aşağıdan yukarı okunur
Mesajı kabul eden her sunucu bir Received: satırı yazar ve onu bloğun en üstüne, o ana kadar orada olan her şeyin üzerine koyar. Bu tek alışkanlık, başlıklar hakkındaki en kullanışlı gerçeği ortaya çıkarır: gördüğünüz ilk satır son sıçramadır, ve mesajın yolculuğu tersten yazılmıştır.
Received: by mx.example.org (Postfix) with LMTP id 4c8f21
for <signup-2026@example.org>; Fri, 5 Sep 2026 09:14:22 +0000 (UTC)
Received: from out-17.mail.example.com (out-17.mail.example.com [198.51.100.17])
by mx.example.org (Postfix) with ESMTPS id 9a31b0
for <signup-2026@example.org>; Fri, 5 Sep 2026 09:14:21 +0000 (UTC)
Received: from app-3.internal (app-3.internal [192.0.2.53])
by out-17.mail.example.com (Postfix) with ESMTP id 771c4e
for <signup-2026@example.org>; Fri, 5 Sep 2026 09:11:58 +0000 (UTC)Her satır aynı avuç dolusu sözcükten kurulur, ve onları adlandırabildiğiniz an zincir duvar kağıdı olmaktan çıkar.
from- Bağlanan makinenin kendine ne dediği, ardından köşeli parantez içinde gerçekte ne olduğu — alıcı sunucunun bağlantı üzerinde gördüğü ters DNS adı ve IP adresi. Parantezden önceki ad bir iddiadır. İçindeki adres ise gözlemlenmiştir.
by- Bu satırı yazan sunucu. Satırdaki, herhangi bir şeyden sorumlu tutabileceğiniz tek taraftır.
with- Sıçramanın nasıl yapıldığı:
ESMTP, bağlantı şifrelendiğindeESMTPS, bir posta kutusuna son teslim içinLMTP. SonundaSolmadanESMTPdiyen bir sıçrama, mesajı açık metin olarak taşımıştır. for- O sıçramadaki zarf alıcısı — herhangi bir yönlendirme kuralı bir şeyi yeniden yazmadan önce, mesajın gerçekte hangi adresinize gönderildiği. Bir catch-all alan adında ya da bir artı etiketinde, sızan adresi adlandıran alan budur.
- sondaki zaman damgası
- O sunucunun mesajı kabul etmeyi ne zaman tamamladığı. Bir satırın zamanını üstündeki satırın zamanından çıkarırsanız o sıçramadaki gecikmeyi elde edersiniz, ki yavaş bir mesajın gerçekte nerede beklediğini tahmin etmek yerine böyle öğrenirsiniz.
Yukarıdaki örnekte mesaj uygulamadan 09:11:58'de ayrıldı ve iki dakika yirmi üç saniye sonra gönderen sağlayıcının giden sunucusuna ulaştı; ondan sonraki iki sıçrama aralarında bir saniye sürdü. Bir saat geç ulaşan bir mesajın neredeyse her zaman içinde bir saat barındıran bir satırı vardır, ve bu nadiren sonuncu satırdır.
Hepsi gönderen olduğunu iddia eden dört alan
“Bunu kim gönderdi” sorusunun bir başlıkta dört yanıtı vardır, ve bunların birbirini tutmamasına izin verilir. Çoğu zaman sıradan nedenlerle tutmazlar — bir e-posta listesi, bir pazarlama platformu, kendinizin kurduğu bir yönlendirme kuralı. Bir uyuşmazlık hiçbir şeyin kanıtı değildir. Değerli olan, dördünden hangisine baktığınızı bilmektir.
From:- Gönderenin gösterilmesini istediği adres ve serbest metin olan bir görünen ad. Hiçbiri doğrulanmaz. Bu, posta uygulamanızın mesaj listesine koyduğu alandır, ve bir telefonda adres genellikle adın arkasında tamamen gizlenir.
Return-Path:- Zarf göndereni; mesajı kabul eden sunucu tarafından, SMTP görüşmesi sırasında gerçekte söylenenden başlığa yazılır. Bir geri dönüşün gittiği yerdir, ve SPF'nin karşılaştırıldığı adrestir — tam olarak bu yüzden bir mesaj, kendisiyle hiçbir ilgisi olmayan bir
From:taşırken SPF'yi geçebilir. Reply-To:- Yanıtınızın adresleneceği yer, ki bu mesajın geldiği yer olmak zorunda değildir. Sıradan gönderenler bunu destek ekipleri ve yanıtlanmayan adresler için kullanır. Aynı zamanda işin en eski numarasıdır, çünkü dikkatli bir okuyucu göndereni kontrol eder, sorun olmadığına karar verir, ve sonra Yanıtla'ya basar.
Delivered-To:veX-Original-To:- Adreslerinizden hangisinin kullanıldığı. Bir catch-all alan adında ya da bir artı etiketiyle, gerçekte dağıttığınız adresi adlandıran alan budur — onu kimin elden çıkardığını belirleyen adres.
From: "Example Support <support@example.com>" <billing@example.net>
^-- the display name, which is free text and is all a phone shows
^-- the address, which is notGörünen ad rastgele bir metindir, bu yüzden başkasına ait eksiksiz bir adres içerebilir. Dünyadaki her posta istemcisi tırnak içindeki kısmı gösterir ve açılı parantez içindeki kısmı gizler, ki saldırının tamamı da budur: yazmanın hiçbir maliyeti yoktur ve bir okuyucunun bakacağı kesin olan tek alanda işe yarar.
Tek satırda SPF, DKIM ve DMARC
Bloktaki bir alan diğer her alandan farklıdır. Authentication-Results: mesajı kabul eden sunucu — yani sizinki — tarafından yazılır, ve aynı adla gelen başka her şey siz görmeden önce ayıklanır ya da yeniden adlandırılır. Bu, bir başlıkta bir sahtekârın yazamayacağı tek satırdır.
Authentication-Results: mx.example.org;
spf=pass (sender IP is 198.51.100.17) smtp.mailfrom=mail.example.com;
dkim=pass header.d=example.com header.s=s1 header.b=Qk3vR2mA;
dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=example.comO satırda üç kontrol yer alır, ve bunlar üç farklı soruyu yanıtlar. İki kez okumaya değen ise dördüncü sütundur.
| Kontrol | Bir geçişin anlamı | Bir başarısızlığın genellikle anlamı | İkisinin de kanıtlamadığı şey |
|---|---|---|---|
spf= | Mesajı elden ele veren makine, zarf göndereninin alan adının DNS'te yayınladığı listede yer alıyordur. | Ya bir sahtekâr, ya da sıradan bir yönlendirme: bir üçüncü taraf mesajı her aktardığında SPF bozulur, ki bu bir kusur değildir ve sürekli olur. | From: alanındaki adresle ilgili hiçbir şey. SPF ona hiçbir zaman bakmaz. |
dkim= | Mesaj üzerindeki kriptografik bir imza, imzalayan alan adının yayınladığı bir genel anahtarla eşleşiyordur. | Ya mesaj iletim sırasında değiştirilmiştir — bir e-posta listesinin sonuna bir dipnot eklemesi bile yeterlidir — ya da iddia ettiği alan adı tarafından imzalanmamıştır. | İmzalayan alan adının From: alanındaki alan adı olduğu. Herkes kendi postasını kusursuzca imzalayabilir. |
dmarc= | SPF ya da DKIM geçti ve geçtiği alan adı, From: alanındaki alan adıyla hizalanıyor. | From: alanındaki alan adı bu mesajı yetkilendirmedi — bir başlığın, gönderenin iddia ettiği kişi olmadığını söylemeye en yaklaştığı nokta. | Mesajın güvenli, dürüst ya da istenen bir mesaj olduğu. Bu sabah kaydedilen bir alan adı, öğle saatine kadar kusursuz bir DMARC yayınlayabilir. |
O son sütun tam olarak asıl mesele, ve başlık okumalarının çoğunun yanlış gittiği yer de burasıdır. dmarc=pass, From: alanında yazan alan adının mesajı yetkilendirdiğini kanıtlar. O alan adının sizden herhangi bir şeyi hak edip etmediği konusunda hiçbir şey söylemez — ve kayıtları kendiniz yayınlamak herkes için aşağı yukarı on dakika sürer.
Bir başlığın size söyleyemeyeceği beş şey
- Gönderenin nerede olduğu. Birinin mesajı yazdığı makinenin adresi genellikle blokta hiç bulunmaz. Büyük webmail sağlayıcıları bunu yıllar önce yayınlamayı bıraktı, ve geriye kalan şey kendi giden sunucularıdır; bu sunucu bir veri merkezinde bulunur ve size yalnızca bir barındırma şirketinin adını söyler.
- Gönderenin kim olduğu. Bir alan adı bir kişi değildir. Kırk dakika önce satın alınmış bir alan adı için
dmarc=passtamamen gerçek bir geçiştir. - İçindekilerden herhangi birinin doğru olup olmadığı. Kimlik doğrulama zarfla ilgilidir, içindeki iddiayla hiçbir zaman değil. Bir fatura doğru imzalanmış, doğru hizalanmış ve tamamen uydurma olabilir.
- Onu kimsenin okuyup okumadığı. Bir başlıkta bunu kaydeden hiçbir şey yoktur. Bunu denemeye çalışan şey, gövdedeki bir izleme pikselidir, ki bu farklı savunmaları olan farklı bir mekanizmadır.
- Ne zaman yazıldığı.
Date:alanı, gönderenin kendi makinesinden ve kendi saatinden gelir. Üç saat ileriye damgalanmış bir mesaj, ilginç bir şey olmaktan çok daha sık, yanlış yapılandırılmış bir bilgisayardır; güvenebileceğiniz zaman damgaları, sağlayıcınızın yazdığıReceivedsatırlarındadır.
Ve alanların bütün bir ailesi, yapısı gereği hiçbir şey kanıtlamaz. X- ile başlayan her şey, onu kim yazdıysa onun uydurduğu özel bir uzantıdır, ve bir gönderen canının istediğini yazabilir: bir mesajdaki X-Spam-Status: No, mesajın kendisinin spam olmadığını söylediği anlamına gelir.
Mesaj geçici bir adrese ulaştığında
Bu hizmetin neyi geri verip neyi vermediği konusunda net olun. Burada okunan bir mesaj, ham değil ayrıştırılmış olarak ulaşır: gönderen, konu, tarih, metin, HTML ve ek listesi — bir betiğin peşinde olduğu alanlar — ve başlık bloğu değil. Yukarıdaki okuma, gerçek postanızı tutan posta kutusunda yaptığınız bir şeydir.
{
"id": "m_7Kq2fV3xTn",
"from": "support@example.com",
"from_name": "Example Support",
"to": "signup-2026@grabmail.io",
"subject": "Confirm your email address",
"date": "2026-09-05T09:14:22+00:00",
"expires_at": "2026-09-10T09:14:22+00:00",
"text": "Confirm your address: <https://example.com/confirm/9a31b0>",
"text_derived": true,
"html": "<!doctype html><html>…",
"attachments": []
}Geçici bir adresin size bunun yerine verdiği şey, hiçbir başlık alanının eşleşemeyeceği bir sinyaldir, ve tek bir satırı okumadan önce işe yarar: o adresi tam olarak tek bir tarafa verdiniz. Ona ulaşan ve başka birinden geldiğini iddia eden bir mesaj, ya verdiğiniz taraf tarafından yönlendirilmiştir, ya da onu kime aktardılarsa onun tarafından gönderilmiştir. Üçüncü bir açıklama yoktur ve doğrulanacak hiçbir şey de yoktur.
Bu, bir artı etiketinin yaptığı savın aynısıdır, yalnızca etiketin tek bir satır kodla kesilebildiği kısım hariç — burada adresin kendisi farklıdır, bu yüzden ayıklanacak hiçbir şey yoktur. Bunun en güçlü hali olan sahip olduğunuz bir alan adındaki catch-all da tam olarak bu yüzden işe yarar: kayıt başına bir adres, alan adını elinizde tuttuğunuz sürece saklanır, ve kendi posta kutunuzdaki Delivered-To: dışarı sızanı adlandırır.
Hâlâ yapabileceğiniz kontrol
Bağlantının ne söylediğine değil, nereye gittiğine bakın. text alanı ya gönderenin kendi düz metin kısmıdır ya da HTML'nin bir görüntülemesidir — hangisi olduğunu text_derived söyler — ve bu görüntüleme her bağlantı hedefini açılı parantez içinde tutar. Yani bir düğmenin sizi götüreceği adres, sayfayı, görselleri ya da pikseli hiç yüklemeden, yanıtın içinde açıkça durur.
Confirm your address: <https://example.com/confirm/9a31b0>
Not you? Ignore this message. <https://example.com/help>Altmış saniyelik sürüm
- Kaynağı açın. Hangi istemcide olduğunuza bağlı olarak Show original, View message source ya da Raw source.
- Önce
Authentication-Resultsalanını bulun. Kendi sağlayıcınız tarafından yazılan tek satır, ve başka hiç kimsenin sahte olarak yazamayacağı tek satır.dmarc=passiseFrom:alanındaki alan adı mesajı gerçekten yetkilendirmiştir;dmarc=failise yetkilendirmemiştir. From:alanınıReturn-Path:veReply-To:ile karşılaştırın. Bütün gün sıradan nedenlerle uyuşmazlar. Bazen de ilginç olan nedenle uyuşmazlar.Receivedsatırlarını aşağıdan yukarıya okuyun, ve sağlayıcınıza ait olmayan ilk makinede onlara inanmayı bırakın.- Sonra bağlantıların nereyi işaret ettiğine bakın, ki size gerçekte ne olacağına karar veren kısım budur.
Yukarıdakilerin hepsi tek bir dar soruyu yanıtlar: From: alanındaki alan adı bu mesajı yetkilendirdi mi? Bu, “bu güvenli mi” sorusundan daha küçük bir sorudur, ve yine de yanıtlamaya değer — çünkü bir başlığın yanıtlayabileceği tek soru budur.
Sorular
Gmail'de tam başlığı nasıl görürüm?
Mesajı açın, sonra sağ üstündeki üç nokta menüsünü, sonra Orijinali göster'i seçin. Gmail, ham mesajı yeni bir sekmede açar ve üstünde, SPF, DKIM ve DMARC'ı önceden değerlendirmiş küçük bir panel bulunur — bu, herhangi bir yerde bulabileceğiniz en hızlı karardır, ve ücretsizdir.
Bir e-posta başlığı sahte olabilir mi?
Çoğu, evet. From:, Reply-To:, Date:, konu ve istenildiği kadar uydurma Received: satırının hepsi gönderen tarafından yazılır. Sahte olamayacak şey, mesaj ulaştığında kendi sağlayıcınızın yazdığıdır: en üstteki Received satırı ve Authentication-Results. Bu ikisini okuyun ve gerisini tanıklık olarak değerlendirin.
Bir başlıkta gönderenin IP adresini bulabilir miyim?
Genellikle kastettiğiniz adresi değil. Herhangi bir büyük webmail hizmeti üzerinden gönderilen posta, mesajın yazıldığı makinenin değil, o hizmetin giden sunucusunun adresini taşır; sağlayıcılar ikincisini yıllar önce, apaçık nedenlerle yayınlamayı bıraktı. Bir uygulama ya da küçük bir sunucu tarafından gönderilen posta ise bunu genellikle hâlâ, parantez içinde, en alttaki Received satırında gösterir — ve bu satır aynı zamanda bloktaki sahtesi en kolay yapılabilecek satırdır.
<code>From:</code> ile <code>Return-Path:</code> arasındaki fark nedir?
From:, gönderenin görüntülenmesini istediği şeydir ve hiçbir şey onu denetlemez. Return-Path:, sunucuların gerçekte kullandığı zarf gönderenidir; mesajı kabul eden makine tarafından başlığa yazılır, ve geri dönüşlerin gittiği yerdir. SPF, From:'a karşı hiçbir zaman değil, Return-Path:'e karşı denetlenir, bu yüzden tek başına spf=pass göründüğünden daha azını söyler. İkisini hizalamak tamamen DMARC'ın işidir.
Başlıkta <code>dmarc=fail</code> yazıyor. Mesaj sahte mi?
Zorunlu olarak değil. Yönlendirme tasarım gereği SPF'yi bozar, ve sonuna dipnot ekleyen bir e-posta listesi DKIM'i de bozar, bu yüzden bir liste, bir üniversite ya da bir “hepsini diğer adresime gönder” kuralı üzerinden aktarılan posta, tamamen gerçek olduğu hâlde rutin olarak başarısız olur. Başarısızlığın gerçek anlamı, mesajda hiçbir şeyin From: alanındaki alan adının onun arkasında durduğunu kanıtlamadığıdır, bu yüzden mesajın sizden yapmanızı istediği her şey, kontrol etmek için ikinci bir yolu hak eder.
<code>Message-ID</code> ne işe yarar?
Mesajın adıdır — benzersizdir, gönderen sunucu tarafından atanır, ve bir konuşma dizisi oluşturmak için In-Reply-To ile References'ın işaret ettiği dizedir. Pratikteki yararı, destek ekiplerinin ve postmasterların onu kendi günlüklerinde arayabilmesidir: Message-ID'yi belirtmek, “dün bir e-posta ulaşmadı” demek ile birinin gerçekten yanıtlayabileceği bir soru sormak arasındaki farktır.
Buradaki geçici bir adrese gönderilen postanın başlıklarını okuyabilir miyim?
Hayır — burada okunan bir mesaj, gönderen, konu, tarih, metin, HTML ve ek listesi olarak ayrıştırılmış döner, ve ham başlık bloğu bu alanlar arasında yer almaz. Bunun karşılığı, geçici bir adresin kendi kanıtı olmasıdır: yalnızca tek bir tarafa verilmiştir, bu yüzden başka herhangi birinden gelen posta, doğrulanacak bir imza olmadan, onu dışarı sızdıran tarafı adlandırır. Mesajlar her hâlükârda 5 gün sonra silinir.

