|
|
|||||||||||||
|
|
nasıl çalışır E-mail Programları Bu yazıda e-mail programlarının ve e-mail sunucularının nasıl konuştuklarına dair bilgiler bulacaksınız. Ayrıca Delphi'de kendi yaptığımız e-mail sunucumuzdan Outlook Express ile e-mail almayı deneyeceğiz. Daha önce bazı yerlerde bahsettiğim Telnet ile e-mail'lerin kontrolü uygulaması yeterince yaygınlaştığı için bundan kısaca bahsedeceğim. İsteyenler Internet'te ve bilgisayar dergilerinde bununla ilgili ayrıntılı bilgiler bulabilirler.
E-mail programları e-mail sunucularına bağlanır, kullanıcı adı ve parola bilgilerini iletip yetki tanımlaması beklerler. Yetki varsa program ne kadar e-mail olduğunu sorup bunları birer birer yüklerler ve size biçimlendirilmiş şekilde gösterirler. Her prokolde olduğu gibi e-mail alma protokolü olan POP3 prokolünde bir port numarası kullanılır ve bu 110'dur. (Neden derseniz, özel bir nedeni yok. :-) E-mail almak için belli bir IP ya da bilgisayar tanımlama adresinin 110 numaralı portuna bağlanmak yeterlidir. Örneğin www.deneme123.com ile mail.deneme123.com adresleri aynı bilgisayarı (yani IP adresini) işaret ediyorlarsa e-mail programında "mail." ile başlayan adres yerine "www." ile başlayan adresi de yazabilirsiniz. Hatta, biliyorsanız IP adresini de yazabilirsiniz. Bu arada bir bilgisayarda 110 nolu port açık ise o bilgisayarı POP3 Server olarak kabul edebiliriz. Ama kimi zaman bu numara değiştirilebilir. Örneğin yerel ağ ortamındaki bir POP3 sunucu programında (Exchange Server) bunun yapılması mümkündür. Bu durumda kullandığınız e-mail programında bununla ilgili ayarı düzenlemek mümkündür. Outlook Express'te (OE) hesap ayarları bölümündeki Gelişmiş sayfasında POP3 bağlantı noktası (port) değerini değiştirebilirsiniz. Bütün e-mail sunucuları (bundan sonra "POP3 sunucusu" diyeceğim) yetkili tanımlama gerektirir. Çünkü size ait olan posta kutusuna ulaşmak için bir kullanıcı adı ve parolaya ihtiyaç vardır. Sonrasında bağlandığınız bu POP3 sunucusu kendi üzerindeki size ait olan bilgilere ulaşıp yeni e-mail olup olmadığını kontrol eder. POP3 sunucuları posta kutunuzu istediği şekilde saklayabilir. İster TXT dosyalarına ayırır, ister MDB dosyasında tutar, ister SQL Server'da tutar ya da başka yolu seçer. Yani burada önemli olan Outlook Express ile e-mail alırken aradaki diyaloğun standart olmasıdır.
+OK X1 NT-POP3 Server mail.xxx.com (IMail 6.06 102110-1) gibi bir yanıt verecektir. Sonra sırayla alttaki komutları yazıp her seferinde +OK ile başlayan cevaplar gelmesini bekleyin. (Örnek adresimiz ahmet@xxx.com olsun.) USER ahmet (Bazan Telnet'te iken sizin yazdıklarınız
ekranda görünmeyebilir. Yine de yazdıklarınız karşı tarafa
iletilmektedir.) STAT Yukarıdaki diyalogda önce toplam mesaj sayısını ve bayt cinsinden büyüklüğün ne kadar olduğunu öğreniyoruz. Sonra her bir mesajın kaç bayt olduğunu. Liste halinde uzayabilen konuşmaların bittiğini nokta işaretinden anlayabiliriz. Bu tür istemci-sunucu protokollerinde soru veya cevabın bittiği doğrudan anlaşılmaz. Bunun için bir satır sonu işareti ya da nokta gibi işaretler beklenebilir. Veyahut yukarıda olduğu gibi alınacak bilginin uzunluğu önceden öğrenilir. Çünkü bir taraf yanıt veremedeğinde karşı tarafın bunu doğru yorumlaması gerekir. Mesajları almak için birkaç yol kullanılabilir. Yukarıda 4 mesaj bilgisi listelendiği için sırasıyla RETR 1 komutları çalıştırılıp her biri için gerekli uzunlukta cevap beklenir. Outlook Express mesajı yüklemek için bu yolu kullanır. Fakat başka e-mail programları mesajların baş taraflarını TOP 1 10 gibi bir komutla gösterebilirler. Tabii bunu siz Telnet ile de yapabilirsiniz.
DELE 1 Böylelikle posta kutusunu tıkayan bu e-mail'i ortadan kaldırmış olursunuz. Tüm işlerinizi bitirdiğinizde QUIT komutu ile oturumdan çıkmalısınız. Herhangi bir durumda yaptığınız işlemleri geri almak mümkündür. Eğer bir mesajı yanlışlıkla sildiğinizi düşünüyorsanız RSET komutu gönderin. Zira silme işlemleri aslında oturum doğru bir şekilde kapatıldığında uygulanır. Mesajlar alındıktan sonra Outlook Express DELE komutu ile aldığı mesajları sunucudan siler. Eğer Outlook Express'te "mesajların kopyasını sunucuda bırak" özelliği aktif değilse.
Received: from xx.xx.xx.xx [xx.xx.xx.xx] by xxx.com.tr Burada mesajı tanımlayıcı, dünyada tekrarlanması çok çok düşük bir ihtimal olan Message_ID bilgisi bulunuyor. OE de sunucuda kopyasını bıraktığı mesajları belki bu bilgiden faydalanarak anlayabiliyor. En azından ben öyle yapardım. Outlook Express'in mesaj alışverişlerinde hangi komutları kullandığını görmek isterseniz Araçlar / Seçenekler / Bakım sayfasının en altında bulunan Sorun Giderme seçeneklerini işaretleyin. Bundan sonra Outlook dosyalarının olduğu yerde -ki bu klasörü Depo Klasörü düğmesini tıklatarak öğrenebilirsiniz- e-mail'ler için pop3.log adlı bir dosya oluşturulacak ve bütün diyaloglar buraya kaydedilecek.
Buraya kadar anlatılanlar aslında girizgah kısmıydı. Asıl konumuz bir POP3 server programı yapıp Outlook ile e-mail yüklemek. Bunun için Delphi kullanacağız. Konunun devamı aşağıdaki sayfada. Devamı: Kendi E-mail Sunucunu Kendin Yap
|