2.2. Eklenti Modeli

2.2.1. Arkaplan

1990'da başlayıp, RFC 821'in tamamlanmasından sonraki 10 yılın çalışmalarıyla protokol bir "hizmet ekleri" modeliyle değişikliğe uğratıldı. Bu model istemci ve sunucuya özgün SMTP gereksinimlerinin ötesinde, paylaşımlı işlevsellikten yararlanmayı kabul etmeye izin vermektedir. SMTP eklenti mekanizması eklentili SMTP istemcisi ve sunucusunun birbirlerini tanıyabilecekleri ve sunucunun desteklediği hizmet eklentileri hakkında istemciyi bilgilendirebileceği bir yapı tanımlar.

Çağdaş SMTP gerçeklenimlerinin temel eklenti mekanizmalarını desteklemesi gerekir *ZORUNLU*. Örneğin, herhangi bir özel eklenti gerçeklemeseler bile, sunucuların EHLO komutunu desteklemeleri ve istemcilerin de ayrıcalıklı olarak HELO komutundan ziyade EHLO komutundan yararlanmaları gerekir *ZORUNLU*. (Bununla birlikte, eski gerçeklenimlerle uyumluluk açısından SMTP istemcilerinin ve sunucularının bir son çare olarak HELO mekanizmasını da desteklemesi gerekir *ZORUNLU*.) HELO komutunun farklı karakteristikleri birlikte çalışabilirlik amacıyla betimlenmiş olmadıkça, bu belgede sadece EHLO komutundan bahsediliyor olunacaktır.

SMTP'nin geniş çapta uygulanmış ve yüksek kaliteli gerçeklenimlerinin çok sağlam olacağı ortaya çıkmıştır. Yine de, Genel Ağ topluluğu bazı hizmetlerin şimdilerde, protokol ilk tasarlandığında umulmayan bir öneme kavuştuğunu düşünmektedir. Eğer bu hizmetler için destek eklenecek olursa, bunun eski gerçeklenimlerin çalışmaya devam etmesine izin verecek bir yolla yapılması gerekir. Eklentilerle ilgili şöyle bir çerçeve çizilebilir:

  • Eski SMTP komutu HELO'nun yerini EHLO komutunun alması,
  • SMTP hizmet eklentilerinin bir kaydının tutulması,
  • SMTP MAIL ve RCPT komutlarına ek bağımsız değişkenler ve
  • ASCII olmayan [33] aktarımlardaki DATA komutundaki gibi bu protokolde tanımlanmış komutlar için isteğe bağlı değişiklikler.

SMTP’nin gücü, öncelikle basitliğinden gelmektedir. Protokollerle ilgili deneyimler, az seçenekli protokollerin her yerde hazır ve nazır olurken, çok seçenekli protokollerin pek ortalıkta görünmediklerini ortaya koymuştur.

Getirilerine bakmaksızın her eklenti gerek gerçeklenim gerek konuşlanım gerekse birlikte çalışabilirlik maliyetleri bakımından ayrı ayrı dikkatle irdelenmelidir. Çoğu durumda, SMTP hizmetinin eklentilerle genişletilmesinin maliyeti beklenen yarardan ağır olmaktadır.

2.2.2. Eklentilerin Tanımlanması ve Kayda Geçirilmesi

IANA, SMTP hizmet eklentilerinin bir kaydını tutar. Her eklenti uygun bir EHLO anahtar sözcük değeri ile ilişkilendirilir. IANA ile kayda geçirilmiş her hizmet eklentisi biçimsel olarak standartlaşma aşamalarında bulunan bir protokol belgesinde ya da IESG onaylı bir deneysel protokol belgesinde tanımlanmış olmalıdır. Bu tanım şunları içermelidir:

  • SMTP hizmet eklentisinin açık ismi;
  • eklenti ile ilişkili EHLO anahtar sözcük değeri;
  • EHLO anahtar sözcük değeri ile ilişkili bağımsız değişkenlerin sözdizimi ve tek tek olası değerleri;
  • eklenti ile ilgili ilave SMTP fiilleri (ilave fiiller genelde olur, ama olması gerekli değildir, tıpkı EHLO anahtar sözcük değeri gibi);
  • MAIL veya RCPT fiilleri ile ilişkili eklentilerin tek tek yeni bağımsız değişkenleri;
  • bir sunucu ve istemci SMTP'nin davranışını etkileyen bu eklentinin nasıl destekleneceğinin bir açıklaması; ve
  • MAIL ve/veya RCPT komutlarının azami uzunluğunu arttıran eklentinin bu standartta belirtilene ne kadar daha artış getirdiği.

Ek olarak, büyük veya küçük harf olarak bir "X" ile başlayan herhangi bir EHLO anahtar sözcük değeri, özellikle iki taraflı uzlaşma üzerinden kullanılan yerel bir SMTP eklentisi belirtir. "X" ile başlayan anahtar sözcükler kayıtlı bir hizmet eklentisinde kullanılmamalıdır *ZORUNLU*. Aksine, EHLO yanıtlarında sunulmuş anahtar sözcük değerlerinden "X" ile başlamayanların standart, standart adayı, standart aday adayı veya IESG onaylı deneysel bir protokolle tanımlanmış ve IANA ile kayda geçirilmiş bir SMTP hizmet eklentisine karşılık olması gerekir *ZORUNLU*. Uyumlu bir sunucunun, "X" ile başlamayan ve kayıtlı bir eklentide açıklanmamış bir anahtar sözcük değeri sunmaması gerekir *ZORUNLU*.

Ek fiiller ve bağımsız değişken isimleri EHLO anahtar sözcüğüne uygulanan kurallara tabidir; özellikle, "X" ile başlayan fiiller yerel eklentilerden olup kayıtlı veya standartlaştırılmış olamaz. Ancak, "X" ile başlamayan fiillerin daima kayda geçirilmiş olmaları gerekir.