sendmail peut aider à lutter contre le spam, ces méls indésirables qui encombrent nos boîtes aux lettres. Pour cela, on utilise la ``liste noire'' par défaut du serveur rbl.maps.vix.com.
Il suffit juste de rajouter la ligne suivante dans le fichier de configuration à passer à m4 :
FEATURE(rbl)
Il existe un système plus flexible, permettant de choisir quels hôtes ou quels utilisateurs on veut rejeter. Pour chaque connexion SMTP, sendmail compare les informations contenues dans l'en-tête du message, puis accepte ou rejette le courrier suivant ce qu'il a trouvé. La base d'accès est un ensemble de règles décrivant ce qu'il faut faire pour les messages reçus. Il y a plusieurs actions possibles :
Voici un exemple de fichier /etc/mail/access à écrire :
mechant@nefaste.com REJECT spam.com REJECT 212.62.169.138 REJECT postmaster@spam.com OK autre.com RELAY
Dans cet exemple, on rejette tous les méls venant de mechant@nefaste.com, de n'importe quelle hôte appartenant au domaine spam.com et de l'hôte 212.62.169.138. En dépit du refus des méls venant de spam.com, on accepte quand même les messages de la part de postmaster@spam.com. Enfin, on accepte de relayer les méls adressés à n'importe quel hôte du domaine autre.com.
Il ne reste plus qu'à rajouter dans le fichier de configuration à passer à m4 la ligne :
FEATURE(access_db)
et à regénérer la base de données :
makemap hash /etc/mail/access < /etc/mail/access
Il est parfois utile de refuser du mél pour des programmes qui ne le liront jamais, par exemple. Il suffit alors de mettre dans le fichier /etc/mail/access les lignes :
daemon 550 Un daemon ne lit pas le mel... punis@domine 550 Lui, il est punit, il n'a plus le droit aux mels
et de regénérer la base de données.