|
|
SMTP, Internet Protokol yığınında bulunan üst-katman protokollerinin en yaygın kullanıma sahip olan standartlarından biridir. Adının da çağrıştırdığı gibi, iki kullanıcı arasında nasıl mesaj (mail) iletileceğini tanımlar
SMTP makaralama (spooling) kavramını kullanır. Makaralama fikri, mail'in yerel bir uygulamadan SMTP uygulamasına gönderilebilmesini sağlar. Burada SMTP uygulaması mail'i bir cihaza veya hafızaya kaydeder. Tipik olarak, mail makaraya varınca, sorgulanır. Bir sunucu, mesaj var mı diye kontrol eder ve eğer varsa bunları postalamaya kalkışır. Eğer mail'in postalanacağı kullanıcı bulunamıyorsa, sunucu daha sonra tekrar deneyebilir. Neticede, eğer mail gönderilemezse, yok edilir veya göndericiye geri yollanır. Bu kavram uçtan-uca postalama sistemi olarak bilinir çünkü sunucu mail'i göndereceği varışla kontak kurmaya kalkışır, ve mail'i postalamadan önce belli bir süre hafızada tutar.
SMTP iki RFC'de bulunur. RFC 822 mesajın yapısını anlatır (bu anlatım tabii ki zarfı da içerir). RFC 821 iki makine arasında yapılacak mail alışverişini kontrol eden protokolü belirtir.
Şekil 11-9'da SMTP'nin genel bir modelini gösterilmiştir. İşlemler gönderici-SMTP'nin alıcı-SMTP ile haberleşme kurması ile başlar. Mail'in iletilmesinden önce, iki SMTP varlığı password'larını veya diğer yetki işaretlerini birbirlerine ulaştırmalıdırlar. Bundan sonra, gönderici, kimliğini ve mail alışverişi için gerekli diğer bilgileri içeren ve, MAIL denilen özel bir komut iletir. Alıcı bundan sonra MAIL komutuna bir acknowledgment geri döndürmelidir. SMTP'de, bu acknowledgment 250, veya bazı dokümanlarda 250 OK olarak yazılır. Formata bakılmaksızın, acknowledgment istenilen mail aksiyonunun tamamlandığı anlamındadır.
![]() |
Prosedürün sıradaki adımı bir RCPT komutunun iletilmesidir. Amacı mesajın hedeflerini belirtmektir. Burada da, her potansiyel alıcıdan bir acknowledgment beklenmektedir.
Prosesin üçüncü adımı DATA komutu yayınlamaktır. Bu komut gönderici tarafından yayınlanarak, alıcıya/alıcılara mesajın gelmeye hazır olduğu uyarısının yapılması sağlanır. Veri bundan sonra; gönderici, mesajın sonunu belirten özel bir kontrol karakterleri katarı gönderene kadar, hattan hata iletilir. Özel katar gelince, sunucu bir QUIT komutu ile prosesi bitirmeyi tercih edebilir.
Gönderici-SMTP kendi gönderici adres ve alıcı adres alanı için standart bir format kullanır. Bu format aşağıdaki gibidir.
local-part@domain-name
Bir SMTP ismi böylece domain name system (DNS) kavramını takip eder, ve bazı sistemler aynı sunucu özelliğini kullanarak bu isimden bir IP adresi türetirler.
Uygulamada, bu format şeması şöyle görünmelidir:
Jones@beta.aus.edu
Burada yerel kişinin ismi Jones'tur. beta.aus.edu ise kişinin domain tanımlayıcısıdır. local-part@domain-name aşağıdakileri belirtmek üzere başka formlarda olabilir:
Şekil 11-10'da iki SMPT kullanıcısının basit bir mail alışverişi işlemi gösterilmiştir. Şeklin sol tarafında göndericinin bağlantı kurması gösterilmiştir. Alıcı 220 OK ile cevap verir. HELLO komutu iki makine arasında bir tanımlayıcı alışverişi olarak kullanılmıştır. MAIL FROM komutu Smith@beta.com'a yeni bir mail geçişinin başlıyor olduğunu söyler. Alıcı bu komutu tamponlarını temizlemek, konum tablolarını reset'lemek, ve mesaja hazırlanmak için kullanır. Bundan sonra, RCPT komutu alıcının ileri yol adresini verir. Örneğimizde, bu Smith@beta.com'dur, ki 250 OK ile cevap vermiştir. DATA komutu alıcıya, kendisini mesaj içeriğinin takip edeceğini bildirir. Cevap 354'tür. 354, mail girişini başlat ve bunu CRLF CRLF ile sonlandır anlamındadır.
![]() |
Veri iletilir, ve iletimin sonu CRLF CRLF ile işaretlenir. Alıcı 250 OK ile cevaplar, ve bağlantı QUIT ve 221 cevabı ile kesilir. Bu da sunucunun bağlantıyı kapattığı anlamına gelir.
![]() |
Şekil 11-11'de başka tiplerdeki SMTP mail alışveriş örnekleri gösterilmiştir. Şeklin üst kısmında verification komutunun (VRFY) kullanımı gösterilmiştir. Amacı alıcının ismini doğrulamaktır. Bu örnekte Jsmith, tam ismini ve tam tanımlı mailbox'ını cevap olarak geri göndermelidir. Şekil 11-11'deki ikinci işlem; SMTP'nin, mail listesindeki bir kimliği doğrulamakta nasıl kullanılabileceğini göstermektedir. Cevaplayıcılar tam isimlerini ve tam tanımlı mailbox'larını geri döndürmelidirler.
Bu şekiller SMTP'nin birçok özelliğinden yalnızca birkaç örnek sunmaktadırlar. Daha önce söylediğimiz gibi, daha detaylı bilgi için ilgili RFC'lere başvurabilirsiniz.
Eğer bir uygulamada SMTP ve DNS çalışıyorsa, isim sunucusu mail alışverişi (MX) rezerv kayıtlarını (RRs) tutmalıdır. RFC 974'de belirtildiği üzere; bir gönderici SMTP, alıcı host'un SMTP'yi destekleyen bir well-known (WKS) girişi var mı diye karar vermek için, host'u sorgulamalıdır.
Bir SMTP mailbox'ını destekleyen RR'lere aşağıdaki örnek verilebilir:
RD.ACME.COM. IN MX 1 0 RD.ACME.COM. RD.ACME.COM IN MX 2 0 MKT.ACME.COM. RD.ACME.COM IN WKS 12.14.1.1 TFCP (SMTP)
Bu örnekte, RD.ACME.COM. için olan mail host'a postalanır. Eğer RD.ACME.COM.'a ulaşılamıyorsa, mail MKT.ACME.COM.'a postalanır.
|
|