Tek bir ileti alalım. Uydurma bir mağaza olan Bright Parcel'a az önce bir ziyaretçi quietfox42@veylax.com adresiyle kaydoldu ve sistemi bir onay e-postası için Gönder'e basmanın karşılığını yapıyor. Biraz sonra o ileti ziyaretçinin ekranında, bir gün sonra ise gelen kutusu hizmetinin hiçbir yerinde yok. Bu yazı onu baştan sona izliyor.
Peki geçici posta nasıl çalışır? İnternet postasının olağan mekanizmasını kullanır, tek bir farkla: alıcı taraf, alan adlarındaki her kullanıcı adı için postayı kabul eder ve yalnızca kısa süre saklar. Göndericinin sunucusu alan adının MX kaydını DNS'te arar, listelenen ana bilgisayara 25 numaralı bağlantı noktasından SMTP ile bağlanır ve iletiyi teslim eder. Geçici posta sistemi sonra iletiyi ayrıştırır, bir gelen kutusunda gösterir ve zamanlanmış biçimde siler. VookMail'de alan adlarının MX kayıtları bir posta teslim sağlayıcısına yönlenir; sağlayıcı SMTP oturumunu alır ve her iletiyi HTTPS üzerinden VookMail'e iletir.
1. Aşama: Göndericiden çıkış
Bright Parcel'ın uygulaması iletiyi oluşturur. İleti, İnternet İleti Biçimi'ne (RFC 5322) göre düzenlenmiş yapılandırılmış metindir: From, To ve Subject gibi başlıklar, ardından boş bir satır, ardından gövde. Uygulama bunu genellikle doğrudan teslim etmez. Giden posta hizmetine verir; bunu ya 587 numaralı bağlantı noktasında (ya da baştan TLS'li 465'te) kimlik doğrulamalı bir SMTP bağlantısıyla ya da gönderen şirketin web API'si üzerinden yapar.
İlk gecikme tam burada yaşanabilir. Pek çok uygulama giden postayı bir iş kuyruğuna koyar ve özellikle pazarlama platformları, onları gruplar hâlinde işler. Yani bir web sitesinin "e-postanızı kontrol edin" dediği an, postanın gerçekten çıktığı andan epey önce olabilir. Örneğimizde kuyruğun yirmi saniye sürdüğünü varsayalım. Henüz alıcı tarafa hiçbir şey ulaşmadı ve hiçbir geçici posta hizmeti bunu göremez ya da hızlandıramaz.
2. Aşama: veylax.com'un postasını nereye aldığını bulmak
Giden sunucu @ işaretinden sonraki kısmı, bu örnekte veylax.com'u okur ve DNS'ten o alan adının MX kayıtlarını ister. MX (mail exchanger) kaydı, alan adı için posta kabul eden bir sunucunun adını verir. Bir alan adının kayıtları, bölge dosyası gösteriminde şöyle görünebilir. Adlar örnek olması için uydurulmuştur:
example-temp.com. 3600 IN MX 10 mx1.mail-provider.example.
example-temp.com. 3600 IN MX 20 mx2.mail-provider.example.
3600, TTL'dir (time to live); bir çözümleyicinin bu yanıtı kaç saniye önbellekte tutabileceğini gösterir. 10 ve 20 tercihlerdir: göndericiler önce en düşük sayıyı dener, ulaşamazsa daha yükseğe geçer. Ana bilgisayar adının kendi A (IPv4) ya da AAAA (IPv6) kaydı olmalıdır. Bir MX kaydı bir ana bilgisayar adına işaret etmelidir; doğrudan bir IP adresine ya da bir CNAME takma adına değil.
Bu sorguyu herhangi bir alan adı için kendiniz de çalıştırabilirsiniz:
| Sistem | Komut |
|---|---|
| Windows Komut İstemi | nslookup -type=mx example.com |
| Windows PowerShell | Resolve-DnsName example.com -Type MX |
| macOS ve Linux | dig MX example.com +short |
Kötüye kullanımla mücadele sistemleri, postayı bilinen tek kullanımlık altyapıya yönlendiren alan adlarını fark etmek için aynı sorguyu kullanır. Bazı web sitelerinin, alan adı yeni olsa bile geçici posta alan adlarını tanımasının bir nedeni budur.
DNS'te iki uç durum
MX kaydı olmayan bir alan adı kendiliğinden ulaşılamaz değildir. SMTP standardı olan RFC 5321 bir yedek tanımlar: gönderici, alan adının kendi A ya da AAAA kaydını örtük bir posta ana bilgisayarı sayabilir. Hiç posta istemeyen bir alan adı bunu boş MX (RFC 7505) ile söyleyebilir; bu, tercihi 0 ve ana bilgisayarı tek bir nokta olan bir MX kaydıdır. Geçici posta alan adları elbette normal MX kayıtları yayımlar, çünkü tüm amaçları almaktır.
Bir hizmet yeni alan adı eklediğinde önbellekleme de işi zorlaştırabilir. Yakın zamanda "böyle bir kayıt yok" yanıtı alan çözümleyiciler, alan adının SOA kaydıyla (RFC 2308) belirlenen olumsuz önbellek süresi bitene kadar bunu tutabilir. Bu yüzden yepyeni bir alan adının her göndericiden güvenilir biçimde posta almaya başlaması biraz sürebilir.
3. Aşama: İki sunucu arasındaki konuşma
Bright Parcel'ın giden sunucusu şimdi tercih edilen MX ana bilgisayarına 25 numaralı bağlantı noktasından bir TCP bağlantısı açar. SMTP bir metin protokolüdür: istemci komut gönderir, sunucu numaralı yanıtlarla cevap verir. İşte iletimiz için basitleştirilmiş bir oturum; S: alıcı, C: gönderen. Ana bilgisayarlar ve boyut değeri bu uydurma örneğe aittir.
S: 220 mx1.mail-provider.example ESMTP ready
C: EHLO out.brightparcel.example
S: 250-mx1.mail-provider.example
S: 250-STARTTLS
S: 250 SIZE 26214400
C: STARTTLS
S: 220 Ready to start TLS
(TLS el sıkışması, sonra yeniden EHLO)
C: MAIL FROM:<bounce@brightparcel.example>
S: 250 OK
C: RCPT TO:<quietfox42@veylax.com>
S: 250 OK
C: DATA
S: 354 End data with <CR><LF>.<CR><LF>
C: (başlıklar, boş satır, gövde, ardından tek noktadan oluşan bir satır)
S: 250 Queued as 8F2A1C
C: QUIT
S: 221 Bye
| Komut | Amaç | Geçici posta için anlamı |
|---|---|---|
EHLO | Göndericiyi tanıtır ve sunucunun neleri desteklediğini sorar | Yanıt, STARTTLS gibi uzantıları ve en büyük SIZE değerini listeler |
STARTTLS | Bağlantıyı TLS'e yükseltir (RFC 3207) | Yalnızca bu tek atlamayı korur. Uçtan uca şifreleme değildir |
MAIL FROM | Zarf göndericisini, yani geri dönen iletilerin gideceği yeri belirler | Özellikle toplu gönderenlerde, görünen From satırından çoğu zaman farklıdır |
RCPT TO | Bir alıcı belirtir | Hepsini yakalayan bir alıcı, alan adlarındaki her kullanıcı adı için 250 yanıtlar |
DATA | İleti içeriğini başlatır | Kendi satırında tek bir noktayla biter |
QUIT | Oturumu kapatır | Teslimat, DATA sonrasındaki 250 ile zaten kesinleşmişti |
Sorumluluğun el değiştirdiği an
O son 250, oturumdaki en önemli satırdır. O ana kadar ileti Bright Parcel'ın sunucusuna aittir ve bağlantı kopsa yeniden dener. Ondan sonra alıcı sorumluluğu üstlenmiştir. Göndericinin paneli artık genellikle "teslim edildi" der; bu yalnızca bu atlamanın başarılı olduğu anlamına gelir. Bir insanın bir şey gördüğü anlamına gelmez.
Yanıt kodları, insanların gördüğü davranışların epey kısmını açıklar:
- 2xx başarıdır ve
250kabul edildi demektir. - 3xx ara bir adımdır ve
354göndericiye iletiyi iletmesini söyler. - 4xx geçici bir hatadır, örneğin
421ya da451. Gönderici iletiyi kuyruğunda tutar ve yeniden dener. - 5xx kalıcı bir hatadır, örneğin
550(posta kutusu yok ya da reddedildi) veya552(çok büyük). Gönderici vazgeçer ve genellikle bir geri dönüş iletisi üretir.
4xx ile 5xx arasındaki fark, "yavaş" posta olaylarının çoğunu açıklar. Alıcı bu noktada, belki gri listeleme (RFC 6647) yüzünden 451 yanıtlamış olsaydı, iletimiz ne kaybolmuş ne de teslim edilmiş olarak Bright Parcel'ın kuyruğunda bekliyor olurdu. RFC 5321 genellikle en az 30 dakikalık bir yeniden deneme aralığı ve en az dört beş günlük bir vazgeçme süresi önerir; ama gerçek sistemler kendi takvimlerini belirler ve çoğu daha erken dener. Bir onayın birkaç saniye sonra, bir sonrakinin yirmi dakika sonra görünebilmesinin ve her iki durumda da bir terslik olmamasının nedeni budur.
İki ayrı adres kümesi
SMTP'nin iki adresleme katmanı vardır. Zarf, yani MAIL FROM ve RCPT TO, sunucuların yönlendirme için kullandığı şeydir. Başlıklar, yani From:, To: ve Subject:, ileti içeriğinin parçasıdır ve ekranda gördüğünüz şeydir. Birbirinden farklı olabilirler. Bir bülten, zarftaki alıcı sizin geçici adresiniz olduğu hâlde To: subscribers gösterebilir. Bu yüzden alan sistem iletileri güvenilir değer olan zarf alıcısına göre dosyalar. Son teslimde eklenen Return-Path başlığının da görünen From adresini değil zarf göndericisini kaydetmesinin nedeni budur.
4. Aşama: quietfox42'nin neden var olması gerekmediği
RCPT TO noktasında normal bir posta sunucusu posta kutusunun var olup olmadığına bakar ve yoksa 550 yanıtlar. Geçici posta alan adı bunun tersi çalışır. Hepsini yakalayan (catch-all) ya da joker karakterli bir alıcı olarak işler: her yerel kısım (@ işaretinden önceki bölüm) kabul edilir.
Anında adresleri mümkün kılan tek seçim budur. VookMail size rastgele bir adres gösterdiğinde, hiçbir posta sunucusunda bir şey oluşturulması gerekmemişti. Yeni'ye basıp kendi kullanıcı adınızı yazdığınızda, bir alan adı seçip oka bastığınızda, o ad zaten "vardır"; çünkü alan adı tüm adları kabul eder. Uygulamanın yapması gereken tek şey, ekranınızdaki adresle alıcısı eşleşen iletileri göstermektir.
Bu adlar için iki küçük kural geçerlidir. Standart, yerel kısmın büyük/küçük harfe duyarlı olabileceğini söyler; ama gerçek sistemlerin neredeyse hepsi Test@ ile test@'i tek posta kutusu sayar, bu yüzden geçici posta sistemi bir göndericinin büyük harf kullanımı bir gelen kutusunu ikiye bölmesin diye harf boyutunu makul biçimde normalleştirir. Ayrıca RFC 5321 yerel kısmı 64 sekizliyle sınırlar ve bir adresin tamamı için pratik sınır 254 karakterdir; bu yüzden üretilen adlar bunun çok içinde kalmalıdır.
5. Aşama: Posta protokolünden web isteğine
İletimiz artık SMTP konuşan bir makine tarafından kabul edildi. Gelen kutusunu gösteren web sitesi ise bir web uygulamasıdır. İkisini bağlayacak bir şey gerekir.
Tüm internete açık bir posta sunucusu işletmek gerçek bir iştir: TLS, bağlantı seli, kuyruklar, kötü amaçlı yazılım ve iyi bir itibarı sürdürmek. Bu yüzden pek çok modern uygulama SMTP tarafını uzmanlaşmış bir gelen posta sağlayıcısına bırakır ve iletileri web istekleri olarak alır; buna sıkça gelen ayrıştırma webhook'u (inbound parse webhook) denir. VookMail bu modeli kullanır. Şöyle işler:
- Sağlayıcının MX ana bilgisayarları, yukarıdaki oturumdaki gibi iletiyi göndericinin sunucusundan kabul eder.
- Sağlayıcı bunu ya ham MIME kaynağı olarak ya da gönderen, alıcılar, konu, metin, HTML ve ekler gibi önceden ayrıştırılmış alanlar olarak paketler.
- Bu paketi, geçici posta uygulamasının işlettiği bir uç noktaya HTTPS POST ile gönderir; bu, içeriği iki nokta arasında şifreler.
- Uygulama bir başarı durumuyla yanıt verir. Ulaşılamazsa ya da hata dönerse, düzgün çalışan bir sağlayıcı kendi politikasına göre yeniden dener.
- Uygulama isteği doğrular, alıcıyı bir adresle eşleştirir ve iletiyi geçici olarak saklar.
| Konu | Kendi barındırdığınız SMTP alıcısı | Gelen posta sağlayıcısı artı HTTPS |
|---|---|---|
| Maruz kalma | 25 numaralı bağlantı noktası internetteki her ana bilgisayara açık | Sağlayıcı SMTP trafiğini alır, uygulama yalnızca HTTPS isteklerini görür |
| Trafik artışları | İşletmeci kapasiteyi sağlamalı | Sağlayıcının altyapısı ani yükleri karşılar |
| MIME ayrıştırma | İşletmeci bir ayrıştırıcı yazar ya da bakımını yapar | Çoğunlukla sağlayıcı yapar, yine de ham kaynak kullanılabilir |
| Web uygulamasına uyum | Posta kuyruğundan uygulamaya bir köprü gerekir | İleti, herhangi bir API isteği gibi gelir |
| Bağımlılık | Daha az dış taraf | Sağlayıcının erişilebilirliğine ve yapılandırmasına bağlıdır |
Son satır gerçek bir bedeldir. Bir gelen posta sağlayıcısında kesinti ya da yapılandırma sorunu olursa, geçici posta sitesinin kendisi normal çalışırken bile, arkasındaki tüm alan adlarına teslimat düzelene kadar durabilir. Bu sırada geçici bir hatayla reddedilen iletiler, asıl göndericilerin kuyruklarının onları ne kadar tuttuğuna bağlı olarak, yeniden deneme sırasında yine de ulaşabilir.
Uç noktayı korumak
Bir webhook uç noktası herkese açık bir URL'dir; bu yüzden herkes ona sahte bir ileti göndermeyi deneyebilir. Özenli uygulamalar yaygın olarak birkaç savunmayı bir arada kullanır:
- İmza doğrulama: sağlayıcı her isteği imzalar, uygulama eşleşmeyenleri reddeder.
- Yalnızca sağlayıcının ve uygulamanın bildiği gizli bir yol ya da belirteç.
- Varsa, isteklerin sağlayıcının yayımladığı adres aralıklarıyla sınırlanması.
- Boyut sınırları: bellek ve depolamayı korumak için aşırı büyük yükleri erkenden reddeder.
- Idempotency (tekrarlı istekte aynı sonuç). Sağlayıcılar yeniden denediği için aynı ileti iki kez gelebilir ve bir Message-ID ya da sağlayıcı olay kimliği kopyaları önler.
6. Aşama: İletiyi parçalarına ayırmak
Gelen şey henüz bir insanın rahatça okuyabileceği bir şey değil. MIME (Multipurpose Internet Mail Extensions, RFC 2045 ve sonrası), tek bir iletinin farklı biçimlerde birkaç parça taşımasına izin verir. Onay e-postamız, örnek olarak bir fatura eklenmiş şekilde, şöyle düzenlenmiş olabilir:
| Parça | Ne taşır |
|---|---|
multipart/mixed | Ekler varsa dış kapsayıcı |
multipart/alternative | Aynı içeriğin iki kez, text/plain ve text/html olarak yer alması. Okuyucu desteklediği en zengin biçimi gösterir |
multipart/related | cid: tanımlayıcılarıyla anılan satır içi görsellerle gruplanmış HTML |
| Ek parçası | Bir Content-Disposition: attachment başlığı ve dosya adı, ardından dosyanın kodlanmış verisi |
Bunların üstünde Message-ID, Date ve iletinin geçtiği her sunucuyu kaydeden Received iz satırları gibi başlıklar yer alır. Bir gecikmenin nerede yaşandığını bilmek isterseniz, bakılacak yer Received satırlarındaki zaman damgalarıdır.
Bir ayrıştırıcı ayrıca birkaç kodlamayı geri çevirmek zorundadır. Base64 ikili ekleri taşır ve onları yaklaşık üçte bir oranında şişirir; yani 10 MB'lık bir dosya kabaca 13 ila 14 MB'lık bir ileti olur. Quoted-printable, çoğunlukla ASCII olan metni özel karakterleri =XX olarak yazarak ele alır. charset= değeri metnin nasıl kodlandığını söyler, çoğunlukla UTF-8; bu, birçok dilde kullanılan bir hizmet için çok önemlidir. ASCII dışı karakterler içeren konu satırları da RFC 2047'deki =?UTF-8?B?...?= ya da =?UTF-8?Q?...?= sözdizimini kullanır.
HTML'i göstermek için güvenli hâle getirmek
E-posta HTML'ini yabancılar yazar; bu yüzden bir görüntüleyici onun web sitesi bağlamında kod çalıştırmasına izin vermemelidir. Özenli uygulamalar genellikle betikleri, olay işleyici niteliklerini ve tehlikeli URL şemalarını kaldırır ve iletiyi, stillerinin ve içeriğinin çevresindeki sayfayı etkileyememesi için yalıtılmış bir çerçevede gösterir.
Uzak görseller de düşünmeyi gerektirir. Birini yüklemek, göndericisine iletinin açıldığını bildirir; izleme pikselleri böyle çalışır. VookMail gizli izleme piksellerini kaldırır ve siz izin verene kadar görselleri kapalı tutar.
Bir görüntüleyici ayrıştırılmış metinle yararlı bir şey de yapabilir. Onay iletimiz için VookMail doğrulama kodunu ya da onay bağlantısını iletinin üstünde gösterir; böylece kimsenin uzun bir şablonda kaydırarak onu araması gerekmez.
Ekler
Ekler çözülür ve indirilebilmeleri için geçici olarak saklanır. VookMail'de .exe, .bat ve .apk gibi yaygın program dosyaları reddedilir, .zip gibi arşivlerde bir uyarı gösterilir ve en büyük boyutlar geçerlidir. Ekler iletilerle birlikte silinir. Bir dosyanın güvenliğinin nerede saklandığıyla ilgisi olmadığını unutmayın: makro etkin bir belge, geçici bir gelen kutusundan indirildiğinde de aynı derecede tehlikelidir.
7. Aşama: Ekrana ulaşmak
İletimiz şimdi saklandı, ama quietfox42@veylax.com adresini gösteren tarayıcı bunu henüz bilmiyor. Web uygulamalarının öğrenmek için birkaç yolu var:
| Teknik | Nasıl çalışır | Artıları ve eksileri |
|---|---|---|
| Kısa aralıklı sorgulama (short polling) | Sayfa sunucuya birkaç saniyede bir sorar | Basit ve güvenilir, ama tekrarlı istek yapar |
| Uzun sorgulama (long polling) | Bir istek, haber gelene ya da zaman aşımına kadar açık kalır | Daha az boş yanıt, daha çok açık bağlantı |
| Server-Sent Events | Sunucudan tarayıcıya uzun ömürlü tek bir akış | Tek yönde verimli, kendiliğinden yeniden bağlanır |
| WebSockets | Kalıcı iki yönlü bir bağlantı | Tam etkileşimli, ayrı altyapı gerektirir |
VookMail'in gelen kutusu birkaç saniyede bir posta olup olmadığına bakar; Yenile düğmesi ise cihazınız uykudan çıktıktan ya da ağınız koptuktan sonra olduğu gibi elle kontrol eder. O birkaç saniye genellikle yolculuğun en kısa bölümüdür. Posta yavaş görünüyorsa, zaman neredeyse her zaman daha erken bir yerde, göndericinin kuyruğunda ya da bir yeniden denemede harcanmıştır.
Bir adres oluşturmak da küçük bir bot koruması aşamasından geçer: ziyaretçinin tarayıcısında yapılan ve iş kanıtı (proof of work) olarak bilinen kısa bir hesaplama. Normal bir ziyaretçiye neredeyse hiçbir şeye mal olmaz ve toplu adres oluşturmayı daha pahalı kılar.
Adres başka bir yerde de açılabilir. Adresin kendisi gelen kutusunu tanımladığı için, onu başka bir cihaza taşımak yalnızca adresin iletilmesini gerektirir. VookMail'in QR düğmesi bunu bir telefonun tarayabileceği bir kod olarak gösterir, böylece aynı gelen kutusu orada açılabilir ve Android ile Huawei uygulamaları postayı aynı şekilde gösterir. Bu kullanışlıdır ve aynı zamanda bu gelen kutularının neden düşük gizlilikli olduğunu da gösterir: bir adresi bilen ya da tahmin eden herkes o gelen kutusunu açabilir. Rastgele adres daha güvenli seçimdir, çünkü kısa bir addan çok daha zor tahmin edilir.
8. Aşama: Silinme
Onayımızın gelmesinden yaklaşık bir gün sonra gider. Geçici posta sisteminde saklama süresi genellikle saklanan her iletideki bir zaman damgası ve sınırdan eski her şeyi kaldıran zamanlanmış bir işle uygulanır. Ayrı dosyalar olarak tutulan ekler aynı anda gider. Başka tasarımlar, veri tabanının kendisinin bir yaşam süresi (time-to-live) ayarıyla eski kayıtları kaldırdığı depolama düzeyinde sona erdirme kullanır. Toplu işler, hizmetlerin sona ermeyi "yaklaşık" bir gün olarak anlatma eğiliminin bir nedenidir; çünkü tam an, işin ne zaman çalıştığına bağlıdır. VookMail'de iletiler, ekler ve adresler yaklaşık 24 saat içinde silinir ve Sil düğmesi bir şeyleri daha erken kaldırmanızı sağlar.
Kısa saklama iki amaca birden hizmet eder. Gizliliği korur ve aynı zamanda bir kapasite zorunluluğudur: tek kullanımlık gelen kutuları çok miktarda pazarlama postası alır ve onu uzun süre tutmak kimseye yarar sağlamaz. Gizlilik politikamız ve yöntem sayfamız veri işlemeyi daha ayrıntılı ele alıyor.
Silmenin neye dokunmadığına dikkat edin. Bright Parcel adresi hâlâ müşteri tablosunda tutuyor ve günlükleri hâlâ "teslim edildi" diyor. Giden tek şey gelen kutusu tarafındaki kopya.
Tüm yol tek bir tabloda
| Aşama | Bileşen | Protokol veya mekanizma | Tipik bağlantı noktası veya biçim |
|---|---|---|---|
| Oluşturma | Uygulama ya da posta istemcisi | RFC 5322 iletisi, MIME | Başlıklar ve parçalar içeren metin |
| Gönderime sunma | Göndericinin posta hizmeti | SMTP gönderimi ya da gönderme API'si | 587 veya 465 |
| Yönlendirme sorgusu | DNS çözümleyici | MX, ardından A veya AAAA sorguları | DNS, 53 numaralı bağlantı noktası |
| Aktarım | Göndericinin sunucusundan alıcının MX'ine | Fırsatçı STARTTLS ile SMTP | 25 |
| Gelen posta kabulü | Posta teslim sağlayıcısı | Alan adları için hepsini yakalayan kabul | 250, 4xx, 5xx yanıtları |
| İletme | Sağlayıcıdan VookMail'e | HTTPS isteği | 443 |
| İşleme | Geçici posta uygulaması | MIME ayrıştırma, temizleme, depolama | Veri tabanı ve dosya depolama |
| Gösterim | Tarayıcı ya da mobil uygulama | Birkaç saniyede bir kontrol, artı elle Yenile | HTTPS |
| Sona erme | Zamanlanmış temizlik | Saklama kuralı | VookMail'de yaklaşık bir gün |
SPF, DKIM ve DMARC nerede devreye giriyor?
Bu üçü e-postayla ilgili hemen her tartışmada anılır; bu yüzden bu yolda nerede durduklarını net söylemekte fayda var. Hepsi bir iletiyi kimin gönderdiğini kanıtlamakla ilgilidir. Hiçbiri, geçici bir adresin onu alıp alamayacağına karar vermez.
SPF (RFC 7208), zarf göndericisindeki bir alan adını kullanarak göndermesine izin verilen sunucuları listeleyen bir DNS TXT kaydıdır; alıcılar bağlanan IP'yi buna karşı karşılaştırır. DKIM (RFC 6376), gönderen alan adının seçili başlıklara ve gövdeye eklediği, DNS'teki bir açık anahtarla doğrulanan şifrelemeli bir imzadır. DMARC (RFC 7489), bir ileti görünen From alan adıyla SPF ve DKIM hizalamasında başarısız olduğunda alıcılara ne yapacaklarını ve raporların nereye gönderileceğini söyleyen bir politikadır.
İletimiz için bu denetimler yaklaşık 3. Aşamada gerçekleşir. Bright Parcel'ın sunucusu SPF kaydına karşı kontrol edildi ve DKIM imzası yayımladığı anahtarla doğrulanabilir. Alan sağlayıcı bu sonuçları sahteciliği işaretlemek için kullanabilir. İletme işleri biraz karmaşıklaştırır: ileti değiştirilmediği sürece DKIM imzası sağ kalır, SPF sonucu ise yalnızca son bağlanan sunucuyla ilgilidir. Posta aktarıldığında ARC (Authenticated Received Chain, RFC 8617) önceki sonuçları kaydedebilir. Yine de iletinin teslim edilmesini sağlayan şey MX kaydı ve alıcının kabulüdür.
Bir ileti hiç gelmediğinde
Yukarıdaki her aşama, bir iletinin durabileceği bir yerdir. Göndericinin ucundan başlamak genellikle sorunu en hızlı bulur.
| Aşama | Ne ters gitti | Ne görürsünüz ya da ne yaparsınız |
|---|---|---|
| Göndermeden önce | Adreste yazım hatası | Posta başka yere gitti ya da geri döndü. Kopyala düğmesini kullanın |
| Göndericiden çıkış | İleti kuyrukta ya da gruplar yavaş | Bazı hizmetlerde bir iki dakika normaldir. Bekleyin |
| Göndericiden çıkış | Site tek kullanımlık alan adlarını sessizce atlıyor | Hiçbir şey gelmez. Buna saygı gösterin ve orada kalıcı bir adres ya da takma ad kullanın |
| SMTP | 4xx yanıtı ve sonradan yeniden deneme | İleti, dakikalar ya da daha uzun sürebilen bir gecikmeyle gelir |
| SMTP | İleti boyut sınırını aşıyor | 552 reddi ve göndericiye geri dönüş |
| Gelen posta sağlayıcısı | Kesinti ya da DNS sorunu | Çözülene kadar tüm alan adlarına teslimat duraklayabilir |
| Gelen kutusu | Süre geçti ya da adres silindi | İleti görülemeyecek kadar geç gelir |
Gönderen tarafın sahibiyken bir hatayı okumak
Kendi uygulamanızı test ediyorsanız, bir kullanıcının görebileceğinden çok daha fazlasını görebilirsiniz ve geliştiriciler için geçici e-posta rehberimiz test tasarımına daha ayrıntılı giriyor. Mantıklı bir kontrol sırası:
- Uygulamanızın posta günlüklerini ya da gönderim sağlayıcınızın panelini açın. İleti kabul edildi mi, hangi son durumu gösteriyor?
- Alıcı tarafından 5xx bildiren geri dönüşlere ya da webhook olaylarına bakın. Kodun ardından gelen metin çoğu zaman nedeni söyler.
- Alıcı alan adının MX kayıtlarını yukarıdaki komutlarla sunucunuzun ağından çözümleyin. Orada bir çözümleyici sorunu başka hiçbir yerde görünmeyebilir.
- Gönderen alan adınızda SPF, DKIM ve DMARC'ın yapılandırıldığını doğrulayın; çünkü bazı alıcılar kimliği doğrulanmamış postaya şüpheyle yaklaşır.
- Boyut ya da içerik filtrelemesini elemek için küçük bir düz metin iletisi gönderin.
- Hangi çalıştırmanın hangi iletiyi ürettiğini bilmek için her testte ayrı bir kullanıcı adı kullanın.
Bir ileti gelen kutusuna geç ulaşırsa, Received başlıklarını aşağıdan yukarıya doğru okuyun. İki zaman damgası arasındaki uzun bir boşluk, iletiyi hangi atlamanın tuttuğunu gösterir; bu sunucuların saatleri arasındaki farkı da hesaba katın.
Neden birçok alan adı işletilir?
VookMail 30'dan fazla alan adı arasından seçim yapmanıza olanak tanır. Bunun pratik nedenleri var. Test uzmanları projeleri ya da test takımlarını alan adına göre ayırabilir. Bir alan adında DNS ya da teslimat sorunu olursa, diğerleri yine de çalışabilir. Gönderim sistemleri yalnızca göndericileri değil alıcı alan adlarını da değerlendirdiğinde yardımcı olan şekilde, tek bir ada bağımlılık da azalır.
Birden fazla alan adı, tek kullanımlık adresleri bilerek reddeden web sitelerini aşmak için bir araç değildir. Bir hizmet bir geçici posta alan adını reddediyorsa, kalıcı bir iletişim noktası istediğini belirtiyordur ve doğru seçim, o hizmet için gerçek adresiniz ya da kalıcı bir takma addır. Ret, formda, bir alan adı listesi ya da 2. Aşamadakine benzer bir MX sorgusu yoluyla ya da daha sonra, gönderici göndermeyi reddettiğinde gelebilir.
Bu yol güvenlik hakkında ne söylüyor?
İletiyi izledikten sonra, her korumanın tam olarak ne kadar uzağa ulaştığını görebilirsiniz.
Şifreleme atlama atlama uygulanır. STARTTLS, iki taraf da destekliyorsa her sunucudan sunucuya bacağı korur ve çoğu zaman fırsatçıdır; yani MTA-STS (RFC 8461) gibi bir politika aksini gerektirmedikçe bağlantı düz metne düşebilir. HTTPS iletme ve görüntüleme bacaklarını korur. Bunların hiçbiri uçtan uca şifreleme değildir: iletiyi işleyen her sistem onu okuyabilir.
Erişim öteki yarıdır. Parola olmadığında girişi sağlayan şey adresi bilmektir; bu yüzden oraya gizli hiçbir şeyin gönderilmesine izin vermeyin. Kısa saklama, herhangi bir maruz kalmanın zararını sınırlar, ama gelen kutusunun bir kayıt olarak kullanılamayacağı anlamına da gelir. İçerik güvenilmez olduğundan, kimlik avı ve kötü amaçlı yazılım bu gelen kutusuna da her gelen kutusu gibi ulaşabilir. Geçici gelen kutusu gerçek adresinizi korur; kötü bir dosyayı açarsanız cihazınız için pek bir şey yapmaz. Uygun kullanımlar, şartlar ve koşullarımızın belirttiği gibi gizlilik, spam denetimi ve testtir; önemli hesaplar ise başka yere aittir.
VookMail'de bu nasıl görünüyor?
Yukarıdaki mekanizmanın hepsi siz gelmeden önce yerindedir. VookMail'i açtığınızda bir adres hazırdır. Kullanıcı adı yazıp alan adı seçmek için Yeni'ye basabilir ya da VookMail'i kullanma rehberimizde anlatılan sarı Rastgele düğmesini kullanabilirsiniz. Kaydolacak bir şey yok, çünkü alan adı her adı zaten kabul ediyor. Bir gönderici posta teslim ettiğinde, MX kayıtlarının arkasındaki sağlayıcı onu SMTP ile alır, HTTPS ile iletir ve sayfa bir sonraki kontrolünde, varsa ekleriyle birlikte gelen kutunuzda görünür. Yaklaşık bir gün sonra gitmiştir.
Hizmet ayrıca Google Play ve Huawei AppGallery üzerinde uygulama olarak da bulunuyor.
Birkaç teknik soru daha
Gelen e-posta hangi bağlantı noktasını kullanır?
Posta sunucuları arasındaki teslimat, TCP 25 numaralı bağlantı noktasında SMTP kullanır. 587 ve 465 numaralı bağlantı noktaları giden postayı kendi sağlayıcınıza iletmek içindir; bu yüzden 3. Aşamada değil 1. Aşamada karşınıza çıkarlar. Ev bağlantısı 25 numaralı bağlantı noktasını engellese bile genellikle sağlayıcısı üzerinden gönderebilmesinin nedeni de budur.
Bir geçici posta hizmeti iletilerimi görebilir mi?
Teknik olarak evet. İleti hizmete okunabilir biçimde ulaşır, çünkü size gösterebilmesinin yolu budur; yolda onu işleyen teslim sağlayıcısı için de aynısı geçerlidir. İçerik uçtan uca şifrelenmedikçe bu, sıradan barındırılan e-posta için de doğrudur. Hassas her şeyi geçici bir gelen kutusundan uzak tutmak için bir neden daha.
Ben hiçbir şey görmezken gönderici neden iletinin teslim edildiğini düşünebilir?
Çünkü bir göndericinin panelindeki "teslim edildi", alıcı sunucudan gelen 250 yanıtına işaret eder. O noktadan sonraki olaylar, örneğin iletme adımı ya da gelen kutusu temizlendikten sonra geç gelme, göndericiye görünmez.
Bir gönderici adresimin hepsini yakalayan (catch-all) olduğunu anlayabilir mi?
Çoğu zaman. Bir doğrulama aracı alan adında uydurma bir kullanıcı adını sınayabilir ve sunucu kabul ederse alan adı büyük olasılıkla hepsini yakalayandır. Tek başına bu, alan adının tek kullanımlık olduğunu kanıtlamaz; çünkü pek çok sıradan şirket alan adı aynı şekilde yapılandırılmıştır, bu yüzden bu tür araçlar genellikle bunu başka işaretlerle birleştirir.
İletiye yanıtlar çalışır mı?
Sizin taraftan yanıtlar tasarımın amacı değildir, çünkü gelen kutusu ağırlıklı olarak alır. İki yönlü bir yazışmaya ihtiyacınız varsa, normal bir posta kutusu ya da yanıtı destekleyen bir takma ad hizmeti daha uygundur.
Ürünün kendisi hakkında daha fazlası için SSS bölümümüze bakın. VookMail, PAYATE ücretsiz araçlar ağının bir parçasıdır.
