SMTP veya Basit Posta Aktarım Protokolü, sunucular arasında e-posta mesajları göndermek için kullanılan bir protokoldür. TCP/IP ağları üzerinde çalışır ve e-postaların internet üzerinden ve özel ağlar içerisinde iletilmesi için gereklidir.
SMTP, gönderenin SMTP istemcisi (genellikle bir e-posta uygulaması veya sunucusu) ile alıcının SMTP sunucusu arasında bir iletişim kanalı kurarak çalışır. Gönderen, TCP bağlantı noktası 25’teki (veya güvenli e-posta iletimi için 587 gibi diğer belirlenmiş bağlantı noktalarındaki) alıcının SMTP sunucusuna bağlanarak iletişimi başlatır. Bağlandıktan sonra gönderen, e-posta mesajını gönderen ve alıcı bilgileriyle birlikte SMTP sunucusuna gönderir.
SMTP öncelikle bir sunucudan diğerine e-posta mesajları göndermek için kullanılır. Güvenilir teslimatı mümkün kılan bir dizi kural ve komut tanımlayarak e-posta verilerinin aktarımını kolaylaştırır. SMTP sunucuları, e-posta mesajlarının iletimini ve yönlendirilmesini alıcı etki alanı bilgilerine göre yöneterek, e-postaların alıcının posta kutusundan sorumlu olan doğru posta sunucularına teslim edilmesini sağlar.
SMTP kullanarak e-posta göndermek için e-posta istemcinizi veya uygulamanızı bir SMTP sunucusuna bağlanacak şekilde yapılandırırsınız. Genellikle SMTP sunucu adresini (örn. smtp.example.com) ve bağlantı noktası numarasını (standart SMTP için 25 veya 587 veya SSL/TLS üzerinden SMTP için 465) girersiniz. Ayrıca, SMTP sunucusunun gerektirmesi halinde kimlik doğrulama bilgilerini (kullanıcı adı ve parola) da sağlarsınız. Yapılandırıldıktan sonra e-postanızı oluşturursunuz ve “Gönder”e tıklarsınız, böylece SMTP protokolünün e-postayı alıcının sunucusuna aktarma işlemini başlatırsınız.
Bir SMTP sunucusunun süreci birkaç adımdan oluşur:
- Handshake: İstemci, sunucu ile TCP bağlantısı başlatır ve kendisini tanımlar.
- Posta Aktarımı: İstemci, gönderenin e-posta adresini, alıcının e-posta adresini ve e-posta içeriğini SMTP komutlarını (örneğin, EHLO, MAIL FROM, RCPT TO, DATA) kullanarak sunucuya gönderir.
- Teslimat: SMTP sunucusu, e-postayı alıcının etki alanı sunucusuna iletir; bu, nihai hedefe ulaşana kadar birden fazla sunucu üzerinden geçiş yapılmasını gerektirebilir.
- Bildirim: Sunucu, başarılı teslimatı onaylamak için onay kodları (ör. 250 OK) veya sorunlar ortaya çıkarsa hata kodları (ör. 550 Kullanıcı bilinmiyor) gönderir.
SMTP’nin kendisi öncelikle e-posta almaktan ziyade göndermek için tasarlanmıştır. E-posta almak için sunucular, istemcilerin sunucuda depolanan mesajları almasına izin vermek amacıyla genellikle IMAP veya POP3 gibi protokolleri kullanır. Bununla birlikte, SMTP, gelen e-postanın gönderici sunuculardan alıcının e-posta sunucusuna ilk aktarımında, saklanıp alıcı tarafından alınmaya hazır hale getirilmesinde bir rol oynar.