4.3. Komutların ve Yanıtların Sıralanışı

4.3.1. Sıralanışa Genel Bakış

Alıcı ile gönderici arasındaki iletişim gönderici tarafından denetim altında tutulan değişken bir diyalogdur. Aslında, gönderici bir komut verir ve alıcı da yanıtını. Başka türlü düzenlenmedikçe, hizmet eklentileri üzerinden görüşülür. Gönderici bir komut yollamadan önce önceki komutun yanıtını beklemelidir *ZORUNLU*.

Önemli tek yanıt bağlantı karşılama yanıtıdır. Normal olarak, bağlantı kurulduğunda alıcı bir 220 "Hizmete hazırım" yanıtı gönderir. Göndericinin herhangi bir komut göndermeden önce bu karşılama iletisini beklemesi gerekir *ÖNERİ*.

Bilginize

Tüm karşılama türü yanıtlarda yanıt kodundan sonraki ilk sözcük sunucu konağın resmi adı (tamamen nitelenmiş birincil alan adı) olur. Bazan konak anlamlı bir isme sahip olmayabilir. Bu gibi durumlarla ilgili olasılıkların açıklamaları için IP Kodlu Adlar bölümüne bakınız.

Örneğin,

220 ISIF.USC.EDU Service ready

veya

220 mail.foo.com SuperSMTP v 6.1.2 Service ready

ya da

220 [10.0.0.1] Clueless host service ready

Aşağıdaki tablo, her komut için olası başarı ya da başarısızlık yanıtlarını listeler. Bunlar şuna kesinlikle bağlı kalmalıdır *ÖNERİ*: alıcı yanıtlardaki metinlerde değişiklik yapabilir, fakat kod numaralarına ve komuta özgü yanıt sırasına göre uygulanan eylem ve anlam değiştirilemez.

4.3.2. Komut-Yanıt Sıralanışı

Her komut kendi olası yanıtlarıyla birlikte listelenmiştir. Kullanılan öneklerlerle olası yanıtlar belirtilmiştir: Ara yanıtlar için "A", hatalar için "H", başarı yanıtları için "B" önekleri kullanılmıştır. Özel bazı durumlar ve gelecek eklentilere izin vermek için bazı sunucular özel yanıtlar üretebildiklerinden, SMTP istemcilerinin, mümkün olduğu anda, yanıtın sadece ilk rakamını yorumlamaları *ÖNERİ* ve sadece ilk rakamı yorumlayarak, tanımadıkları yanıt kodları ile çalışmaya hazırlıklı olmaları gerekir *ZORUNLU*. Eklenti Modeli bölümünde açıklanan mekanizmaları kullanarak genişletilmiş olmadıkça, SMTP sunucularının üç rakamdan farklı veya 2,3,4,5 ile başlamayan yanıt kodları aktarmamaları gerekir *ZORUNLU*.

Bu sıralama kuralları ve presipte kodların kendileri, sunucularda sunulmak ve istemcilerce kabul edilmek (istenmek) üzere, SMTP eklentileri tarafından değiştirilebilir ve genişletilebilir.

Aşağıda listelenen kodlara ilaveten, her SMTP komutu, ilgili yararsız durumlar saptanırsa aşağıdaki kodlardan herhangi birini döndürebilir:

500

"komut satırı çok uzun" durumunda veya komut isminin tanınmadığı durumlarda. Bu komutların gerekli alt kümesine yanıtta bir "komut tanınmıyor" hatası üretilmesinin bu belirtimle çelişildiğini göstereceğine dikkat ediniz.

501

Komut veya bağımsız değişkenlerde sözdizimi hatası. Gelecekteki genişletmeler için sağlanması durumunda, bu belgede bağımsız değişken kabul etmeyen komutlar olarak geçen komutlar (DATA, RSET, QUIT komutları), bağımsız değişkenler EHLO için ilan edilmiş eklentilerin yokluğunda sağlanmışsa, bir 501 yanıtı döndürmelidir *ÖNERİ*.

421

Hizmet kapanıyor ve aktarım kanalını kapatıyor.

Belli başlı sıralamalar:

   BAĞLANTI TESİSİ
      B:  220
      H:  554
   EHLO veya HELO
      B:  250
      H:  504, 550
   MAIL
      B:  250
      H:  552, 451, 452, 550, 553, 503
   RCPT
      B:  250, 251 (ama 251 ve 551 açıklaması için
          bkz, Adres Düzeltmek veya Güncellemek için Yönlendirme)
      H:  550, 551, 552, 553, 450, 451, 452, 503, 550
   DATA
      A:  354 -> veri -> B:  250
                         H:  552, 554, 451, 452
      H:  451, 554, 503
   RSET
      B:  250
   VRFY
      B:  250, 251, 252
      H:  550, 551, 553, 502, 504
   EXPN
      B:  250, 252
      H:  550, 500, 502, 504
   HELP
      B:  211, 214
      H:  502, 504
   NOOP
      B:  250
   QUIT
      B:  221