On parle par défaut de la spambox et plus de /dev/null.

Modified Files:
 	procmail.tml
This commit is contained in:
mlnguyen 2003-08-01 09:28:58 +00:00
parent 24eb59745f
commit 2da496acd6

View file

@ -43,6 +43,7 @@ suivantes&nbsp;:</p>
PATH=/bin:/usr/bin
MAILDIR=$HOME/Mail
LOGFILE=$MAILDIR/procmail.log
SPAMBOX=spam
</pre>
<dl>
@ -55,6 +56,11 @@ utiliser.</dd>
<dd>On indique à procmail le nom d'un fichier où il mettra tous ses
rapports d'activité et ses messages d'erreur (les <em>logs</em>). Les
logs sont précieux pour faire des tests.</dd>
<dt><code>SPAMBOX=spam</code></dt>
<dd>Cette ligne crée une « boîte à spam » (le répertoire
<code>$HOME/mail/spam</code>) dans votre boîte aux lettres. C'est là
que partiront les courriers suspects. Voire <a
href="#spambox">infra</a>.</dd>
</dl>
<h2>Comment ça marche&nbsp;?</h2>
@ -201,75 +207,19 @@ virus, etc.), que vous pouvez
<p>
Dans l'exemple suivant, vous allez filtrer tous les mails dont le
sujet contient le mot « Viagra » en les envoyant vers
<code>/dev/null</code>, la poubelle (attention, contrairement à
Windows ou MacOS, vous ne pouvez pas récupérer des données de
<code>/dev/null</code>, c'est un aller simple pour le grand vide).
sujet contient le mot « Viagra » en les envoyant vers votre poubelle à
spam, <code>$HOME/mail/spam</code>. Voire <a href="#spambox">infra</a>
pour plus d'explication.
</p>
<pre>
:0
# Sont visés tous les mails dont le sujet contient Viagra
* ^Subject: .*Viagra.*
# Et on les envoie à la poubelle
/dev/null
# Et on les envoie à la poubelle à spam
$SPAMBOX
</pre>
<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> La pré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éral d'où vous ne
pouvez récupérer aucun courrier. En cas d'accident, vous pouvez vous
adresser au SPI, mais faites particulièrement attention en éditant
votre <code>.procmailrc</code>.</div>
<p>
Vous pouvez également utiliser la syntaxe suivante&nbsp;:
</p>
<pre>
:0
* ^Subject: .*Viagra.*
{
EXITCODE=67 HOST
}
</pre>
<p> Pourquoi cet EXITCODE et pas <code>/dev/null</code> (la
poubelle)&nbsp;? Ce code renvoie une « address unknown » à
l'expéditeur du courrier électronique (pour avoir la liste de tous ces
codes, lire <code>/usr/include/sysexits.h</code>). </p>
<p>Attention, utiliser un <code>exitcode</code> n'est pas toujours une
bonne idée. Certes, il vous procure la satisfaction de renvoyer au
spammeur ses spams. Mais cela ne sert pas à grand chose&nbsp;: bien
souvent, le spammeur filtre les messages d'erreur qui lui sont
renvoyés. Que vous fassiez le mort (en reroutant les spams vers
<code>/dev/null</code>) ou que vous lui renvoyez 150 messages d'erreur
ne l'empêchera pas de continuer à vous spammer s'il y tient. D'autre
part, mettre des exitcodes dans son <code>.procmailrc</code> peut être
gênant pour vous si vous faites partie d'une mailing-list&nbsp;: le
message d'erreur risque d'être répercuté à toute la liste.</p>
<p>
Vous est-il déjà arrivé de recevoir, après avoir envoyé un mail à un
camarade de l'Ecole, un courrier avec le sujet <code>"Returned mail:
Can't create output"</code>, et contenant le message cryptique
suivant&nbsp;?</p>
<pre>
----- The following address had permanent fatal errors -----
&lt;pikachu@clipper.ens.fr&gt;
</pre>
<p>
Cela est certainement dû à un exitcode dans un
<code>.procmailrc</code>...</p>
<h4>Filtrer suivant l'expéditeur</h4>
<p> Dans d'autres cas, vous pouvez très bien connaître l'adresse
@ -277,13 +227,13 @@ Cela est certainement d
diffusion à laquelle vous avez été abonné, volontairement ou non, et à
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>spam@foo.bar</code> seront impitoyablement
envoyés à la poubelle (dans <code>/dev/null</code>, en fait).</p>
provenant de l'adresse <code>spammeur@tagada.com</code> seront
impitoyablement envoyés dans votre boîte à spam.</p>
<pre>
:0
* ^From: .*spam@foo.bar
/dev/null
* ^From: .*spammeur@tagada.com
$SPAMBOX
</pre>
<h4>Filtrer suivant l'encodage</h4>
@ -301,7 +251,7 @@ cor
<pre>
:0
* ^Content-Type: .*charset="ks_c_5601-1987"*
/dev/null
$SPAMBOX
</pre>
<p>De manière plus perverse, certains spams coréens ne déclarent pas
@ -312,13 +262,40 @@ ajoutez simplement&nbsp;:</p>
<pre>
:0
* ^Subject: .*EUC-KR.*
/dev/null
$SPAMBOX
:0
* ^Subject: .*ks_c_5601-1987.*
$SPAMBOX
</pre>
<p>
Si vous êtes sûr de ne pas vouloir de mails en encodage coréen, vous
pouvez mettre ces mails à la poubelle au lieu de les mettre adns la
boîte à spam. Sur UNIX, la poubelle est
<code>/dev/null</code>. Attention, contrairement à la poubelle de
Windows ou MacOS, il n'y a pas de filet de sécurité, on ne peut plus
récupérer les données une fois poubellisées. Ceci donne :
</p>
<pre>
:0
* ^Subject: .*EUC-KR.*
/dev/null
</pre>
<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> La pré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éral d'où vous ne
pouvez récupérer aucun courrier. En cas d'accident, vous pouvez vous
adresser au SPI, mais faites particulièrement attention en éditant
votre <code>.procmailrc</code>.</div>
<h4>Trop de filtres nuit</h4>
<div class="attention"><h1><img
@ -403,26 +380,36 @@ MAILPATH="$MAIL:$HOME/mail/Scoubidou?You have new mail in Scoubidou.\
:$HOME/mail/Schtroumpfs?You have new mail in Schtroumpfs."
</pre>
<h4>Un dossier spécial spam</h4>
<h4><a name="spambox">Une « boîte à spam »</a></h4>
<p>Une application intéressante de classement concerne le spam. Pour
des raisons évoqué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 un dossier spécial que vous consulterez
seulement de temps à autres.</p>
<p>
Une application intéressante de classement concerne le spam. Pour des
raisons évoqué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îte à spam.
</p>
<p>Prenons un exemple. Beaucoup de spams ont un
<code>Content-type</code> en <code>text/html</code>, c'est-à-dire du
HTML seulement sans copie texte. Inversement, il n'y a guère que les
spams pour être en <code>text/html</code>&nbsp;: les gens normaux avec
un logiciel mal configuré n'envoient guère que du HTML+ texte (donc un
<p>
L'avantage d'une boîte à spam est que vous n'êtes plus dérangé pour
rien par les avertissements « You have new mail ». Il vous suffit de
consulter la boîte de temps à 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-à-dire du HTML seulement sans copie
texte. Inversement, il n'y a guère que les spams pour être en
<code>text/html</code>&nbsp;: les gens normaux avec un logiciel mal
configuré n'envoient guè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érience
prouve que certains logiciels particulièrement malfaisants envoient
des courriers parfaitement normaux en
<code>text/html</code>. Solution&nbsp;: envoyer tous ces mails dans un
dossier spécial.</p>
<code>text/html</code>. Solution&nbsp;: envoyer tous ces mails dans la
boîte à spam.
</p>
<p>Application&nbsp;:</p>
@ -476,7 +463,7 @@ utile pour celui qui veut se familiariser davantage avec procmail.
<div class="metainformation">
Auteur&nbsp; Marie-Lan Nguyen. Dernière modification&nbsp;:
2003-04-18</div>
le <date value="$Date: 2003-08-01 09:28:58 $" />.</div>
</body>
</html>