(Courriels de diversion: <transi@ranches-forestiers.com> <constitutionnellement@souhaiterez-instruira.com> <grisonnante@reinstallerai-haschich.com> <offrirez@entamerais-localiserons.com> <avoisinerai@meteorites-contrerez.com> <demarquez@rajeuniront-surmenais.com> <portail@barbet-charriee.com> <balisera@humilier-saussaies.com> <urbaniserez@creche-intimions.com> <liquidais@encriers-peseras.com> )


Le 12-12-2005, Nicolas Figaro <pookicat@gmail.com> a écrit :> On 12/12/05, Olivier Rossel <culte@lolive.net> wrote:>> Je veux me faire un petit flux RSS qui liste les derniers mails
>> arrives dans ma boite aux lettres.
>>
>> Pour ca, rien ne vaut un petit script qui se lance depuis le
>> $HOME/.qmail.
>>
>> Je voudrais parser le mail entrant pour en extraire les champs From,
>> Subject et le contenu.
> en fait, ces champs sont optionnels dans un message, et donc tu ne les
> rencontreras pas systématiquement. (essaies avec un "telnet
> serveur_smtp 25", et tu verras qu'après MAIL FROM et RCPT TO il n'y a
> rien d'imposé).

D'un autre côté, rare sont les serveurs qui ne rajoutent pas les champs
From et Subject s'ils n'ont pas été précisés. Mais il est vrai qu'il
vaut mieux prévoir leur absence dans le codage.

>> Tout cela est simple pour des mails simples (texte), mais pour des
>> mails HTML, c'est un peu plus touchy.
> si tu le dis
>>
>> Qq'un connait un script ou des outils pour extraire des champs d'un
>> mail (facile)?
>> Voire extraire la version texte du contenu d'un mail HTML (--facile)?
> perl peut aider dans ce genre de cas.
>
> tu peux aussi regarder du côté de procmail (www.procmail.org).

Je pense que procmail est bien adapté pour extraire certaines parties
d'un mail ou jouer sur les conditions. Resque que son fichier de
configuration est assez abscons, mais n'hésite pas à demander des
conseils ou des exemples.

Pour extraire le contenu d'un mail html, il faut tout d'abord
- l'identifier comme étant en html,
- définir s'il est en html pur ou si une des pièces jointes est en html,
- extraire le contenu du mail ou de la pièce jointe (procmail, munpack),
- décoder le html (links -dump ou unhtml),
- remplacer la partie html du mail par le texte brut obtenu.

Sans gérer le html en pièce jointe ou en multipart, ça peut se faire
assez facilement avec procmail, links et d'autres outils comme formail.

-- 
 BuSab

--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>