Bir Geçici E-posta Hizmetinin İçinde: Bir E-postanın SMTP'den Ekranınıza Yolculuğu
PureTempMail Ekibi
PureTempMail'i geliştiren ve işleten mühendisler
Boru Hattımızı Neden Gösteriyoruz
Tek kullanımlık e-posta hizmetlerinin çoğu birer kara kutudur. Bir adres yazarsınız, e-postalar görünür ve arada ne olduğu hakkında hiçbir fikriniz yoktur — mesajları kim görüyor, nerede saklanıyor, gerçekten siliniyor mu? "Bir geçici e-posta hizmetine güvenebilir miyim?" sorusunun dürüst yanıtı tamamen bu ayrıntılara bağlı olduğundan, PureTempMail'in tam olarak nasıl çalıştığını bileşen bileşen belgelemeye karar verdik.
Aşağıdaki her şey, şu anda bu web sitesine hizmet veren üretim sistemini anlatıyor. Bunu, sistemi kuran ve işleten ekip yazdı — basitleştirilmiş bir pazarlama şeması değil. Nerede bir ödün verdiysek, ne olduğunu ve nedenini söylüyoruz.
1. Adım: SMTP El Sıkışması — Çöpün Çoğunun Öldüğü Yer
İnternetteki her e-posta bir SMTP diyaloğu olarak başlar. Sınırımızda, TLS destekleyen göndericiler için TLS etkin olacak şekilde 25 numaralı portu dinleyen güçlendirilmiş bir SMTP sunucusu çalışır. Bir posta sunucusu bağlanıp bir alıcı bildirdiğinde, mesajı körü körüne kabul etmeyiz.
RCPT TO aşamasında — daha mesaj içeriğinin tek bir baytı bile aktarılmadan — alıcı adresini etkin posta kutuları listesiyle karşılaştırırız. O adresi kimse oluşturmadıysa veya posta kutusunun süresi zaten dolduysa, bağlantı anında kalıcı bir SMTP hatasıyla reddedilir. Asla kabul edip sessizce çöpe atmayız. Bu erken ret, bilinçli bir tasarım kısıtını da yansıtır: PureTempMail yalnızca alıcıdır. Bir PureTempMail adresinden e-posta göndermenin hiçbir yolu yoktur; bu da hizmetin spam, oltalama veya taciz için kötüye kullanılamayacağı anlamına gelir.
2. Adım: Alma ile İşleme Arasında Bir Kuyruk
Kabul edilen bir mesaj SMTP sunucusunun içinde ayrıştırılmaz. Bunun yerine ham e-posta bir mesaj kuyruğuna aktarılır ve SMTP diyaloğu hemen sona erer. Nedeni zamanlamadır: gönderen sunucular saniyeler içinde yanıt bekler, oysa ekli büyük bir e-postayı ayrıştırmak çok daha uzun sürebilir. İkisini birbirinden ayırmak, gelen posta patlamalarının asla zaman aşımına veya kayıp mesajlara yol açmaması demektir — kuyruk yükü emer ve bir tüketici sırayla işler.
Bu tüketici, ham MIME yapısını ayrıştırır: konuyu, göndericiyi, HTML ve düz metin gövdelerini ve ekleri çıkarır. Ekler, rastgele üretilmiş adlarla yalıtılmış depolamaya yazılır — asla göndericinin seçtiği dosya adıyla değil; bu da yol manipülasyonuna dayalı bütün bir saldırı sınıfını kapatır. Mesaj üstverileri ve gövdeleri, posta kutusunun son kullanma süresine bağlanarak veritabanına gider.
3. Adım: Pazarlama E-postaları Sizi İzleyemesin Diye HTML Temizliği
HTML e-postası, her gelen kutusunun en tehlikeli parçasıdır. Tipik bir pazarlama mesajı uzak görseller (mesajı ne zaman ve nerede açtığınızı bildiren izleme pikselleri), harici stil sayfaları ve bazen betikler içerir. Bir e-posta size gösterilmeden önce, katı bir beyaz listeye sahip bir HTML temizleyicisinden geçirilir: betikler ayıklanır, harici kaynaklar tamamen kaldırılır ve yalnızca güvenli satır içi stiller hayatta kalır. İzleme pikseli hiçbir zaman yüklenmez; dolayısıyla gönderici mesajın açılıp açılmadığını bilemez.

Temizlenmiş sonuç, tarayıcınızda tamamen yalıtılmış (sandbox) bir iframe içinde görüntülenir. Temizlikten kötü niyetli bir şey sağ çıksa bile, sandbox onun çevresindeki sayfaya, posta kutusu oturumunuza veya tarayıcınızdaki başka herhangi bir şeye dokunmasını engeller.
4. Adım: Server-Sent Events ile Gerçek Zamanlı Teslim
Çoğu geçici e-posta sitesi sayfayı yenilemenizi ister veya birkaç saniyede bir sunucuyu yoklar. PureTempMail, tarayıcınızdan Server-Sent Events (SSE) ile tek bir uzun ömürlü HTTP bağlantısı açık tutar. Tüketici bir mesajı kaydetmeyi bitirdiği anda bu bağlantıdan bir olay gönderilir ve e-posta gelen kutunuzda belirir — genellikle gönderimden bir ila üç saniye sonra. İki faktörlü doğrulama kodları ve kısa geçerlilik süreli etkinleştirme bağlantıları gibi zamana duyarlı akışlarda bu saniyeler önemlidir.
Bağlantı, kopmuş bağlantıların fark edilmesi için düzenli kalp atışları gönderir ve ağ koparsa istemci üstel geri çekilmeyle otomatik olarak yeniden bağlanır. Aynı olay akışı Android ve iOS uygulamalarımızı da besler; böylece her platform yeni bir mesajı aynı anda görür.
5. Adım: Süre Dolması Gerçek Silme Demektir
Her posta kutusu, ekranda görebileceğiniz bir geri sayımla oluşturulur ve kutu aktifken süreyi uzatabilirsiniz. Süre dolduğunda, birkaç dakikada bir çalışan bir temizlik görevi devreye girer: önce ek dosyaları diskten silinir, ardından posta kutusuna ve tüm mesajlarına ait veritabanı satırları zincirleme kaldırılır.
Arşiv yok, süresi dolan postaların yedeği yok, verileri görünmez biçimde saklayan bir "yumuşak silme" işareti de yok. Bu, yalnızca politikayla değil mimariyle dayatılan veri minimizasyonudur: artık var olmayan bir şeyi teslim edemeyiz, sızdıramayız, kaybedemeyiz.
İşte yolculuğun tamamı — bir SMTP el sıkışması, bir kuyruk, bir ayrıştırıcı, bir temizleyici, bir push olayı ve bir silme görevi. Her aşama, on dakika kullanacağınız bir adresin size sonrasında hiçbir şeye mal olmaması için var. Tek kullanımlık bir e-posta hizmetinin mesajlarınızla şaibeli bir şey yapıp yapmadığını merak ederseniz, ondan boru hattını yayımlamasını isteyin. Biz az önce yaptık.
Bu boru hattının kısa ve teknik olmayan sürümünü mü tercih edersiniz? PureTempMail'in adım adım nasıl çalıştığını görün