OVH Cloud OVH Cloud

Format des fichiers spools /var/mail/

17 réponses
Avatar
Vincent Hiribarren
Bonjour,

cet article est plublié sur les deux forums fr.comp.mail.* car il
concerne un peu les deux forums, avec suivi sur fr.comp.mail qui me
semble plus... divers.

Voilà, j'ai besoin d'implanter l'accès aux fichiers spools de courrier
électronique de système unix (lecture+écriture). Ayant un peu fouillé
j'ai vu que normalement c'est le format "mbox" qui est utilisé.

Cependant voilà, j'ai fait un test avec postfix et mutt, et je n'ai
pas vraiment les résultats décrits par le format :

- Normalement, un "From_" doit être échappé en
">From_". Effectivement, cependant mutt n'a pas fait de transcodage
arrière, de sorte que le ">" reste à la lecture.
- Normalement, un ">From_" doit être transcodé en ">>From_". Moi je
veux bien, mais sauf si j'ai foiré mon test, il n'y a pas eu de
transcodage et j'ai toujours ">From_".

Bref, ca me semble bien imprécis tout ca. C'est pas critique puisque
la ligne vraiment critique "From_" est échappée pour éviter une
mauvaise lecture du spool, mais c'est imprécis, je n'ai pas les
comportements attendus concernant le format mbox.

Donc... comme je pense que je risque d'avoir des résultats différents
avec d'autres clients, voire d'autres serveurs, je souhaiterai avoir
des avis ou un lien sur la meilleure manière d'implanter ca. Ce que
les "bons" serveurs et "bons" clients implantent pour que je me calque
sur ce que eux font, sans avoir à tester tous les logiciels
existants.

Notamment, faut-il transcoder un >{n}From_ en >{n+1}From_ ou pas ?

Merci d'avance.

--
Un peu d'aléa dans ce monde de fatalité.
http://www.alea.net/usenet/

7 réponses

1 2
Avatar
Vincent Hiribarren
Solignac writes:

Normalement la rfc qui décrit le smtp stipule qu'aucune modification ne
doit être apportée au message (en dehors de quelques trucs bien
spécifiés).


Les messages ne sont pas stoqués localement "en smtp".


Je ne vois pas le rapport avec la modification du From en >From, désolé.


Ce n'est pas le protocole SMTP qui fait qu'il y a le changement du
From en ">From", mais le stockage en local dans le spool par des
serveurs de courriers unix, donc la RFC est bien respectée :-)

--
Un peu d'aléa dans ce monde de fatalité.
http://www.alea.net/usenet/



Avatar
Vincent Hiribarren
Solignac writes:

Ah désolé :) Ça s'appelle un mauvais compromis. Je n'en sais pas beaucoup
plus, demande à Eric Allman (auteur de Sendmail si je ne m'abuse). Je crois
qu'il y a un auteur d'un livre sur sendmail sur ce forum, il en sait
peut-être plus.


Je n'ai pas vraiment l'habitude de contacter les dinos pour ce genre
de chose, mais comme ca m'intrigue, peut-être bien que je le ferai.

Ce genre de feature ne se retrouve pas
avec Postfix (test sommaire, j'en conviens).


Hum ? Je me suis rendu compte du problème justement
en utilisant Postfix. Postfix avec lecture par Mutt.


Ben pas chez moi c'est curieux
[...]

Tu es sûr qu'il n'y a pas autre chose que postfix dans ta chaîne de mail?


Plus que certain.
C'est "From " (avec un espace, comme "-- " (tiret-tiret-espace )) qui
est transcodé, et pas "From".

--
Un peu d'aléa dans ce monde de fatalité.
http://www.alea.net/usenet/



Avatar
Solignac
Vincent Hiribarren wrote:

Hum ? Je me suis rendu compte du problème justement
en utilisant Postfix. Postfix avec lecture par Mutt.


Ben pas chez moi c'est curieux
[...]

Tu es sûr qu'il n'y a pas autre chose que postfix dans ta chaîne de mail?


Plus que certain.
C'est "From " (avec un espace, comme "-- " (tiret-tiret-espace )) qui
est transcodé, et pas "From".


Nouveau test avec "From the beginning":

postfix local -> free -> pas de changement
smtp wanadoo -> comptefree -> "From" -> " From" (ajout d'un caractère 'espace'
en tête de ligne)

Bref, pas d'idée...


--
EMACS: Energetic Merchants Always Cultivate Sales



Avatar
Vincent Hiribarren
Solignac writes:

postfix local -> free -> pas de changement
smtp wanadoo -> comptefree -> "From" -> " From" (ajout d'un caractère 'espace'


Oui mais non. Je ne sais pas comment Free stocke ca, si ca se trouve
c'est une procédure différente du fichier spool. Je les vois mal créer
un compte unix pour chaque utilisateur avec un fichier spool associé,
maintenant je ne connais pas grand chose à la gestion à grande échelle
de comptes mails.

Fait : envoie sur le postfix local vers un compte local,
directement. Puis regarde le fichier spool. Si ca ne marche pas non
plus c'est que j'ai des visions, ou que postfix a une option pour
activer ca ou pas (ce qui serait dangeureux car alors le spool ne
serait pas standardisé et il serait utilisé n'importe comment par les
clients et serveurs).

--
Un peu d'aléa dans ce monde de fatalité.
http://www.alea.net/usenet/

Avatar
Olivier Beyssac
Vincent Hiribarren writes:

Oui mais non. Je ne sais pas comment Free stocke ca, si ca se trouve
c'est une procédure différente du fichier spool.


En l'occurrence, c'est du Maildir.

--
Olivier Beyssac -

Avatar
Solignac
Vincent Hiribarren wrote:

Fait : envoie sur le postfix local vers un compte local, directement.


Hum déjà fait, mais je vois d'où ça vient, ça ne reste pas dans le spool
mais c'est placé dans du Maildir via procmail.

Pire que tout, c'est documenté: mbox(5)

<<<<<
A postmark line consists of the four characters "From", followed by a
space charac ter, followed by the message's envelope sender address,
followed by whitespace, and followed by a time stamp. The sender
address is expected to be an addrspec as defined in appendix D of RFC
822.

[...]

In order to avoid mis-interpretation of lines in message bodies which
begin with the four characters "From", followed by a space character,
the character ">" is commonly prepended in front of such lines.







Ok les neuneus découvrent le monde. Je me demande si les autres programmes
qui utilisent des mbox-like ont les mêmes inconvénients; je crois qu'Eudora
insère ses propres balises entre chaque mail, en plus d'avoir un fichier
d'index pour des raisons de performances.

(le spool ne serait pas standardisé et il serait utilisé n'importe comment
par les clients et serveurs).


Ce genre d'excuse (bien que valable) a mené à bien des âneries. Il vaut
mieux corriger un bug plutôt que de laisser les autres se débrouiller pour
l'outre-passer (hein, le caractère 't' en début de ligne des Makefiles(s)).

bye

--
EMACS: Experience the Mildest Ad Campaign ever Seen





Avatar
Laurent Wacrenier
Vincent Hiribarren écrit:
Ce n'est pas le protocole SMTP qui fait qu'il y a le changement du
From en ">From", mais le stockage en local dans le spool par des
serveurs de courriers unix, donc la RFC est bien respectée :-)


Dans la boîte aux lettre, pas dans le spool (enfin, peut-être dans le
spool, chaque implémentation est libre de stoquer les données dont
elle a besoin à sa façon).

1 2