Geçici mail nasıl çalışır sorusunun cevabı, sıradan bir postanın teslim yolundan çok farklı değildir. Gönderen taraf adresi alır, alan adının posta sunucusunu bulur ve mesajı oraya bırakır. Bu yazıda bu yolun hangi adımlardan geçtiğini, geçici bir gelen kutusunun zincirin neresinde durduğunu, mesajların neden bazen geciktiğini ve ömrün ne anlama geldiğini bulacaksınız.
Bir posta adresi hangi iki parçadan oluşur?
Her posta adresi ortadaki ayraç işaretiyle ikiye ayrılır: solda yerel bölüm, sağda alan adı. Yerel bölüm, o alan adındaki posta kutusunu tanımlayan etikettir; alan adı ise postanın hangi kuruluşa gittiğini söyler. Bir adresi okurken bu ayrımı bilmek, sorunları anlamanın ilk adımıdır: adres reddedildiğinde sorun yerel bölümün biçiminde mi, alan adının kendisinde mi, yoksa o alan adının posta kabul etmiyor olmasında mı, bu iki parçayı ayırarak düşünürsünüz.
Alan adı kısmı, bir posta kutusuna değil bir kuruluşa işaret eder. Aynı alan adı altında binlerce farklı yerel bölüm bulunabilir; bu yüzden bir adresin çalışması, alan adının posta kabul etmeye hazır olmasına bağlıdır. Yerel bölüm ise çoğu zaman harf, rakam ve birkaç ayıraç işaretinden oluşur ve uzunluğu sınırlıdır; bu sınırların ayrıntısı mail adresi uzunluk sınırı yazısında ele alınıyor.
Gönderen sunucu adresi nasıl bulur?
Gönderen tarafın posta sunucusu, mesajı teslim etmek için önce alan adına bakar. Bunun için alan adının yayınladığı posta kaydını sorgular. Bu kayıt, kabaca şu sorunun cevabıdır: bu alan adına gelen postayı hangi sunucu kabul eder? Cevap bulunamazsa ya da bulunan sunucu bağlantıyı kabul etmezse mesaj teslim edilemez ve gönderen taraf bir hata alır.
Bu sorgu, posta sisteminin temel taşıdır ve açık standartlarda tanımlanmıştır; her posta altyapısı bu mekanizmayı kullanır. Kaydın kendisi bir metin satırıdır ve alan adının yöneticisi tarafından yayınlanır. Bir kuruluş posta hizmetini değiştirdiğinde, güncellenmesi gereken yer tam olarak burasıdır: posta kutusu taşınsa bile kayıt eski sunucuyu gösteriyorsa posta yanlış yere gitmeye devam eder.
Kayıt bulunduktan sonra gönderen taraf ile alıcı sunucu arasında bir konuşma başlar. Alıcı sunucu bu konuşmada kendini tanıtır, mesajın kime geldiğini öğrenir ve mesajı kabul edip etmeyeceğine karar verir. Bu karar birkaç nedene bağlı olabilir: alıcı adres o alan adında tanımlı değildir, gönderen tarafın kimliği kuşkuludur ya da sunucu o anda meşguldür. İlk ikisinde mesaj kalıcı olarak reddedilir ve gönderen taraf bunu bir hata olarak görür; üçüncüsünde ise mesaj kuyruğa alınır ve sonra yeniden denenir. Kullanıcı açısından bu ayrımın tek görünür sonucu vardır: posta ya hiç gelmez ya da biraz gecikmeyle gelir.
Bu zincirde sizin denetiminizde olan tek şey adrestir. Alan adının posta kaydı hizmeti veren tarafından yönetilir, teslim kararı alıcı sunucuya aittir, gecikme ise ağın ve kuyrukların doğal sonucudur. Bu yüzden “posta neden gelmedi” sorusunun cevabı çoğu zaman adreste değil, bu üç halkanın herhangi birinde aranmalıdır.
Geçici bir gelen kutusu bu zincirin neresinde durur?
Geçici bir posta hizmeti, sihirli bir kısayol kullanmaz; yaptığı şey, alan adının posta kaydını kendi sunucusuna yönlendirmek ve gelen postayı bir gelen kutusunda göstermektir. Yani adresin biçimi değişmez, teslim yolu değişmez; değişen, postanın düştüğü kutunun kalıcı olmamasıdır. Adresi oluşturduğunuzda, o alan adına gelen ve sizin belirlediğiniz etikete yönelmiş posta, açık olan sayfada görünür.
Bu yaklaşımın pratik sonucu şudur: posta gerçekten gönderilir ve gerçekten ulaşır. Karşı taraf, adresin arkasında bir kişi olup olmadığını bu aşamada anlayamaz, çünkü teknik olarak bakıldığında sıra dışı bir şey yoktur. Aradaki fark, kullanıcı tarafındadır: parola, kurtarma bilgisi ve geçmiş olmadığı için posta kutusu bir kimliğe bağlanmaz. Bu araçla ilgili temel kavramları tek kullanımlık mail adresi nedir yazısında toplu olarak bulabilirsiniz. Kısa ömürlü bu adresler teknik denemeler için düşünülmüştür; resmî ya da kişisel kimlik olarak kullanılamaz.
Mesajlar ne kadar süre durur?
Geçici gelen kutuları kısa ömürlüdür; saklama süresi hizmete göre değişir ve genellikle dakikalarla saatler arasında bir aralıkta tutulur. Bu süre bir güvenlik önlemi değil, tasarım tercihidir: adresin bir kimliğe bağlanmaması, ancak posta kutusunun uzun süre yaşamamasıyla anlamlı olur. Süre dolduğunda mesajlar silinir ve geri getirilmez; arşiv, arama ya da dışa aktarma gibi bir yol yoktur.
Bu yüzden postayı gördüğünüz anda işinizi bitirmeniz gerekir. Doğrulama bağlantısına tıklamak, kodu kopyalamak veya bir bilgiyi not almak, hep bu kısa pencere içinde yapılmalıdır. Sonradan erişmeniz gereken bir mesaj söz konusuysa, geçici gelen kutusu doğru araç değildir. Tam olarak kaç dakika saklandığını sormak yerine, mesajın sizin denetiminizde olmadığını varsayarak hareket etmek daha güvenlidir.
Kısa ömrün ikinci bir sonucu daha vardır: adres, mesaj geldikten sonra da kullanılabilir görünse bile ona güvenerek plan yapamazsınız. Bir akışı yarıda bırakıp ertesi gün devam etmek istediğinizde, aynı adresin açık olacağını varsaymak yanlış olur. Bu yüzden geçici bir adresle başlanan işin, aynı oturum içinde bitirilmesi gerekir.
Posta neden geç gelir ya da iki kez gelir?
Posta teslimi eşzamansız bir süreçtir. Gönderen sunucu mesajı kuyruğa alabilir, alıcı taraf geçici olarak meşgul olabilir ve teslim birkaç saniye ile birkaç dakika arasında değişen bir gecikmeyle gerçekleşebilir. Bu yüzden “gönderdim, hemen görünmeli” beklentisi gerçekçi değildir. Aynı şekilde, gönderen taraf teslimin başarılı olduğunu doğrulayamadığında mesajı yeniden deneyebilir; bu durumda aynı posta iki kez görünebilir.
Bunların ikisi de arıza değil, normal davranıştır. Gecikmeyi hata sayan bir kişi gereksiz yere panikler; iki kez gelen postayı hata sayan bir test ise durup dururken kırılır. Doğru yaklaşım, postayı bir olay akışı gibi düşünmek ve “eninde sonunda gelir, birden fazla gelebilir” varsayımıyla hareket etmektir.
Geliştiriciler için: ömür, yoklama ve tekrar denemeler
Otomasyon yazarken ilk karar, postanın gelmesini nasıl bekleyeceğinizdir. Sabit bir süre uyumak en kolay ama en kırılgan seçenektir; yavaş bir ortamda test yalancı hata verir, hızlı bir ortamda gereksiz bekler. Bunun yerine gelen kutusunu belli aralıklarla denetleyip aradığınız posta görünene kadar beklemek, görünmezse belirlenen bir üst sınırda başarısız olmak gerekir. Bu üst sınır, testin sonsuza kadar asılı kalmasını engeller.
Alınacak kararlar şu üç başlıkta toplanır:
- Postanın gelmesini nasıl bekleyeceğiniz: sabit bir süre uyumak yerine gelen kutusunu belli aralıklarla denetleyip aradığınız posta görünene kadar beklemek, görünmezse belirlenen bir üst sınırda başarısız olmak
- Her test senaryosuna ayrı bir adres vermek: aynı adresi paylaşan iki test, birbirinin postasını okuyabilir ve sonuçlar karışır
- Hangi postayı aradığınızı tanımlamak: testin gönderen adresine, konu satırına veya içerikte geçen bir işaretleyiciye göre eşleşme yapması gerekir
İkinci karar, her test senaryosuna ayrı bir adres vermektir. Aynı adresi paylaşan iki test, birbirinin postasını okuyabilir ve sonuçlar karışır. Ayrı adresler kullanmak, hem yalıtımı sağlar hem de bir hata çıktığında hangi senaryonun postasının geldiğini açıkça gösterir.
Üçüncü karar, hangi postayı aradığınızı tanımlamaktır. Gelen kutusunda birden fazla mesaj olabilir; testin gönderen adresine, konu satırına veya içerikte geçen bir işaretleyiciye göre eşleşme yapması gerekir. Mesajın biçimine değil, anlamına bakan bir kontrol daha dayanıklıdır. Son olarak, gecikme ve tekrar teslimi beklenen davranış kabul edip, bunları karşılamayan bir zaman aşımı seçin.
Sonraki adımlar
Postanın yolunu anlamak, geçici adreslerin neden kısa ömürlü olduğunu da açıklar: saklama süresi uzadıkça adresin kimlikten bağımsız olma özelliği zayıflar. Kendi senaryonuzu denemek için geçici e-posta aracında bir alan adı seçip ön eki belirleyerek posta kutusu oluşturabilirsiniz. Bir sonraki adım olarak, kodun postadan nasıl okunacağını anlatan uçtan uca testlerde OTP yazısına geçebilirsiniz.
Buradaki posta kutuları yalnızca teknik deneme içindir; gerçek bir kimliğin ya da kalıcı bir hesabın adresi olarak kullanılamaz.