mbox är det generiska namnet för de filformat som används för att lagra e-postmeddelanden. Alla meddelanden i en brevlåda i mbox-format finns i en textfil. Början av e-postmeddelandet definieras av en sträng på 5 tecken: ordet "Från" följt av ett mellanslag. Det finns en tom rad i slutet av varje meddelande.
Mbox-formatet är fortfarande populärt idag på grund av dess enkla användning med ordbehandlingsprogram.
Till skillnad från Internetprotokollen som används för meddelanden introducerades inte formatet för lagring av elektroniska meddelanden genom RFC, utan skapades av utvecklare av e-postprogram.
I mbox ( RFC 4155 ) lagras meddelanden i filer som är direkt åtkomliga för användare i det ursprungliga Internet Message-formatet ( RFC 2822 ). Samma som den andra formen av MH Message Handling System -brevlådor . Andra system, som Microsoft Exchange Server och Cyrus IMAP Server, lagrar postlådor i centraliserade databaser som underhålls av e-postsystemet och inte är direkt tillgängliga för användarna.
Ett alternativ till mbox kallas ofta för e- postlagringsformatet maildir .
Det finns fyra inkompatibla mbox-format: mboxo , mboxrd , mboxcl och mboxcl2 , som kommer från olika versioner av Unix . Namnschemat utvecklades av Daniel J. Bernstein, Rahul Dhesi och andra 1996. mboxcl och mboxcl2 kommer från filformatet som används av Unix System V Release 4 -utskick. mboxrd utvecklades av Rahul Dhesi et al. som en förbättring av mboxo , och anpassades därefter för användning av vissa Unix-utskickare, inklusive qmail (orig.: " och sedan antagits av vissa Unix-e-postverktyg inklusive qmail").
mboxo och mboxrd bestämmer början av ett nytt meddelande med en rad som börjar med ordet From, som kan finnas både i huvudet på e-postmeddelandet och i dess brödtext (ett gammalt fel i e-poststandarden, kanske fortfarande är relevant) (original : "ett standardbrott för e-post för det förra, men troligt för det senare"). Innan de lagras i en mbox-brevlåda måste rader i meddelandets brödtext som börjar med ordet "Från" föregås av ett "större än"-tecken:
> Ur min synvinkel..., vilket i mbox-formatet kan leda till meddelandekorruption: om tecknet "större än" redan finns i början av raden före "Från", lämnas det oförändrat. Senare, när du läser e-post, tar programmet av misstag bort det första ">"-tecknet. Mboxrd - formatet löser detta problem genom att ersätta Från med >Från och >Från med >>Från. En sådan omvandling är alltid reversibel. [ett]
Exempel:
Från MAILER-DAEMON fre 8 jul 12:08:34 2011 Från: författare <author@example.com> Till: Mottagare <recipient@example.com> Ämne : Exempelmeddelande 1 Det här är kroppen. >Från (bör undkomma). Det finns 3 rader. Från MAILER-DAEMON fre 8 juli 2011 kl. 12:08:34 Från: Författare <author@example.com> Till: Mottagare <recipient@example.com> Ämne: Exempelmeddelande 2 Detta är den andra kroppen.Formaten mboxcl och mboxcl2 använder rubriken " " för att bestämma längden på meddelandet och hitta de "riktiga" FrånContent-Length: -fälten . mboxcl använder fortfarande ">" för att fly från, mboxcl2 gör det inte.
Vissa program använder mbox- modifieringar för sina behov .
Mbox-varianterna använder olika, inkompatibla fillåsningsmekanismer : fcntl(), lockf(), "dot locking". Detta är opålitligt när du använder nätverksfilsystem som NFS .
Fillåsning är nödvändig eftersom många meddelanden lagras i en fil, som kan skadas om flera program försöker skriva samtidigt. Detta kan hända om e-postleveransprogrammet lägger till nya meddelanden samtidigt som e-postläsaren tar bort det gamla meddelandet.
Det rekommenderas att blockera mbox-filer även för enkel e-postläsning. Annars kan du se ett skadat meddelande om en annan process ändrar filen samtidigt.