|
|
|
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.
|
|
Boîte de courriers archivés pour
utilisateur, dans son répertoire
racine.
|
|
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
|
Ce document a été
écrit par Thomas Roessler
<roessler@does-not-exist.org>.
|
TRADUCTION
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.
|
|
mbox(5) |
|
|