Accéder au contenu principal

Maildir

Maildir


Le format de courrier électronique Maildir est un moyen courant de stocker des messages électroniques dans lequel chaque message est stocké dans un fichier séparé avec un nom unique, et chaque dossier de courrier est un répertoire de système de fichiers. Le système de fichiers local gère le verrouillage des fichiers lorsque les messages sont ajoutés, déplacés et supprimés. L'un des principaux objectifs de conception de Maildir est d'éliminer le besoin de code de programme pour gérer le verrouillage et le déverrouillage des fichiers.[1]


Structure interne


Contenu
1 Spécifications
1.1 Maildir++
2 Exploitation technique
3 Problèmes de compatibilité du système de fichiers
4 Logiciels prenant directement en charge Maildir
4.1 Serveurs de messagerie
4.2 Agents de livraison
4.3 Lecteurs de messagerie
5 Notes et références
6 Voir aussi
7 Liens externes
Caractéristiques
Un répertoire Maildir (souvent nommé Maildir) comporte généralement trois sous-répertoires nommés tmp, new et cur.

Le sous-répertoire tmp stocke temporairement les messages électroniques en cours de livraison. Ce sous-répertoire peut également stocker d'autres types de fichiers temporaires. Le nouveau sous-répertoire stocke les messages qui ont été distribués, mais qui n'ont encore été vus par aucune application de messagerie. Le sous-répertoire cur stocke les messages qui ont déjà été vus par les applications de messagerie.[2]

Maildir++

Sam Varshavchik, l'auteur du Courier Mail Server et d'autres logiciels, a écrit une extension[2][3] au format Maildir appelée Maildir++ pour prendre en charge les sous-dossiers et les quotas de courrier. Les répertoires Maildir++ contiennent des sous-répertoires dont les noms commencent par un '.' (point) qui sont également des dossiers Maildir++. Cette extension est conforme à la spécification Maildir, qui prévoit explicitement la possibilité d'ajouter plus que tmp, new, cur à un maildir.

Exploitation technique

Un agent de distribution de courrier est un programme qui délivre un message électronique dans un Maildir. L'agent de distribution de courrier crée un nouveau fichier avec un nom de fichier unique dans le répertoire tmp.[4][5][2] L'algorithme original vers 1995 pour générer des noms de fichiers uniques, tel qu'implémenté par qmail[1] était :

lire l'heure Unix actuelle
lire l'identificateur de processus actuel (PID)
lire le nom d'hôte actuel
concaténer les trois valeurs ci-dessus dans une chaîne séparée par le caractère point ; c'est le nouveau nom de fichier
si stat() signale que le nom de fichier existe, alors attendez deux secondes
aller à l'étape précédente jusqu'à ce que le nom de fichier n'existe pas
créer un fichier avec le nom de fichier unique et écrire le contenu du message dans le nouveau fichier
En 2000, l'auteur de qmail recommandait d'ajouter la valeur d'un compteur par processus au PID, dont la valeur devrait être incrémentée après chaque livraison, et la suggestion de limitation du débit avait été abandonnée.[4]

En 2003, les recommandations avaient encore été modifiées pour exiger qu'au lieu du PID et du compteur, la partie médiane du nom de fichier soit créée en « concaténant suffisamment des chaînes suivantes pour garantir l'unicité », même face à plusieurs livraisons simultanées au même maildir d'un ou plusieurs processus :[6]

#n, où n est (en hexadécimal) la sortie de l'appel système unix_sequencenumber() du système d'exploitation, qui renvoie un nombre qui augmente de 1 à chaque fois qu'il est appelé, à partir de 0 après le redémarrage.
Xn, où n est (en hexadécimal) la sortie de l'appel système unix_bootnumber() du système d'exploitation, qui indique le nombre de fois que le système a été démarré. Avec #, cela garantit l'unicité ; malheureusement, la plupart des systèmes d'exploitation ne prennent pas en charge unix_sequencenumber() et unix_bootnumber().
Rn, où n est (en hexadécimal) la sortie de l'appel système unix_cryptorandomnumber() du système d'exploitation ou une source équivalente, telle que /dev/urandom. Malheureusement, certains systèmes d'exploitation n'incluent pas de générateurs de nombres aléatoires cryptographiques.
In, où n est (en hexadécimal) le numéro d'inode UNIX de ce fichier. Malheureusement, les numéros d'inode ne sont pas toujours disponibles via NFS.
Vn, où n est (en hexadécimal) le numéro de périphérique UNIX de ce fichier. Malheureusement, les numéros de périphérique ne sont pas toujours disponibles via NFS. (Les numéros de périphérique ne sont pas non plus utiles avec le système de fichiers UNIX standard : un maildir doit se trouver dans un seul périphérique UNIX pour que link() et rename() fonctionnent.)
Mn, où n est (en décimal) le compteur de microsecondes du même gettimeofday() utilisé pour la partie gauche du nom unique.
Pn, où n est (en décimal) l'ID du processus.
Qn, où n est (en décimal) le nombre de livraisons effectuées par ce processus.
Cet algorithme a été critiqué en 2006 par Timo Sirainen, le créateur de Dovecot, comme étant inutilement complexe.[7]

En novembre 2018, l'auteur de qmail, Daniel Bernstein, n'avait apporté aucune autre modification à ces recommandations de génération de noms de fichiers.[8] Sur les systèmes POSIX modernes, les fichiers temporaires peuvent être créés en toute sécurité avec la fonction de bibliothèque mkstemp C.

Le processus de livraison stocke le message dans le maildir en créant et en écrivant dans tmp/uniquefilename, puis en déplaçant ce fichier vers new/uniquefilename. Le déplacement peut être effectué en utilisant le renommage, qui est atomique dans de nombreux systèmes.[9] Alternativement, cela peut être fait en liant en dur le fichier à nouveau, puis en dissociant le f

Commentaires

Posts les plus consultés de ce blog

What is Internet Marketing? What are the main tools of Web Marketing?

Web marketing is essential in the life of your business. Indeed, it is now difficult to break through and grow your business without Webmarketing. Is this a hype or a digital advertisement? Webmarketing: definition and process Webmarketing can be defined with a very simple sentence: Use the Internet to make yourself known, and/or develop your business. But we can also go a little deeper, and say that it is all the marketing and advertising techniques used in an Internet environment inspired by methods specific to traditional marketing with specificities linked to technological advances. In short, it is simply a modern, digital or even current version of traditional marketing using the modern communication channel that is “Internet”: email, social networks, online videos… How to do it ? By improving the visibility of your site, your page as much as possible, while establishing a relationship with its visitors, Internet users (setting up interactions), by also creating a registration for

Meilleurs cours de marketing par e-mail

 Lorsque vous possédez une entreprise dans le monde d'aujourd'hui, vous devez porter de nombreux chapeaux différents. Bien sûr, il est important de se concentrer sur votre entreprise et sur les résultats, mais cela signifie apprendre les tenants et les aboutissants de choses comme le marketing, la conception et l'écriture. En matière de marketing par e-mail, il n'est pas toujours facile de déterminer ce que vous pouvez faire pour développer votre entreprise et accroître sa visibilité. Le marketing par e-mail peut sembler déroutant au début, mais il existe des cours de marketing par e-mail qui peuvent tout simplifier pour vous. Vous n'avez pas besoin de maîtriser le marketing ou la conception par e-mail, mais apprendre certains des principes de base peut vous aider à devenir un meilleur propriétaire de socitée. Si vous envisagez de suivre un cours de marketing par e-mail, voici quelques-unes de vos meilleures options. Prêt à essayer ce qui nous a rendu célèbre ? Crée

Qu'est-ce qu'une stratégie web numérique ?

  Stratégie web numérique Les organisations utilisent une stratégie web numérique pour maximiser les avantages commerciaux du contenu web sur tous les canaux numériques.  Qu'est-ce qu'une stratégie web numérique ? Une stratégie web numérique fait référence au plan à court terme qu'une entreprise met en œuvre pour améliorer différents éléments tels que les engagements, les conversions et les revenus sur les canaux numériques. Parfois aussi appelée stratégie web ou stratégie de marketing en ligne, les entreprises utilisent les stratégies web numériques pour établir une feuille de route pour les équipes interfonctionnelles, notamment l'informatique, les opérations et les unités commerciales en contact avec la clientèle, comme le marketing, les ventes et les services à la clientèle.  Les organisations peuvent confier à leur DSI la gestion de la stratégie web numérique ou affecter une ressource dédiée, appelée Chief Digital Officer (CDO), à la responsabilité de toutes les in