|
İstemci | Sunucu |
---|---|
Sunucuya bir TCP bağlantısı kurar. | SMTP (veya halefi olan ESMTP) diyaloğuna hazır olduğunu belirtmek için 220 koduyla başlayan bir karşılama iletisi gönderir:
220 sunucu.f.q.d.n ESTMP... |
Bir HELO (artık atıl) ya da EHLO ile başlayan ve kendi Nitelikli Alan Adını içeren bir selamlaşma komutu ile kendini tanıtır:
EHLO istemci.f.q.d.n |
Bir 250 yanıtı ile bu selamı kabul eder. Eğer istemci selamlaşma komutunun gelişmiş sürümünü (EHLO) kullanmışsa, sunucunuz onun çok satırlı yanıtları işleme yeterliliğinde olduğunu anlar ve normal olarak kendi yeteneklerini belirten satırları gönderir:
250-sunucu.f.q.d.n Hello ... 250-SIZE 52428800 250-8BITMIME 250-PIPELINING 250-STARTTLS 250-AUTH 250 HELP
Bu yanıt PIPELINING yetisini içeriyorsa, istemci bu noktadan sonra herbiri için ayrı ayrı yanıt beklemeksizin bir çok komutu bir kerede gönderir.
|
Zarf Göndericisini belirterek yeni bir posta aktarımı başlatır:
MAIL FROM:<gönderen@adres> |
Göndericinin kabul edildiğini belirten bir 250 yanıtı gönderir.
|
İletinin Zarf Alıcılarını bir defada liste halinde yollar:
RCPT TO:<alıcı@adres> |
Her komuta o alıcı için teslimatın kabul mü edildiğine (2xx), geçici bir sorun mu oluştuğuna (4xx) yoksa red mi edildiğine (5xx) dair bir yanıt döndürür.
|
İletiyi göndermeye hazır olduğunu belirten bir DATA komutu gönderir.
|
Komutun geçici olarak kabul edildiğini belirten 354 yanıtını gönderir.
|
RFC 2822 uyumlu başlık satırları (From:, To:, Subject:, Date:, Message-ID: gibi) ile başlayan iletiyi aktarmaya başlar. Başlık ve gövde bir boş satırla ayrılır. İletinin sonunda ileti sonunu belirten ve tek bir nokta içeren ek bir satır göndererek ileti aktarımını bitirir.
|
İletinin kabul edildiğin belirten 250 yanıtını gönderir.
|
Eğer teslim edilecek başka iletiler de varsa, bir MAIL FROM: komutu gönderir. Aksi takdirde, QUIT der ya da yaygın bir durum olarak basitçe bağlantıyı keser.
|
Bağlantıyı keser.
|
|