IMAP

Bilgi işlemde, İnternet Mesaj Erişim Protokolü ( IMAP ), e-posta istemcileri tarafından bir TCP/IP bağlantısı üzerinden bir posta sunucusundan e-posta mesajları almak için kullanılan bir İnternet standart protokolüdür .  IMAP, RFC 9051 tarafından tanımlanır .

IMAP, bir e-posta kutusunun birden çok e-posta istemcisi tarafından tam olarak yönetilmesine izin vermek amacıyla tasarlanmıştır , bu nedenle istemciler genellikle, kullanıcı bunları açıkça silene kadar iletileri sunucuda bırakır. Bir IMAP sunucusu genellikle 143 numaralı bağlantı noktasını dinler . SSL/TLS üzerinden IMAP'ye ( IMAPS ) 993 numaralı bağlantı noktası atanır.

Neredeyse tüm modern e-posta istemcileri ve sunucuları , önceki POP3 (Postane Protokolü) ile birlikte e-posta alımı için en yaygın iki standart protokol olan IMAP'yi destekler .  Gmail ve Outlook.com gibi birçok web posta hizmeti sağlayıcısı , hem IMAP hem de POP3 için destek sağlar.

IMAP4 olarak de bilinen IMAP, yerel kullanıcıların uzaktaki bir e-posta sunucusuna erişmesini sağlayan bir uygulama katmanı protokolüdür. En son sürümü IMAP sürüm 4 Revizyon 1 (IMAP4rev1) olup, RFC 3501'de tanımlanmıştır. IMAP4 TCP 143. portu kullanarak çalışır.

İnternet İleti Erişim Protokolü, bir e-posta istemcisinin uzak posta sunucusundaki e-postaya erişmesine izin veren bir uygulama katmanı İnternet protokolüdür . Geçerli sürüm, RFC 9051 tarafından tanımlanır . Bir IMAP sunucusu genellikle iyi bilinen 143 numaralı bağlantı noktasını dinlerken SSL/TLS üzerinden IMAP (IMAPS) 993 kullanır.

Gelen e-posta mesajları, mesajları alıcının e-posta kutusunda saklayan bir e-posta sunucusuna gönderilir. Kullanıcı, çeşitli e-posta alma protokollerinden birini kullanan bir e-posta istemcisiyle iletileri alır. Bazı istemciler ve sunucular tercihen satıcıya özgü, tescilli protokolleri kullanırken ,  neredeyse tamamı e-posta almak için POP ve IMAP'yi destekler ; istemcilerin diğer sunucularla birlikte kullanılmasına izin verir .

IMAP kullanan e-posta istemcileri genellikle iletileri, kullanıcı açıkça silene kadar sunucuda bırakır. IMAP işleminin bu ve diğer özellikleri, birden çok istemcinin aynı posta kutusunu yönetmesine izin verir. Çoğu e-posta istemcisi, mesajları almak için Postane Protokolüne (POP) ek olarak IMAP'yi destekler .  IMAP, posta deposuna erişim sunar. İstemciler mesajların yerel kopyalarını saklayabilir, ancak bunlar geçici bir önbellek olarak kabul edilir.

IMAP, 1986 yılında Mark Crispin tarafından , bir posta kutusunun içeriğini basitçe almak için kullanılan bir protokol olan yaygın olarak kullanılan POP'un aksine, bir uzaktan erişim posta kutusu protokolü olarak tasarlanmıştır .

Orijinal geçici protokol spesifikasyonunun veya yazılımının hiçbir kopyası mevcut değildir.  Bazı komutları ve yanıtları IMAP2'ye benzer olsa da, geçici protokolde komut/yanıt etiketlemesi yoktu ve bu nedenle sözdizimi diğer tüm IMAP sürümleriyle uyumsuzdu.

Geçici protokolün yerini, RFC 1064'te (1988'de) tanımlanan ve daha sonra RFC 1176' da (1990'da) güncellenen Etkileşimli Posta Erişim Protokolü (IMAP2) aldı. IMAP2, komut/yanıt etiketlemeyi tanıttı ve halka açık ilk sürüm oldu.

IMAP3, son derece nadir bir IMAP çeşididir.  1991'de RFC 1203 olarak yayınlandı. Kendisi IMAP2'de değişiklikler öneren RFC 1176' ya karşı bir öneri olarak özel olarak yazılmıştı .  IMAP3, pazar yeri tarafından hiçbir zaman kabul edilmedi.  IESG , 1993 yılında RFC1203 "Etkileşimli Posta Erişim Protokolü - Sürüm 3"ü Tarihi protokol olarak yeniden sınıflandırdı. IMAP Çalışma Grubu, başlangıç ​​noktası olarak RFC 1203 (IMAP3) yerine RFC 1176 (IMAP2) kullandı.

MIME'nin gelişiyle , IMAP2, MIME gövde yapılarını desteklemek ve IMAP2'de bulunmayan posta kutusu yönetim işlevselliğini (oluşturma, silme, yeniden adlandırma, mesaj yükleme) eklemek için genişletildi. Bu deneysel revizyona IMAP2bis adı verildi; spesifikasyonu hiçbir zaman taslak olmayan biçimde yayınlanmadı. Ekim 1993'te IETF IMAP Çalışma Grubu tarafından bir IMAP2bis internet taslağı yayınlandı. Bu taslak şu önceki spesifikasyonlara dayanıyordu: yayınlanmamış IMAP2bis.TXT belgesi, RFC 1176 ve RFC 1064 (IMAP2).  IMAP2bis.TXT taslağı , Aralık 1992 itibarıyla IMAP2 uzantılarının durumunu belgelemiştir.  Pine, IMAP2bis desteğiyle geniş çapta dağıtıldı  (Pine 4.00 ve sonrası, IMAP4rev1'i destekler).

1990'ların başında IETF içinde oluşturulan bir IMAP Çalışma Grubu, IMAP2bis tasarımının sorumluluğunu üstlendi. IMAP ÇG, karışıklığı önlemek için IMAP2bis'i IMAP4 olarak yeniden adlandırmaya karar verdi.

Genel kullanımda, bir kullanıcının e-posta istemcisini (Outlook, Apple Mail, Outlook Express, Mozilla Thunderbird; Hotmail ve Gmail web arabirimleri vb.) kullanarak yolladığı e-posta mesajları, önce kullanıcının oturum açtığı e-posta sunucusu tarafından kabul edilir ve genellikle SMTP kullanarak alıcının posta kutusunu içinde barındıran başka bir e-posta sunucusuna gönderilir. Bu aşamada alıcının göndericinin mesajlarına ulaşabilmesi için bunu e-posta istemcisi ile çekmesi gereklidir. Fakat SMTP tek yönlü bir protokoldür (sadece gidiş). Kullanıcının isteği üzerine posta kutunuzda bulunan e-posta mesajının istemcinize inmesini sağlayamaz. Bu aşamada yapılandırmaya bağlı olarak POP3 veya IMAP devreye girerek ilgili mesajın oturum açmış ve talep etmiş istemciye çekilmesi sağlanır.

IMAP ve POP3 kullanımı arasındaki temel fark IMAP ile e-posta sunucusuna bağlantı kurulduğunda, posta kutusunda birikmiş e-postaların sadece başlık bilgilerini istemciye getirilir. POP3 ise bütün mesajları istemciye çeker.

Genel prensip olarak kullanıcı ve e-posta sayısının çokluğuyla doğru orantılı olarak kullanılır. Uygulamada web postası kullanan neredeyse bütün sunucularda IMAP protokolü kullanılır.

Bir e-posta sunucusuna POP3 ile bağlanıldığında bütün yeni mesajlar istemciye çekilir ve bağlantı kapatılır. IMAP kullanıldığında oturum açıldıktan sonra bağlantı sadece istek olduğu durumlarda açık kalır (Bir mesajın açılması ve içeriğinin görüntülenmesi gibi...).

Neredeyse bütün e-posta mesajları MIME (Multipurpose Internet Mail Extensions-Çok işlevli Internet Posta Uzantıları) formatında gönderilir. Bir e-posta yazı bölümü, ekli dosya bölümü gibi bölümlere ayrılır. IMAP bu bölümleri birbirinden bağımsız olarak çekebilir. Örnek: Mesajı açmadan mesaj ekindeki bir dosyayı bilgisayarınıza kopyalamak.

POP kullanırken, istemciler genellikle e-posta sunucusuna kısa süreliğine, yalnızca yeni iletileri indirmek için gereken süre kadar bağlanır. IMAP4 kullanırken, istemciler genellikle kullanıcı arabirimi etkin olduğu sürece bağlı kalır ve talep üzerine mesaj içeriğini indirir. Çok sayıda veya büyük iletisi olan kullanıcılar için, bu IMAP4 kullanım modeli daha hızlı yanıt süreleriyle sonuçlanabilir.

Başarılı kimlik doğrulamasından sonra, POP protokolü, posta kutusunun mevcut durumunun tamamen statik bir görünümünü sağlar ve oturum sırasında durumdaki herhangi bir harici değişikliği gösterecek bir mekanizma sağlamaz. Buna karşılık, IMAP protokolü dinamik bir görünüm sağlar ve yeni gelen mesajlar dahil olmak üzere durumdaki harici değişikliklerin yanı sıra aynı anda bağlı diğer istemciler tarafından posta kutusunda yapılan değişikliklerin algılanmasını ve komutlar arasında uygun yanıtların gönderilmesini gerektirir. IDLE komutu sırasında , RFC 2177'de açıklandığı gibi . Ayrıca , özellikle "birden fazla aracı tarafından aynı posta kutusuna eşzamanlı erişim"den söz eden RFC 3501 bölüm 5.2'ye bakın.

Genellikle tüm İnternet e-postaları MIME formatında iletilir ve bu, mesajların yaprak düğümlerin çeşitli tek parça içerik türlerinden herhangi biri olduğu ve yaprak olmayan düğümlerin çeşitli çok parçalı türlerden herhangi biri olduğu bir ağaç yapısına sahip olmasına izin verir . IMAP4 protokolü, istemcilerin ayrı ayrı MIME parçalarından herhangi birini ayrı ayrı almalarına ve ayrıca tek tek bölümlerin veya tüm mesajın bölümlerini almalarına olanak tanır. Bu mekanizmalar, istemcilerin ekli dosyaları almadan bir iletinin metin bölümünü almalarına veya getirilirken içeriği akışa almalarına olanak tanır.

IMAP4 protokolünde tanımlanan bayrakların kullanımıyla, istemciler mesajın durumunu takip edebilir: örneğin, mesajın okunup okunmadığı, cevaplanmadığı veya silinmediği. Bu bayraklar sunucuda saklanır, böylece aynı posta kutusuna farklı zamanlarda erişen farklı istemciler, diğer istemciler tarafından yapılan durum değişikliklerini algılayabilir. POP, istemciler için bu tür durum bilgilerini sunucuda depolamak için bir mekanizma sağlamaz; bu nedenle, tek bir kullanıcı iki farklı POP istemcisiyle (farklı zamanlarda) bir posta kutusuna erişirse, durum bilgileri (bir iletiye erişilip erişilmediği gibi) arasında senkronize edilemez. müşteriler. IMAP4 protokolü, hem önceden tanımlanmış sistem bayraklarını hem de istemci tanımlı anahtar sözcükleri destekler. Sistem bayrakları, bir mesajın okunup okunmadığı gibi durum bilgilerini gösterir. Tüm IMAP sunucuları tarafından desteklenmeyen anahtar kelimeler,anlamı müşteriye bağlı olan etiketler . IMAP anahtar sözcükleri , bazen karşılık gelen özel sunucular tarafından IMAP klasörlerine çevrilen web tabanlı e-posta hizmetlerinin özel etiketleriyle karıştırılmamalıdır .

IMAP4, bir istemcinin sunucudan çeşitli ölçütleri karşılayan iletileri aramasını isteme mekanizması sağlar. Bu mekanizma, istemcilerin bu aramaları gerçekleştirmek için posta kutusundaki her iletiyi indirmesini gerektirmez.

Daha önceki İnternet protokollerinin deneyimini yansıtan IMAP4, genişletilebileceği açık bir mekanizma tanımlar. Temel protokol için birçok IMAP4 uzantısı önerilmiştir ve bunlar ortak kullanımdadır. IMAP2bis'in bir uzantı mekanizması yoktu ve POP'un artık RFC 2449 tarafından tanımlanan bir mekanizması var .

IMAP IDLE, posta sunucusunun bağlı istemcilere, örneğin yeni bir posta geldiğinden dolayı bir posta kutusunda değişiklik olduğunu bildirmesi için bir yol sağlar. POP karşılaştırılabilir bir özellik sağlamaz ve e-posta istemcilerinin yeni posta olup olmadığını kontrol etmek için periyodik olarak POP sunucusuna bağlanması gerekir.

IMAP4 istemcileri, sunucuda posta kutuları (genellikle kullanıcıya klasörler olarak sunulur) oluşturabilir, yeniden adlandırabilir ve silebilir ve posta kutuları arasında iletileri kopyalayabilir. Birden çok posta kutusu desteği, sunucuların paylaşılan ve ortak klasörlere erişim sağlamasına da olanak tanır. Erişim haklarını düzenlemek için IMAP4 Erişim Kontrol Listesi (ACL) Uzantısı ( RFC 4314 ) kullanılabilir.

IMAP kendi içinde bulunan işaretleme (flag) sistemi ile bir mesajın pek çok halini görüntüleyebilir (okundu, okunmadı, silindi, … kişiye cevaplandı vb.). Bu bilgiler sunucu üzerinde saklandığı için aynı anda birden çok kullanıcının bağlı olduğu bir posta kutusunda, kullanıcılar mesaj durumu hakkında başkasının yaptığı değişiklikleri görüntüleyebilirler.

IMAP kullanıcılara özel posta kutusu yaratılmasına izin verir (Genellikle kullanıcılara klasör olarak gösterilir.). Kullanıcılara mesajlarını değişik kutular arasında taşıma hakkı tanınabilir. Bunun yanında paylaşılan posta kutuları da yaratılabilinir.

IMAP4 istemcilerin çeşitli kıstaslara göre sunucu üzerinde mesaj araması yaptırmasına ve sadece bu mesajların görüntülenmesine izin verir. POP3 ise mesajları bütün olarak çeker, arama istemci tarafında yapılır.

İstemci ile sunucu arasındaki IMAP bağlantılarını kriptografik olarak korumak için, SSL/TLS kullanan TCP bağlantı noktası 993'teki IMAPS kullanılabilir.  Ocak 2018 itibarıyla önerilen mekanizma TLS'dir.

Gönderilen mesajlar iki kere işlenir. İlk olarak istemciden sunucuya SMTP yoluyla, ikinci olarak da mesajın "Gönderilen Öğeler"e işlenmesi amacıyla posta kutusuna IMAP4 protokolüyle geri yollanır.