'\" t .\" -*-nroff-*- .\" .\" .\" Copyright (C) 2000 Thomas Roessler .\" .\" This document is in the public domain and may be distributed and .\" changed arbitrarily. .\" .\" Traduction 07/08/2002 par Benoît Friry .TH mbox 5 "Août 2000" Unix "Manuel de l'utilisateur" .SH NOM .PP mbox \- Format d'enregistrement de courrier électronique. .SH DESCRIPTION .PP Ce document décrit le format traditionnellement utilisé par les machines Unix pour stocker localement la messagerie électronique. Les fichiers .B mbox résident généralement dans le spoule de messagerie du système, dans les répertoires .B Mail des utilisateurs sous différents noms, et dans les répertoires racines des utilisateurs sous le nom .B mbox\fR. . .PP Une boîte .B mbox est un fichier texte contenant un nombre arbitraire de courriers électroniques. Chaque message consiste en un cachet, suivi par un message formaté selon la RFC 822. Le format du fichier est de type "orienté-ligne". Les lignes sont séparées par des caractères de fin de ligne (line-feed, ASCII 10). .PP Une ligne de cachet est constituée en séquence des quatre caractères "From", un caractère espace, l'adresse de l'émetteur de l'enveloppe du message, un caractère espace, et d'une indication temporelle (time-stamp). L'adresse de l'émetteur est sensé être au format .B addrspec décrit en annexe D de la RFC 822. .PP La date doit être formatée suivant la syntaxe suivante (proposée dans le formalisme étendu de Backus-Naur utilisé par la RFC 822)\ : .PP .TS lll. mbox-date = weekday month day time [ timezone ] year weekday = "Mon" / "Tue" / "Wed" / "Thu" / "Fri" / "Sat" / "Sun" month = "Jan" / "Feb" / "Mar" / "Apr" / "May" / "Jun" / "Jul" / "Aug" / "Sep" / "Oct" / "Nov" / "Dec" day = 1*2DIGIT time = 1*2DIGIT ":" 1*2DIGIT [ ":" 1*2DIGIT ] timezone = ( "+" / "-" ) 4DIGIT year = ( 4DIGIT / 2DIGIT ) .TE .PP Pour des raisons de compatibilité avec les logiciels existants, les années codées sur deux chiffres supérieures ou égales à 70 devraient être interprétées comme les années suivant 1970, et les années codées sur deux chiffres inférieures à 70 devraient être interprétées comme les années comprises entre 2000 et 2069. .PP Les logiciels exploitant les fichiers de ce format doivent aussi prévoir des informations de zone horaire non numériques, comme "CET DST" pour "Central European Time, Dailight Saving Time". .PP Exemple\ : .IP "" 1 From roessler@does-not-exist.org Fri Jun 23 02:56:55 2000 .PP Afin d'éviter des erreurs d'interprétation pour des lignes du corps du message qui commenceraient par les quatre caractères "From" suivis par un caractère espace, le caractère ">" et habituellement ajouté au début de telles lignes. .SH VERROUILLAGE .PP Parce que les fichiers .B mbox sont régulièrement lus par plusieurs programmes en parallèle, ils ne devraient en général pas être accédés sans verrouillage. .PP Trois types différents de mécanismes de verrouillage (et leurs combinaisons) sont utilisés en général\ : .IP "\(bu" le verrouillage avec .BR fcntl (2) est principalement utilisé sur les systèmes compatibles POSIX récents. L'utilisation de cette méthode de verrouillage est en particulier indiqué si les fichiers .B mbox sont atteints à travers un système de fichiers déporté par NFS, puisque cela semble être la seule façon fiable d'invalider les caches des clients NFS. .IP "\(bu" le verrouillage .BR flock (2) est principalement utilisé sur les systèmes basés sur BSD. .IP "\(bu" le verrouillage "dotlocking" est utilisé sur tous les types de système. Pour verrouiller un fichier .B mbox nommé .IR folder , une application crée en premier lieu un fichier temporaire avec un nom unique dans le répertoire où se trouve le fichier .I folder\fR. L'application essaye alors d'utiliser l'appel système .BR link (2) pour créer un lien physique (hard link) nommé .IB folder .lock vers le fichier temporaire. Le succès de l'appel système .BR link (2) devrait être également vérifié en utilisant des appels .BR stat (2)\fR. Si la création du lien a réussi, la boîte de courrier est considéré comme verrouillée ("dotlocked"). Le fichier temporaire peut alors être libéré sans crainte. .IP "" Pour relâcher le verrou, l'application a juste à libérer le fichier .IB folder .lock\fR. .PP Si plusieurs méthodes sont combinées, les responsables de l'implémentation doivent s'assurer d'utiliser des variantes non bloquantes des appels systèmes .BR fcntl (2) et .BR flock (2) afin d'éviter des inter-blocages. .PP Si plusieurs méthodes sont combinées, un fichier .B mbox ne doit pas être considéré comme ayant été verrouillé avec succès avant que chaque verrou n'ait été obtenu. Si une des méthodes de verrouillage échoue, une application devrait libérer tous les verrous qu'il a acquis avec succès, et recommencer entièrement la procédure de verrouillage depuis le début, après avoir attendu un délai adéquat. .PP Le mécanisme de verrouillage utilisé sur un système donné est une affaire de politique locale, et devrait être utilisé de manière uniforme par toutes les applications installées sur le dit système qui accèdent aux fichiers .B mbox\fR. Ne pas suivre cette préconisation peut entraîner des pertes de données de messagerie et la corruption de fichiers .B mbox\fR. .SH FICHIERS .IP "/var/spool/mail/\fIutilisateur\fP" Boîte de courrier entrant pour \fIutilisateur\fP. .IP "~\fIutilisateur\fP/mbox" Boîte de courriers archivés pour \fIutilisateur\fP, dans son répertoire racine. .IP "~\fIutilisateur\fP/Mail/" Sous-répertoire du répertoire racine de \fIutilisateur\fP, qui est souvent utilisé pour stocker les boîtes de courrier au format .B mbox\fR. .SH VOIR AUSSI .PP .BR elm (1), .BR fcntl (2), .BR flock (2), .BR link (2), .BR local (8), .BR mail (1), .BR maildir (5), .BR mail.local (8), .BR mutt (1), .BR mutt_dotlock (1), .BR pine (1), .BR procmail (1), .BR sendmail (8) .PP D. Crocker, Standard for the format of ARPA Internet text messages, RFC 822 .PP M. R. Horton, UUCP mail interchange format standard, RFC 976 .SH AUTEUR .PP Ce document a été écrit par Thomas Roessler . .SH TRADUCTION Benoît Friry, 2002 .SH HISTORIQUE .PP Le format .B mbox est apparu dans la version 6 de AT&T Unix. .PP Une variante de ce format a été décrite dans la RFC 976.