mbox
Section: Manuel de l'utilisateur (5) Updated: Août 2000 Index
NOM
DESCRIPTION
VERROUILLAGE
FICHIERS
VOIR AUSSI
AUTEUR
TRADUCTION
HISTORIQUE
NOM
mbox - Format d'enregistrement de courrier électronique.
DESCRIPTION
Ce document décrit le format traditionnellement utilisé par les
machines Unix pour stocker localement la messagerie électronique.
Les fichiers
mbox
résident généralement dans le spoule de messagerie du système,
dans les répertoires
Mail
des utilisateurs sous différents noms, et dans les répertoires
racines des utilisateurs sous le nom
mbox.
Une boîte
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).
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 censée être au format
addrspec
décrit en annexe D de la RFC 822.
La date doit être formatée suivant la syntaxe suivante (proposée
dans le formalisme étendu de Backus-Naur utilisé par la RFC 822) :
| 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 )
|
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.
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".
Exemple :
-
From roessler@does-not-exist.org Fri Jun 23 02:56:55 2000
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.
VERROUILLAGE
Parce que les fichiers
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.
Trois types différents de mécanismes de verrouillage (et leurs
combinaisons) sont utilisés en général :
- *
-
le verrouillage avec
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ée si les fichiers
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.
- *
-
le verrouillage
flock(2)
est principalement utilisé sur les systèmes basés sur BSD.
- *
-
le verrouillage "dotlocking" est utilisé sur tous les types
de système. Pour verrouiller un fichier
mbox
nommé
folder,
une application crée en premier lieu un fichier temporaire
avec un nom unique dans le répertoire où se trouve le fichier
folder.
L'application essaye alors d'utiliser l'appel système
link(2)
pour créer un lien physique (hard link) nommé
folder.lock
vers le fichier temporaire. Le succès de l'appel système
link(2)
devrait être également vérifié en utilisant des appels
stat(2).
Si la création du lien a réussi, la boîte de courrier est
considérée comme verrouillée ("dotlocked"). Le fichier temporaire peut
alors être libéré sans crainte.
-
Pour relâcher le verrou, l'application a juste à libérer le fichier
folder.lock.
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
fcntl(2)
et
flock(2)
afin d'éviter des inter-blocages.
Si plusieurs méthodes sont combinées, un fichier
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.
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
mbox.
Ne pas suivre cette préconisation peut entraîner des pertes de
données de messagerie et la corruption de fichiers
mbox.
FICHIERS
- /var/spool/mail/utilisateur
-
Boîte de courrier entrant pour utilisateur.
- ~utilisateur/mbox
-
Boîte de courriers archivés pour utilisateur, dans son répertoire
racine.
- ~utilisateur/Mail/
-
Sous-répertoire du répertoire racine de utilisateur, qui est souvent
utilisé pour stocker les boîtes de courrier au format
mbox.
VOIR AUSSI
elm(1),
fcntl(2),
flock(2),
link(2),
local(8),
mail(1),
maildir(5),
mail.local(8),
mutt(1),
mutt_dotlock(1),
pine(1),
procmail(1),
sendmail(8)
D. Crocker, Standard for the format of ARPA Internet text messages,
RFC 822
M. R. Horton, UUCP mail interchange format standard, RFC 976
AUTEUR
TRADUCTION
Benoît Friry, 2002
HISTORIQUE
Le format
mbox
est apparu dans la version 6 de AT&T Unix.
Une variante de ce format a été décrite dans la RFC 976.
|