tuteurs.ens.fr/internet/courrier/procmail.tml

580 lines
19 KiB
Text
Raw Normal View History

2002-12-16 07:21:00 +01:00
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
"tuteurs://DTD/tml.dtd">
<html>
<head>
<title>Procmail</title>
</head>
<body>
<h1>Filtrer son courrier <20>lectronique avec procmail</h1>
<h2><3E> quoi sert procmail&nbsp;?</h2>
<p>Procmail est un programme tr<74>s puissant qui sert <20> filtrer les
courriers <20>lectroniques. Gr<47>ce <20> lui, vous pouvez rediriger votre
mail, le trier ou encore vous prot<6F>ger contre le spam.
</p>
<p>
Pour donner des instructions <20> <code>procmail</code>, il vous faut
cr<EFBFBD>er un fichier nomm<6D> <code>.procmailrc</code> (dans le monde Unix,
les fichiers commen<65>ant par un point et terminant par <20><>rc<72><63> sont
souvent des fichiers de configuarion).
</p>
2002-12-16 07:21:00 +01:00
<div class="attention"><h1><img
src="&url.tuteurs;icones/panneau_attention.png" alt="/!\" />
Attention&nbsp;! <img src="&url.tuteurs;icones/panneau_attention.png"
alt="/!\" /></h1> Lisez bien l'<strong>int<6E>gralit<69></strong> de ce
tutorial, surtout les avertissement, avant d'installer un
<code>.procmailrc</code>. Procmail est un outil puissant et
dangereux. Vous risquez de perdre des courriers importants en
recopiant n'importe quoi <20> tort et <20> travers. Mieux vaut passer 5 min
2003-05-18 21:32:21 +02:00
de plus <20> lire tout plut<75>t que devoir dire coucou au SPI parce que vous
aurez perdu du courrier... </div>
<h2>Actualit<69><74>: virus par mail</h2>
<p>
Le <a href="&url.tuteurs;internet/virus.html">virus</a> Sobig.F, qui
s<EFBFBD>vit depuis la mi-ao<61>t 2003, est un ver qui se r<>pand en envoyant
massivement du courrier aux adresses trouv<75>es sur le disque dur de la
machine infect<63>e. Si vous lisez votre courrier uniquement depuis
clipper (ce que soit dans les salles <20>l<EFBFBD>ves ou en vous connectant <20>
distance sur clipper), vous ne courez aucun risque, seulement celui de
voir votre bo<62>te aux lettres pleine de spam... Sachez <20>galement que ce
virus a tr<74>s fortement perturb<72> le service du courrier <20> l'ENS pendant
une dizaine de jours...
</p>
<p>Les caract<63>ristiques du virus sont les suivantes<65>:
</p>
<ul>
2002-12-16 07:21:00 +01:00
<li> sujet<65>: "Re: Details", "Re: Approved", "Re: Re: My details",
"Re: Thank you!", "Re: That movie", "Re: Wicked screensaver", "Re:
Your application", "Thank you!", "Your details"</li>
<li> message lui-m<>me<6D>: "See the attached file for details", "Please
see the attached file for details"</li>
<li> attachement<6E>en <code>.pif</code></li>
</ul>
<p>
Pour le filtrer, la meilleure solution est d'utiliser
<code>procmail</code>. Il vous suffit d'ajouter <20> la suite de votre
fichier <code>.procmailrc</code> la r<>gle de filtrage suivante<74>:
</p>
<pre>
# Filtre de Sobig.F
:0
* ^Subject: (R[eE]: *)*(Approved|Thank you!|Wicked screensaver \
|Your application|Your details|My details|Details|That movie)$
{
:0 B
* See the attached file for details
/dev/null
}
</pre>
<p>
Si vous n'avez pas de <code>.procmailrc</code> sur votre comptez,
lisez ce qui suit pour vous en cr<63>er un<75>! N'h<>sitez pas <20> nous
contacter au moindre probl<62>me.
</p>
<h2>Ce que doit contenir un <code>.procmailrc</code></h2>
<p>
Commencez par cr<63>er un fichier nomm<6D> <code>.procmailrc</code> avec
votre <20>diteur pr<70>f<EFBFBD>r<EFBFBD>, puis copiez-collez les instructions qui suivent
(nous vous expliquons ci-dessous ce qu'elles veulent dire)<29>:
</p>
2002-12-16 07:21:00 +01:00
<pre>
PATH=/bin:/usr/bin
MAILDIR=$HOME/Mail
LOGFILE=$MAILDIR/procmail.log
SPAMBOX=spam
2002-12-16 07:21:00 +01:00
</pre>
<p>Explication ligne par ligne<6E>:</p>
2002-12-16 07:21:00 +01:00
<dl>
<dt><code>PATH=/bin:/usr/bin</code></dt>
<dd>On indique <20> procmail le chemin des programmes qu'il va
utiliser.</dd>
<dt><code>MAILDIR=$HOME/Mail</code></dt>
<dd>On indique <20> procmail o<> se trouve votre r<>pertoire de mail.</dd>
<dt><code>LOGFILE=$MAILDIR/procmail.log</code></dt>
<dd>On indique <20> procmail le nom d'un fichier o<> il mettra tous ses
rapports d'activit<69> et ses messages d'erreur (les <em>logs</em>). Les
logs sont pr<70>cieux pour faire des tests.</dd>
<dt><code>SPAMBOX=spam</code></dt>
<dd>Cette ligne cr<63>e une <20><>bo<62>te <20> spam<61><6D> (le r<>pertoire
<code>$HOME/mail/spam</code>) dans votre bo<62>te aux lettres. C'est l<>
que partiront les courriers suspects. Voire <a
href="#spambox">infra</a>.</dd>
2002-12-16 07:21:00 +01:00
</dl>
<p>
Ces instructions de d<>but sont la base pour faire marcher correctement
<code>procmail</code>, mais en soi, elles ne suffisent pas. Il vous
faudra sp<73>cifier, dans la suite du fichier, ce que vous voulez filtrer
<EFBFBD> l'aide de r<>gles de filtrage. C'est ce que nous vous expliquons
ci-dessous.
</p>
<div class="attention">Syntaxe<78>: les retours <20> la ligne sont
importants. Ne recopiez pas tout <20> la suite. Les lignes commen<65>ant par
# sont des commentaires. De mani<6E>re g<>n<EFBFBD>rale, ne prennez pas
d'initiative pour changer les recettes pr<70>sent<6E>es ici si vous ne savez
pas ce que vous faites.</div>
2002-12-16 07:21:00 +01:00
<h2>Comment <20>a marche&nbsp;?</h2>
<h3>Les r<>gles de filtrage</h3>
2002-12-16 07:21:00 +01:00
2003-05-18 21:32:21 +02:00
<p>Les <20><>recettes<65><73> (<em lang="en">recipes</em>) sont les <20>l<EFBFBD>ments de
2002-12-16 07:21:00 +01:00
base du <code>.procmailrc</code>. Leur principe est le suivant&nbsp;:
on commence par sp<73>cifier des conditions (une condition dit <20> procmail
ce qu'il doit regarder dans le courrier, par exemple l'adresse de
l'exp<78>diteur, ou encore le champ <20><>Sujet<65><74>) puis on indique l'action <20>
accomplir si les conditions sont remplies (par exemple, rediriger le
courrier, ou l'envoyer <20> la poubelle).</p>
<p>
Une recette a toujours le format suivant (le # introduit un
commentaire pour expliquer le code, vous n'avez pas <20> recopier la
partie apr<70>s le #)&nbsp;:</p>
<pre>
:0 [<a href="#flag">drapeau(x)</a>] [: [<a href="#lock">fichier verrou</a>] ]
# Les conditions commencent chacune par *
* condition(s)
2002-12-16 07:21:00 +01:00
action <20> accomplir
</pre>
<p>
Chaque recette s'ajoute dans le fichier <code>.procmailrc</code>, <20> la
suite du bloc de d<>but (voir <a href="#s2">ci-dessus</a>).
</p>
2002-12-16 07:21:00 +01:00
<h3>Expressions r<>guli<6C>res</h3>
<p>
Pour sp<73>cifier les conditions, on se sert d'expressions
2002-12-16 07:21:00 +01:00
r<EFBFBD>guli<EFBFBD>res. Une expression r<>guli<6C>re est une notation permettant de
d<EFBFBD>finir des sch<63>mas de recherche. Pour cela, on se sert de
m<EFBFBD>tacaract<EFBFBD>res, aussi appel<65>s jokers.
</p>
2002-12-16 07:21:00 +01:00
<table cellspacing="5" cellpadding="5" border="5">
<tr>
<th>Joker</th>
<th>Signification</th>
</tr><tr>
<td>^</td>
<td>D<>but de ligne</td>
</tr><tr>
<td>$</td>
<td>Fin de ligne</td>
</tr><tr>
<td>.</td>
<td>Un caract<63>re quelconque</td>
</tr><tr>
<td>[xy]</td>
<td>N'importe quel caract<63>re dans l'ensemble sp<73>cifi<66></td>
</tr><tr>
<td>[^xy]</td>
<td>N'importe quel caract<63>re hors de l'ensemble sp<73>cifi<66></td>
</tr><tr>
<td>foo|bar</td>
<td>foo ou bar</td>
</tr><tr>
<td>c*</td>
<td>Un nombre quelconque (m<>me 0) de r<>p<EFBFBD>titions du caract<63>re c</td>
</tr>
</table>
2003-05-18 21:32:21 +02:00
<p><br />Quelques exemples&nbsp;:</p>
2002-12-16 07:21:00 +01:00
<ul>
<li><code>^From:</code>&nbsp;: cette condition vise toutes les cha<68>nes
de caract<63>re <code>From:</code> au d<>but d'une ligne. On dirait une
en-t<>te de courrier <20>lectronique, non&nbsp;? :-)</li>
<li><code>^From:.*choupi.*</code>&nbsp;: cette condition vise toutes
les cha<68>nes de caract<63>re <code>From:</code> au d<>but d'une ligne,
suivies d'un ou plusieurs caract<63>res, puis de choupi, puis d'un ou
plusieurs autres caract<63>res. Cette fois, on a d<>fini l'ensemble des
mails provenant d'une adresse contenant l'expression choupi&nbsp;: de
cette fa<66>on, on vise tous les mails provenant de Choupi, votre
meilleur ami.</li>
<li><code>^(From|Cc|To).*choupi.*</code>&nbsp; cette fois, on vise
tous les mails qui viennent de Choupi, ceux o<> Choupi est en Cc:, et
ceux adress<73>s <20> Choupi.</li>
</ul>
<h3>Rediriger certains mails vers une autre adresse <20>lectronique</h3>
<h4>Redirection de base</h4>
<p>
Pour rediriger votre courrier <20>lectronique vers une autre adresse,
c'est simple. Ici, on redirige le courrier vers l'adresse
<code>toto@polenord.pn</code>. Il n'y pas de condition (cela concerne
tous les mails). Le point d'exclamation (!) sert <20> dire qu'il faut
faire une redirection. Ajoutez donc <20> votre <code>.procmailrc</code>
la r<>gle suivante<74>:</p>
2002-12-16 07:21:00 +01:00
<pre>
:0
! toto@polenord.pn
2002-12-16 07:21:00 +01:00
</pre>
<h4>Redirection avec conditions</h4>
<p>
Toujours plus fort, maintenant&nbsp;. Imaginons que vous soyiez un fan
de Scoubidou. Votre page web porte sur Scoubidou. Choupi (votre
2002-12-16 07:21:00 +01:00
meilleur ami, souvenez-vous), vous a aid<69> <20> le r<>aliser. Vous
souhaitez relayer les courriers qui vous arrivent et qui parlent de
Scoubidou <20> Choupi. Avec procmail, vous pouvez le faire.
</p>
2002-12-16 07:21:00 +01:00
<pre>:0
# Concern<72>s&nbsp;: tous les mails dont le sujet contient <20><>Scoubidou<6F><75>
* ^Subject:.*Scoubidou.*
# On forwarde <20> Choupi
! choupi@scoubidou-fan.com
2002-12-16 07:21:00 +01:00
</pre>
<p> Comme vous pourrez le constater, les conditions peuvent porter sur
tous les champs d'un courrier <20>lectronique&nbsp;: From, To, CC, Bcc,
etc.</p>
2003-05-18 21:32:21 +02:00
<p>Ajoutons que dans cet exemple, vous souhaiteriez sans doute vous
2002-12-16 07:21:00 +01:00
aussi lire les courriers <20><>Scoubidou.<2E><> Avec la recette ci-dessus, ces
courriers sont simplement reexp<78>di<64>s vers Choupi, et vous ne les avez
jamais dans votre bo<62>te aux lettres. Nous allors utiliser un <a
name="flag">drapeau</a> (<em lang="en">flag</em>) qui est une sorte
d'option, qui modifie le comportement standard de procmail. Il suffit
2003-05-18 21:32:21 +02:00
d'ajouter c apr<70>s le&nbsp;:0, ce qui demande <20> procmail de copier dans
le r<>pertoire de mail les courriers qui arrivent. L'exemple complet
est donc le suivant&nbsp;:</p>
2002-12-16 07:21:00 +01:00
<pre>
:0 c
# Concern<72>s&nbsp;: tous les mails dont le sujet contient <20><>Scoubidou<6F><75>
* ^Subject:.*Scoubidou.*
# On forwarde <20> Choupi
! choupi@scoubidou-fan.com
2002-12-16 07:21:00 +01:00
</pre>
<h3>Filtrer le spam</h3>
<p>
On appelle <20><>spam<61><6D> le courrier <20>lectronique envoy<6F> en masse, non
sollicit<EFBFBD>, g<>n<EFBFBD>ralement publicitaire. Un filtre tel que
<code>procmail</code> vous permet de lutter contre ce ph<70>nom<6F>ne, mais
il est plus efficace d'avoir une strat<61>gie d'ensemble combinant
logiciel anti-spam, filtre et pr<70>vention. R<>f<EFBFBD>rez-vous <20> notre <a
href="antispam.html">page anti-spam</a> pour en savoir plus.
</p>
2002-12-16 07:21:00 +01:00
<h4>Filtrer suivant le sujet</h4>
<p> La plupart des spams sont des mails provenant d'exp<78>diteurs bidons
et diff<66>rents <20> chaque fois, et qui ont pour point commun de vous
promettre de l'argent, de vous proposer du Viagra, des dipl<70>mes par
cher, et autres joyeuset<65>s. Procmail vous permet d'identifier plus ou
moins ces mails en fonction de leur sujet, et de les envoyer
directement <20> la poubelle. De m<>me, le filtrage par sujet permet de
filtrer les mails pyramidaux (cha<68>nes de l'amiti<74>, fausses alertes de
virus, etc.), que vous pouvez <20>tre amen<65> <20> recevoir plusieurs fois.
</p>
<p>
Dans l'exemple suivant, vous allez filtrer tous les mails dont le
sujet contient le mot <20><>Viagra<72><61> en les envoyant vers votre poubelle <20>
spam, <code>$HOME/mail/spam</code>. Voire <a href="#spambox">infra</a>
pour plus d'explication.
2002-12-16 07:21:00 +01:00
</p>
<pre>
:0
2003-03-31 20:12:46 +02:00
# Sont vis<69>s tous les mails dont le sujet contient Viagra
* ^Subject: .*Viagra.*
# Et on les envoie <20> la poubelle <20> spam
$SPAMBOX
2002-12-16 07:21:00 +01:00
</pre>
<h4>Filtrer suivant l'exp<78>diteur</h4>
<p> Dans d'autres cas, vous pouvez tr<74>s bien conna<6E>tre l'adresse
<EFBFBD>lectronique de ceux qui vous spamment. Ce peut <20>tre une liste de
diffusion <20> laquelle vous avez <20>t<EFBFBD> abonn<6E>, volontairement ou non, et <20>
laquelle les administrateurs de la liste ne vous d<>sabonnent pas. La
recette qu'il vous faut est la suivante&nbsp;: tous les courriers
provenant de l'adresse <code>spammeur@tagada.com</code> seront
impitoyablement envoy<6F>s dans votre bo<62>te <20> spam.</p>
2002-12-16 07:21:00 +01:00
<pre>
:0
* ^From: .*spammeur@tagada.com
$SPAMBOX
2002-12-16 07:21:00 +01:00
</pre>
2003-03-07 14:59:35 +01:00
<h4>Filtrer suivant l'encodage</h4>
<p>Vous recevez beaucoup de mails en provenance de Cor<6F>e, qui sont un
charabia illisible. Vous voudriez les filtrer. On rappelle que
procmail peut filtrer sur n'importe quel en-t<>te de message. Si vous
regardez les en-t<>tes d'un spam cor<6F>en (appuyez sur <code>H</code>,
que vous utilisiez mutt ou pine, pour y avoir acc<63>s), vous verrez un
champ appel<65> <code>Content-type</code>. Dans ce champ est d<>clar<61>
<code>charset="ks_c_5601-1987"</code>. Il vous suffit de filtrer cet
encodagespour <20>tre d<>barrass<73> de la plupart des spams
cor<EFBFBD>ens&nbsp;:</p>
2003-03-07 14:59:35 +01:00
<pre>
:0
* ^Content-Type: .*charset="ks_c_5601-1987"*
$SPAMBOX
2003-03-07 14:59:35 +01:00
</pre>
<p>De mani<6E>re plus perverse, certains spams cor<6F>ens ne d<>clarent pas
leur encodage au bon endroit, pour <20>viter justement ce genre de
filtres. L'encodage est alors annonc<6E> dans le sujet. Pour y rem<65>dier,
ajoutez simplement&nbsp;:</p>
<pre>
:0
* ^Subject: .*EUC-KR.*
$SPAMBOX
2003-03-07 14:59:35 +01:00
:0
* ^Subject: .*ks_c_5601-1987.*
$SPAMBOX
</pre>
<p>
Si vous <20>tes s<>r de ne pas vouloir de mails en encodage cor<6F>en, vous
pouvez mettre ces mails <20> la poubelle au lieu de les mettre adns la
bo<EFBFBD>te <20> spam. Sur UNIX, la poubelle est
<code>/dev/null</code>. Attention, contrairement <20> la poubelle de
Windows ou MacOS, il n'y a pas de filet de s<>curit<69>, on ne peut plus
r<EFBFBD>cup<EFBFBD>rer les donn<6E>es une fois poubellis<69>es. Ceci donne<6E>:
</p>
<pre>
:0
* ^Subject: .*EUC-KR.*
2003-03-07 14:59:35 +01:00
/dev/null
</pre>
<div class="attention"><h1><img
2003-09-30 13:31:53 +02:00
src="&url.tuteurs;icones/panneau_attention.png" alt="/!\" />
Attention&nbsp;! <img src="&url.tuteurs;icones/panneau_attention.png"
alt="/!\" /></h1> La pr<70>sence d'un <code>/dev/null</code> dans votre
<code>.procmailrc</code> est dangereuse&nbsp;: la moindre erreur de
syntaxe, la moindre coquille est susceptible d'envoyer tout votre mail
dans <code>/dev/null</code>, soit le vide intersid<69>ral d'o<> vous ne
pouvez r<>cup<75>rer aucun courrier. En cas d'accident, vous pouvez vous
adresser au SPI, mais faites particuli<6C>rement attention en <20>ditant
votre <code>.procmailrc</code>.</div>
<h4>Trop de filtres nuit</h4>
<div class="attention"><h1><img
2003-09-30 13:31:53 +02:00
src="&url.tuteurs;icones/panneau_attention.png" alt="/!\" />
Attention&nbsp;! <img src="&url.tuteurs;icones/panneau_attention.png"
alt="/!\" /></h1> En installant des filtres anti-spam&nbsp;: vous
prenez le risque d'<27>carter des courriers qui en fait n'en sont pas,
mais qui r<>pondent tout de m<>me <20> vos r<>gles.</div>
<p>Ce sera le cas d'un prof cor<6F>en qui vous <20>crit si vous filtrez les
encodages cor<6F>ens, d'un courrier parlant de FreeBSD si vous filtrez le
mot &#171;<3B>free<65>&#187;, d'un courrier dont le sujet contient
<EFBFBD><EFBFBD>bissextile<EFBFBD><EFBFBD> si vous filtrez <20><>sex<65><78>, etc. Plus vos r<>gles sont
strictes, moins vous recevrez de spam, mais plus vous aurez de chances
de perdre du courrier.</p>
<p>Pour cette raison, il vaut parfois mieux envoyer les courriers
suspects dans un dossier sp<73>cial, appel<65> &#171; spam &#187;, par
exemple. Voir ci-dessous comment faire.</p>
2002-12-16 07:21:00 +01:00
<h3>Envoyer directement certains mails dans un dossier
particulier</h3>
<p> Cette recette est particuli<6C>rement utile pour les listes de
diffusion (<em lang="en">mailing-lists</em>)&nbsp;: vous pouvez envoyer
tous les courriers provenant de la liste directement dans un dossier
sp<EFBFBD>cial, qui contiendra seulement les courriers de ce genre.</p>
<p> Admettons que vous apparteniez <20> la liste des amis de
Scoubidou. Cette liste a pour adresse
<code>scoubidou@zoinx.foo</code>, et tous les courriers de la liste
ont pour champ exp<78>diteur&nbsp;:</p>
<pre>
To: Les Amis de Scoubidou &lt;scoubidou@zoinx.foo&gt;
</pre>
<p>Vous voulez regrouper les courriers de la liste dans un dossier
appel<EFBFBD> <20><>scoubidou.<2E><> La recette qu'il vous faut est la
suivant&nbsp;:</p>
<pre>
# Le dernier ":" demande l'utilisation d'un fichier verrou
:0:
# La condition&nbsp;: tous les fichiers contenant 'scoubidou@zoinx.foo'
# dans le champ 'To: '
* ^To.*scoubidou@zoinx.foo
2003-03-31 20:12:46 +02:00
# Action&nbsp;: placer tous ces mails dans le dossier <20><>Scoubidou<6F><75>
$HOME/Mail/scoubidou
2002-12-16 07:21:00 +01:00
</pre>
<p><3E> quoi sert le <a name="lock">fichier verrou</a>&nbsp;? Imaginons
que deux courriers de la liste arrivent en m<>me temps&nbsp;: deux
procmails essaieront d'envoyer les deux messages dans le dossier en
m<EFBFBD>me temps. Si vous utilisez un fichier verrou, le premier procmail
verrouillera le dossier pendant qu'il <20>crira son message dans le
dossier, emp<6D>chant ainsi le second message d'y acc<63>der. Une fois que
le premier procmail aura fait son travail, le second prendra le relais
en toute s<>curit<69>. </p>
<div class="attention">Attention&nbsp;! Si vous classez ainsi vos
mails, vous perdrez les avertissements <20>&nbsp;You have new
mail.&nbsp;<3B> Pour rem<65>dier <20> ce probl<62>me, il va s'agir d'utiliser une
fonctionnalit<EFBFBD> du shell zsh...</div>
2002-12-16 07:21:00 +01:00
<p> Il suffit d'ajouter dans votre .zshrc la ligne
suivante&nbsp;:</p>
2002-12-16 07:21:00 +01:00
<pre>
MAILPATH="$MAIL:$HOME/mail/Scoubidou?You have new mail in Scoubidou."
</pre>
<p>Si vous voulez appliquer la m<>me technique <20> plusieurs dossiers, il
faut les s<>parer par des symboles <20><>:<3A><> de sorte que si vous <20>tes
aussi fan des Schtroumpfs, vous pourrez, en plus de la recette
<code>procmail</code> adapt<70>e, mettre les lignes suivantes dans votre
.zshrc<72>:
</p>
2002-12-16 07:21:00 +01:00
<pre>
MAILPATH="$MAIL:$HOME/mail/Scoubidou?You have new mail in Scoubidou.\
:$HOME/mail/Schtroumpfs?You have new mail in Schtroumpfs."
2002-12-16 07:21:00 +01:00
</pre>
<h4><a name="spambox">Une <20><>bo<62>te <20> spam<61><6D></a></h4>
<p>
Une application int<6E>ressante de classement concerne le spam. Pour des
raisons <20>voqu<71>es plus haut, il n'est parfois pas prudent d'envoyer le
courrier suspect directement vers <code>/dev/null/</code>&nbsp;: vous
risquez de perdre du vrai courrier. Il vaut mieux parfois rerouter le
courrier vers une bo<62>te <20> spam.
</p>
<p>
L'avantage d'une bo<62>te <20> spam est que vous n'<27>tes plus d<>rang<6E> pour
rien par les avertissements <20><>You have new mail<69><6C>. Il vous suffit de
consulter la bo<62>te de temps <20> autre, toutes les semaines disons, et de
faire un tri rapide de vrais spams et des faux.
</p>
<p>
Prenons un exemple. Beaucoup de spams ont un <code>Content-type</code>
en <code>text/html</code>, c'est-<2D>-dire du HTML seulement sans copie
texte. Inversement, il n'y a gu<67>re que les spams pour <20>tre en
<code>text/html</code>&nbsp;: les gens normaux avec un logiciel mal
configur<EFBFBD> n'envoient gu<67>re que du HTML+ texte (donc un
<code>Content-type</code> en <code>multipart/alternative</code>). Vous
voulez donc filtrer le <code>text/html</code>. Mais l'exp<78>rience
prouve que certains logiciels particuli<6C>rement malfaisants envoient
des courriers parfaitement normaux en
<code>text/html</code>. Solution&nbsp;: envoyer tous ces mails dans la
bo<EFBFBD>te <20> spam.
</p>
<p>Application&nbsp;:</p>
<pre>
:0
* ^Content-Type: text/html.*
$HOME/Mail/spam
</pre>
<h4>Recettes imbriqu<71>es</h4>
2002-12-16 07:21:00 +01:00
<p>
Un dernier exemple pour la route&nbsp;! Encore plus fort,
maintenant&nbsp;! Nous allons reprendre l'exemple du courrier <20>
relayer <20> votre ami Choupi. Dans l'<27>tat o<> nous vous avions laiss<73>,
vous saviez lui relayer le courrier contenant <20><>Scoubidou<6F><75> dans le
sujet et en garder une copie chez vous. Maintenant nous allons vous
montrer comment faire ceci, mais en envoyant vos copies <20> vous dans le
dossier <20><>Scoubi.<2E><> Il s'agit donc d'une recette constitu<74>e de deux
recettes imbriqu<71>es (chaque recette commence par un&nbsp;:0,
souvenez-vous)&nbsp;:</p>
<pre>
:0:
* ^Subject:.*Scoubidou.*
2002-12-16 07:21:00 +01:00
{
&nbsp;:0 c
# On fait suivre vers Choupi
! choupi@scoubidou-fan.com
# et en plus de <20>a...
&nbsp;:0
# ... on d<>pose la copie dans le dossier <20><>Scoubi<62><69>
$HOME/Mail/scoubi
2002-12-16 07:21:00 +01:00
}
</pre>
<h2>Conclusion</h2>
<p> Ceci ne montre qu'une partie des possibilit<69>s de procmail. Vous
pouvez faire beaucoup de choses plus compliqu<71>es mais tout aussi
utiles&nbsp;: ajouter syst<73>matiquement un champ (Reply-To, par
exemple), <20>viter les boucles... Pour davantage de renseignements,
consultez les pages de man (si vous ne savez pas ce qu'est une page de
man, consultez notre <a href="&url.tuteurs;unix/aide.html">page sur
l'aide en ligne d'Unix</a>)<29>:
2002-12-16 07:21:00 +01:00
</p>
<ul>
<li> <code>man procmail</code> est une description de procmail
lui-m<>me. Vous y trouverez les options de procmail.
</li>
<li> <code>man procmailrc</code> est tr<74>s complet mais indubitablement
compliqu<EFBFBD>.</li>
<li> <code>man procmailsc</code> est <20> r<>server aux experts de
procmail.
</li>
<li> <code>man procmailex</code> propose des exemples pr<70>ts <20>
utilisation. C'est sans doute la page de man la plus utile pour celui
qui veut se familiariser davantage avec procmail.
</li>
</ul>
2002-12-16 07:21:00 +01:00
<div class="metainformation">
Auteur&nbsp; Marie-Lan Nguyen. Derni<6E>re modification&nbsp;:
le <date value="$Date: 2004-01-08 22:27:51 $" />.</div>
2002-12-16 07:21:00 +01:00
</body>
</html>