Yazan : Şadi Evren ŞEKER
SMTP, Simple Mail Transport Protocol , Basit Mektup İletim Merasimi kelimelerinin baş harflerinden oluşan ve isminden de anlaşılacğaı üzere internet üzerinde mektuplaşmaya (mailing) yarayan bir protokoldür.
İnternet üzerinde mektup okuyan kişiler bilindiği üzere anlık olarak internette bulunmayabilirler. Bu tip mesajlaşmalar anlık ileti (instant mesagging) amacına yönelik özel yazılımlarla yapılmaktadır. Bunun yerine her kullanıcının mektup sunucusu (mail server) üzerinde bir posta kutusu bulunmakta ve bu kutular üzerinde mektupları birikmektedir. Ardından kullanıcı bağlanarak kutusundaki mektupları okumaktadır. Bu işin yapıldığı ve kullanıcıların mektuplarını okuduğu protokol ise POP3 (post office protocol) olarak bilinmektedir.
SMTP protokolü mektupları okurken değil; mektupları gönderirken kullanılan protokoldür. Bu protokolde amaç gönderilecek olan mektubun hedefteki alıcının sunucusuna iletilmesidir. Bu iletim yapıldıktan sonra zaten kullanıcının posta kutusunda mektup bekleyecektir. Dolayısıyla SMTP’nin birinci görevi hedef sunucuyu bulmak ve alıcının kutusuna mektubu bırakmaktır.
SMTP protokolü 25. port üzerinden çalışır. 3 temel aşamadan oluşur:
- Selamlaşma (handshaking)
- İletim (message transfer)
- Kapatma (closure)
ilk adımda sunucular aralarında iletişimi başlatmak için gerekli olan bilgileri geçirirler. Ardından mesaj transferi başlar ve mesaj (ya da mesajlar) yollanır. Son olarak aradaki bağlantı kapatılır.
SMTP protokolünü kullanan sunucular arasında mesajlaşma yapılırken bir sıra (queue) kullanılır. Yani bir sunucunun ileteceği birden çok mesaj varsa bu mesajlar sırasıyla iletilirler ve beklemekte olan mesajlar için bir sıra (queue) kullanılır.
Yukarıdaki şekilde bulunan ve numaralandırılmış olan 6 adımı aşağıda açıklamaya çalışalım:
1. adımda Bekir, Ayşe’ye bilgisayarında bulunna program üzerinden (user agent) mektup yazmaktadır.
2. adımda Bekir mektubunu yollar ve Bekir’in bilgisayarındaki program, Bekir’in SMTP sunucusuna (smtp server) bağlanarak mektubu sunucuya yükler
3. adımda Bekir’in SMTP sunucusu internet üzerinden Ayşe’nin sunucusunu bulur ve bu sunucuya mektubu teslim eder.
4. adımda Ayşe mektubu kendi bilgisayarındaki program marifetiyle (user agent) görüntüler.
Bu adımlar sırasında olan mesajlaşma SMTP protokolünde aşağıdakine benzer bir haldedir:
S: 220 bilgisayarkavramlari.com
İ: HELO sadievrenseker.com
S: 250 Hello sadievrenseker.com, pleased to meet you
İ: MAIL FROM: <bekir@sadievrenseker.com>
S: 250 bekir@sadievrenseker.com... Sender ok
İ: RCPT TO: <ayse@bilgisayarkavramlari.com>
S: 250 ayse@bilgisayarkavramlari.com ... Recipient ok
İ: DATA
S: 354 Enter mail, end with "." on a line by itself
İ: Ben Bekir;
İ: Bilgisayar kavramlarında yeni neler var?
İ: .
S: 250 Message accepted for delivery
İ: QUIT
S: 221 sadievrenseker.com closing connection
Yukarıdaki mesajlaşmada, bilgisayarkavramlari.com sunucusuna bağlanarak bekir isimli kullanıcının mesajı bekir@sadievrenseker.com adresinden ayse@bilgisayarkavramlari.com adresine gönderilmiştir (İ: istemci (sadievrenseker.com), S: sunucu tarafıdır (bilgisayarkavramlari.com ) ). mesaj:
“Ben Bekir;
Bilgisayar kavramlarında yeni neler var?”
şeklindedir. Bu mesajlaşmanın ilk 3 satırı sunucular arası selamlaşma (handshaking), son 2 satırı da kapatma (closure) işlemidir. Bu satırlar dışındaki satırlar mesajın gönderilmesi işlemidir. Şayet birden fazla mesaj gönderilecek olsaydı istemci yeniden MAIL FROM komutuyla yeni bir mektup transferi başlatacaktı.
Teşekkürler hocam, Açıklayıcı bir makale olmuş.