SMTP Nedir?

SMTP (Simple Mail Transfer Protocol), e-posta gönderimi ve iletimi için kullanılan bir protokoldür.

SMTP, sadece e-posta gönderme ve iletme işlemleri için kullanılır. E-postayı almak ve görüntülemek için IMAP (Internet Message Access Protocol) veya POP (Post Office Protocol) gibi diğer protokoller kullanılır.

SMTP Nasıl Çalışır?

SMTP, istemci-sunucu modeline dayanır. E-posta istemcisi, kullanıcının e-posta yazıp göndermesine olanak tanırken, e-posta sunucuları bu e-postaları iletir ve alıcıya ulaştırır. SMTP ile e-posta gönderim süreci şu şekilde işler:

  1. SMTP Bağlantısı Kurulması: İlk olarak, e-posta istemcisi ile e-posta sunucusu arasında bir TCP bağlantısı kurulurlar. Bağlantı kurulduktan sonra istemci, HELO ya da EHLO komutları ile iletişimi başlatır.
  2. E-posta Verisi Gönderimi: İstemci, sunucuya e-posta içeriğini gönderir. E-posta başlığı (gönderen, alıcı, konu) ve e-posta gövdesi komutlar ile sunucuya iletilir. E-posta istemcisi MAIL FROM, RCPT TO ve DATA komutları ile veriyi sunucuya aktarır.
  3. Sunucudan Sunucuya Transfer: E-posta, Mail Transfer Agent (MTA) tarafından alındıktan sonra, alıcının posta sunucusuna ulaşmak için birden fazla sunucuya iletilebilir. Sunucudan sunucuya, SMTP yine devreye girer ve e-posta, hedef sunucuya transfer edilir. Yani, SMTP yalnızca istemci ile sunucu arasındaki iletişimi değil, aynı zamanda sunucular arasında e-postaların iletilmesini de sağlar. Her bir sunucu, alıcı adresine uygun doğru hedef sunucuyu belirlemek için DNS sorguları yaparak, doğru hedefe yönlendirme işlemini gerçekleştirir.
  4. Mail Delivery (E-posta Teslimi): E-posta, alıcı posta sunucusuna ulaştığında, Mail Delivery Agent (MDA) tarafından alıcının posta kutusuna yerleştirilir. Bu aşamadan sonra, alıcı e-postayı IMAP veya POP protokolleri aracılığıyla alır ve okur.
  5. Bağlantının Kapanması: E-posta gönderimi tamamlandıktan sonra istemci, QUIT komutu ile bağlantıyı sonlandırır.

SMTP Portları

  1. Port 25:
    • Geleneksel SMTP portudur. Eskiden e-posta iletimi için yaygın olarak kullanılıyordu, ancak günümüzde genellikle spam e-posta engelleme ve güvenlik sorunları nedeniyle çoğu servis sağlayıcı tarafından kısıtlanmıştır.
    • Genelde e-posta sunucuları arasındaki iletişim için kullanılır.
  2. Port 587:
    • Modern SMTP portu olarak kabul edilir ve şifreli bağlantı (STARTTLS) kullanarak güvenli e-posta iletimi sağlar.
    • E-posta istemcileri ve sunucuları arasındaki bağlantılar için önerilen porttur.
    • Bu port, kullanıcıların kimlik doğrulaması yaparak e-posta göndermelerine olanak tanır.
  3. Port 465:
    • SMTP üzerinden SSL/TLS şifrelemesi ile güvenli bağlantı sağlamak için kullanılır.

SMTP Komutları

SMTP, e-posta verisini doğru bir şekilde iletmek için çeşitli komutlar kullanır. Bu komutlar, e-posta istemcisi ile sunucu arasında düzgün bir iletişimi sağlar. Temel SMTP komutları şunlardır:

  • HELO/EHLO: SMTP iletişimini başlatır. HELO, temel bir selam gönderirken; EHLO, sunucunun desteklediği gelişmiş özellikleri (örneğin TLS, kimlik doğrulama) etkinleştirir.
  • MAIL FROM: E-postayı gönderen kişinin adresini belirtir ve bu adresi sunucuya tanıtır.
  • RCPT TO: E-postanın gönderileceği alıcıları tanımlar. Birden fazla alıcı varsa, her biri için bu komut ayrı ayrı gönderilir.
  • DATA: E-posta içeriğini (başlıklar ve mesaj) sunucuya iletmek için kullanılır. İletim, bir nokta (.) ile tamamlanır.
  • RSET: E-posta işlemini sıfırlar ve devam etmek için bağlantıyı açık tutar.
  • QUIT: Sunucu ile olan bağlantıyı düzgün bir şekilde sonlandırır.

SMTP vs. IMAP ve POP

SMTP, sadece e-posta gönderimi ve iletimi için kullanılır. E-postaların son kullanıcıya ulaşmasını sağlamak için IMAP ve POP gibi protokoller kullanılır:

  • IMAP: E-postalar sunucuda saklanır ve farklı cihazlarda senkronize edilir. Kullanıcılar, birden fazla cihaz üzerinden e-postaları okuyabilir ve organize edebilir. IMAP, e-posta yönetimi ve senkronizasyonu sağlar.
    • Port 143: Şifresiz bağlantı için kullanılır.
    • Port 993: SSL/TLS ile güvenli bağlantı için kullanılır.
  • POP: E-postalar, sunucudan indirildikten sonra yerel cihazda saklanır. Bu protokol, e-postaları çevrimdışı okuma imkanı sunar ancak cihazlar arasında senkronizasyon yapmaz.
    • Port 110: Şifresiz bağlantı için kullanılır.
    • Port 995: SSL/TLS ile güvenli bağlantı için kullanılır.

Yaygın SMTP Hataları

SMTP sürecinde bazı hatalar meydana gelebilir. İşte yaygın SMTP hataları:

  • 550 Hatası: Alıcının posta kutusu kullanılabilir değil veya sunucu, mesajı iletmeyi reddediyor.
  • 554 Hatası: Mesaj, spam olarak işaretlendiği için reddedildi.
  • 421 Hatası: Alıcı sunucu geçici olarak kullanılamıyor.
  • 500 Hatası: Komut hatalı bir sözdizimine sahip.
  • 502 Hatası: Komut sunucuda uygulanabilir değil.
  • 503 Hatası: Komut sırası hatalı.
  • 552 Hatası: Alıcının posta kutusu dolu.

SMTP ve E-posta Güvenliği

SMTP, e-posta güvenliği açısından zayıf bir protokoldür. Gönderen doğrulama mekanizmalarının olmaması, saldırganların gönderen adreslerini kolayca taklit ederek sahtecilik (spoofing) ve phishing (oltalama) saldırıları gerçekleştirmelerine olanak tanır.


Ancak, günümüzde bu zayıflıkları gidermek için güçlü güvenlik standartları geliştirilmiştir:

  • SPF (Sender Policy Framework): Gönderilen e-postaların yalnızca yetkili sunucular tarafından gönderildiğini doğrular.
  • DKIM (DomainKeys Identified Mail): Mesajların bütünlüğünü korur ve gönderenin kimliğini dijital imzalarla doğrular.
  • DMARC (Domain-based Message Authentication, Reporting, and Conformance): SPF ve DKIM’in birlikte çalışmasını sağlar, politikalar tanımlar ve raporlarla şüpheli aktiviteleri bildirir.

Bu standartlar, e-posta sahteciliği ve phishing saldırılarına karşı etkili bir savunma mekanizması oluşturarak e-posta güvenliğini önemli ölçüde artırmıştır.