Çok Amaçlı İnternet Posta Uzantıları Protokolü
Çok Amaçlı İnternet Posta Uzantıları (MIME), e-posta formatını şu destekleri ekleyerek genişleten bir internet standardıdır:
- US-ASCII dışındaki karakter setlerinde metin;
- metin olmayan ekler;
- çok parçalı mesaj gövdeleri; ve
- ASCII olmayan karakter setlerindeki başlık bilgileri.
SMTP yalnızca 7 bit ASCII karakterlerini destekler, bu da etkili olarak yalnızca az sayıda dili desteklediği anlamına gelir. Latin alfabesini temel alan diller SMTP’de sorunsuzdur; diğer diller e-posta teslim edildiğinde doğru görüntülenmez. Ancak MIME, SMTP’nin ASCII karakter desteğini genişleterek diğer karakter setleri, resimler ve seslerin gönderilmesini ve görüntülenmesini sağlar. Genel olarak, tüm e-posta istemcileri ve SMTP sunucuları MIME formatındaki mesajları doğru bir şekilde eşler.
MIME Başlıklarını Anlamak
MIME başlıkları protokol hakkında bilgi içerir.
MIME-Version
Bu, mesajın MIME biçiminde olduğunu gösterir. Şöyle görünür:
MIME-Version: 1.0
Content-Type
Bu, mesajın içerik tipini, tip ve alt tip çifti olarak gösterir: örneğin text/plain, text/html. Çok parçalı içerik tipi, metin, HTML, ekler, görüntüler, ses, video vb. içerebilir.
Content-Type: multipart
Content-Transfer-Encoding
İçerik tipinde belirtilen kodlamanın üzerine bir ikili‑metin kodlama şeması kullanılıp kullanılmadığını gösterir. Kullanılıyorsa, hangi şemanın kullanıldığını belirtir. Burada 7-bit, 8-bit ve binary kodlama tiplerini belirtebiliriz.
Encoded-Word
SMTP mesaj başlıkları genellikle ASCII karakterleri kullanır. ASCII olmayan karakterler, gerçek bir dize yerine MIME kodlu kelime sözdizimini kullanmalıdır. Format şu şekildedir:
"=? charset ? encoding ? encoded text ?=".
Çok Parçalı Mesajlar
Bir MIME çok parçalı mesaj, içerik tipi başlığında bir sınır (boundary) içerir. Bu sınır, hiçbir parçada yer almamalıdır ve parçalar arasında, mesaj gövdesinin başında ve sonunda aşağıdaki gibi konumlandırılır:
MIME-version: 1.0
Content-type: multipart/mixed; boundary="frontier"
This is a multi-part message in MIME format.
--frontier
Content-type: text/plain
This is the body of the message.
--frontier
Content-type: application/octet-stream
Content-transfer-encoding: base64
PGh0bWw+CiAgPGhlYWQ+CiAgPC9oZWFkPgogIDxib2R5PgogICAgPHA+VGhpcyBpcyB0aGUg
Ym9keSBvZiB0aGUgbWVzc2FnZS48L3A+CiAgPC9ib2R5Pgo8L2h0bWw+Cg==
--frontier--
Her bir parça kendi içerik başlığına ve gövdesine sahiptir.
Çok Parçalı Alt Tipler
MIME standardı, çeşitli çok parçalı mesaj alt tiplerini tanımlar. Alt tip, genel mesajın "Content-Type" başlığında belirtilir.
Aşağıda en yaygın kullanılan alt tiplerin bir listesi bulunmaktadır.
- Mixed: Multipart/mixed, farklı "Content-Type" başlıklarına sahip dosyaları satır içinde göndermek için kullanılır. Resim veya kolay okunabilir dosyalar gönderiliyorsa, çoğu e-posta istemcisi bunları satır içinde gösterir.
- Message: Bir mesaj parçası bir e-posta mesajı içerir.
- Digest: digest, birden fazla metin mesajı göndermenin basit bir yoludur. Her bir parçanın varsayılan içerik tipi "message/rfc822"‘dir.
- Alternative: Alternatif alt tip, her bir parçanın aynı (veya benzer) içeriğin "alternatif" bir sürümü olduğunu, farklı formatlarda ve "Content-Type" başlığıyla belirtildiğini gösterir.
En yaygın olarak multipart/alternative, iki bölümü olan e-postalar için kullanılır; bir düz metin (text/plain) ve bir HTML (text/html). Düz metin bölümü geriye dönük uyumluluk sağlarken, HTML bölümü biçimlendirme ve köprülerin kullanılmasına olanak tanır. Çoğu e-posta istemcisi, kullanıcıya HTML yerine düz metni tercih etme seçeneği sunar; bu, yerel faktörlerin bir uygulamanın mesajın "en iyi" kısmını nasıl göstereceğini etkileyebileceğine bir örnektir.