Mbox - Mbox

Mbox ilgili bir aile için genel bir terimdir dosya formatları koleksiyonlarını tutmak için kullanılır e-posta mesajlar, ilk olarak uygulandı Beşinci Baskı Unix.

Bir mbox posta kutusundaki tüm mesajlar birleştirilir ve tek bir dosyada düz metin olarak saklanır. Her mesaj "Kimden" dört karakterle başlar ve ardından bir boşluk ("Kimden_ satırı" olarak adlandırılır) ve gönderenin e-posta adresi gelir.RFC 4155 bunu tanımlar UTC zaman damgası başka bir ayırıcı boşluk karakterinin ardından gelir.

E-posta alışverişi için kullanılan İnternet protokollerinden farklı olarak, e-postanın depolanması için kullanılan format hiçbir zaman resmi olarak RFC standardizasyon mekanizması ve tamamen bir e-posta istemcisinin geliştiricisine bırakılmıştır. POSIX standart, ile birlikte gevşek bir çerçeve tanımladı mailx son olarak 2005 yılında, application / mbox ortam türü şu şekilde standartlaştırıldı: RFC 4155 ve mbox'ın posta kutusu mesajlarını orijinal İnternet Mesajlarında (RFC 2822 ) format, kullanılan satırsonu karakteri, yedi bitlik temiz veri depolama ve her yeni eklenen mesajın mbox veritabanı içinde tamamen boş bir satırla sonlandırılması gerekliliği dışında.

Mbox'a benzer bir biçim, MH Mesaj İşleme Sistemi. Gibi diğer sistemler Microsoft Exchange Sunucusu ve Cyrus IMAP sunucu posta kutularını, posta sistemi tarafından yönetilen ve bireysel kullanıcılar tarafından doğrudan erişilemeyen merkezi veritabanlarında depolar. maildir posta kutusu biçimi, genellikle mbox ağ e-posta depolama sistemleri için format.

Aile

Mbox biçimi, iletileri sınırlandırmak için tek bir boş satır ve ardından "Kimden" (boşluklu) dizesini kullanır; bir mesaj mesaj metninde aynı sırayı içeriyorsa bu belirsizlikler yaratabilir.

Takip eden on yıllar boyunca, dört popüler ancak uyumsuz varyant ortaya çıktı: mboxo, mboxrd, mboxcl, ve mboxcl2. Adlandırma şeması, Daniel J. Bernstein, Rahul Dhesi ve diğerleri, 1996'da. Her biri, Unix. mboxcl ve mboxcl2 Unix System V Release 4 posta araçları tarafından kullanılan dosya biçiminden kaynaklanmaktadır. mboxrd Rahul Dhesi ve arkadaşları tarafından icat edildi. rasyonalizasyon olarak mboxo ve daha sonra bazı Unix posta araçları tarafından benimsenmiştir: qmail.

Tüm bu varyantlar, aşağıda gösterildiği gibi belirsizlikleri gidermek için mesaj içeriğinin değiştirilmesi sorununa sahiptir, böylece uygulamaların doğru geri dönüşü gerçekleştirmek için hangi alıntı kuralının kullanıldığını bilmesi gerekir. pratik değil. MIME ve "From_" satırlarını standart uyumlu bir şekilde tırnak içine alan bir içerik aktarım kodlamasının seçilmesi, mesaj içeriğinin değiştirilmesi gerekmediğini, yalnızca bunların MIME Bu nedenle, sağlama toplamları sabit kalır, bu da destek için gerekli bir önkoşuldur. S / MIME ve Oldukça iyi Gizlilik Yeni mesajlar oluşturan ve bunları mbox veritabanı dosyalarında depolayan uygulamalar, mesaj içeriğini veritabanı depolama biçiminden ayırmak için büyük olasılıkla bu yaklaşımı kullanacaktır.

mboxo ve mboxrd mesajı tarayarak bulun Nereden e-posta mesajı başlıklarından önce bulunan satırlar. Eğer bir "Nereden"dize, bir iletinin üstbilgisinde veya gövdesinde bir satırın başında yer alır (birincisi için bir posta standardı ihlali, ancak ikincisi için değil), e-posta iletisi, ileti bir klasörde saklanmadan önce değiştirilmelidir. mbox posta kutusu dosyası veya satır, mesaj sınırı olarak alınacaktır. a "Nereden"yeni bir e-postanın başlangıcı olarak e-posta gövdesindeki satırın başındaki dize, bazı sistemler "From-munge"[1]mesajın başına genellikle büyüktür işareti ekleyerek:

   > Benim açımdan ...

İçinde mboxo biçim, bu tür satırlar geri çevrilemez bir belirsizliğe sahiptir.[2]İçinde mboxo format, bu mesajın bozulmasına yol açabilir. Bir satır zaten içeriyorsa > Kimden Başlangıçta (bir alıntıda olduğu gibi), yazıldığında değişmez. Daha sonra posta yazılımı tarafından okunduğunda, önde gelen > yanlışlıkla kaldırılır. mboxrd format bunu dönüştürerek çözer Nereden -e > Kimden ve dönüştürme > Kimden -e >> Kimden, vb. Dönüşüm bu durumda her zaman tersine çevrilebilir.[3]

Misal:

MAILER-DAEMON'dan Cum 8 Temmuz 12:08:34 2011Kimden:Yazar<[email protected]>Kime:Alıcı<[email protected]>Konu:Örneklemİleti1Bu vücut.> Kimden (kaçınılmalıdır).3 satır var.MAILER-DAEMON'dan Cum 8 Temmuz 12:08:34 2011Kimden:Yazar<[email protected]>Kime:Alıcı<[email protected]>Konu:Örneklemİleti2Bu ikinci beden.

mboxcl ve mboxcl2 biçimler bir İçerik Uzunluğu: Mesajların uzunluklarını belirlemek için başlık ve dolayısıyla bir sonraki satırdan gerçek. mboxcl hala alıntılar Hatlardan mesajların kendisinde mboxrd yapar mboxcl2 değil.

Mbox değiştirildi

Biraz e-posta istemcileri posta klasörleri için mbox biçiminde bir değişiklik kullanır.

  • Eudora kullandı mboxo gönderenin e-posta adresinin "??? @ ???" sabit dizesiyle değiştirildiği varyasyon. Çoğu mbox istemcisi, gelen iletileri alındığı gibi saklar. Eudora, mesaja gömülü ekleri ayırarak ekleri ayrı ayrı dosyalar olarak tek bir klasörde saklar.[4]
  • Mozilla e-posta istemcileri ailesi (Mozilla, Netscape, Thunderbird, ve diğerleri) bir mboxrd daha karmaşık varyasyon Satırdan alıntı kuralları.[5]

Dosya kilitleme

Mesajı etkinleştirmek için farklı mbox formatları tarafından çeşitli karşılıklı uyumsuz mekanizmalar kullanılmıştır. dosya kilitleme, dahil olmak üzere fcntl () ve lockf ()Bu, ağa bağlı dosya sistemlerinde iyi çalışmaz. Ağ Dosya Sistemi (NFS) Bu nedenle, geleneksel olarak Unix, NFS üzerinden bile atomik olarak oluşturulabilen ek "nokta kilitli" dosyalar kullanıyordu.

Tek bir dosyada birden fazla ileti saklandığından, iki veya daha fazla işlemin aynı anda posta kutusunu değiştirmesinden kaynaklanabilecek bozulmayı önlemek için bir tür dosya kilitleme gerekir. Bir ağ e-posta dağıtım programı, bir posta okuyucusu mevcut bir mesajı silerken aynı anda yeni bir mesaj teslim ederse bu durum meydana gelebilir.

Mbox dosyaları okunurken de kilitlenmelidir. Aksi takdirde okuyucu, başka bir işlem aynı anda mbox'ı değiştiriyorsa, gerçek bir dosya bozulması olmamasına rağmen bozuk mesaj içeriklerini görebilir.

Yama biçimi olarak

İçinde açık kaynak geliştirme, göndermek yaygındır yamalar içinde fark biçimlendirmek mail listesi tartışma için. Diff formatı, mbox verileri gibi alakasız "başlıkların" eklenmesine izin verir.[6][7] Sürüm kontrol sistemleri sevmek git mbox biçimli yamalar oluşturma ve bunları bir iş parçacığında e-posta olarak listeye gönderme desteği var.[8][9]

Ayrıca bakınız

Referanslar

  1. ^ RFC 3676 "Metin / Düz Biçim ve DelSp Parametreleri". Bölüm 4.4: Space-Stuffing. 2004.
  2. ^ "Netscape Mail'i Unix'te Yapılandırma: İçerik Uzunluğu Biçimi Neden Kötü?" Jamie Zawinski 1997 tarafından
  3. ^ de Boyne Pollard, Jonathan (2004). ""mbox "birbiriyle uyumsuz birkaç posta kutusu biçimi ailesidir". Sık Verilen Cevaplar.
  4. ^ "Eudora 6.2.4 Mac Kullanıcı Kılavuzu" (PDF). s. 113. Arşivlenen orijinal (PDF) 2014-07-12 tarihinde. Alındı 2015-10-29.
  5. ^ "Postanızı içe ve dışa aktarma"
  6. ^ "Yamaları göndermek: kodunuzu çekirdeğe almak için temel kılavuz - Linux Kernel belgeleri". www.kernel.org.
  7. ^ Randal, Allison; Sugalski, Dan; Tötsch, Leopold (2003). "Yama gönderimi". Perl 6 Temelleri. O'Reilly Media, Inc. s.14. ISBN  978-0-596-00499-6.
  8. ^ "Git - git-format-patch Belgeleri". git-scm.com.
  9. ^ "Git - git-send-email Belgeleri". git-scm.com.

daha fazla okuma