İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır

Simple Mail Transfer Protocol (Basit Posta Transfer Protokolü)

Giriş

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.

SMTP modeli

Ş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.

Şekil 11-9 SMTP Modeli

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.

Adres alanı formatı

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:

SMTP işlemlerine örnekler

Ş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.

Şekil 11-10 SMTP Mail Transferi

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 Diğer SMTP Özellikleri

Ş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.

SMTP ve Domain Name System

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.

İçindekilerGirişİndex
YukarıİlkÖncekiSonrakiSon
Geriİleri
Yazdır