Cette suite de chapitres est avant tout destinée à montrer les diverses facettes d'un système de messagerie, de plus en plus complet. Elle n'a pas la prétention de fournir des solutions directement applicables en production, mais plutôt de présenter des pistes de recherche pour obtenir une solution qui réponde aux besoins.
L'étude étant progressive, les derniers chapitres, principalement Postfix, Cyrus, etc. et Mailing lists font appel à des notions vues dans les chapitres précédents…
Mettre en œuvre un système complet de messagerie est une aventure un peu compliquée.
Si l'on souhaite disposer d'un système complet, capable d'envoyer des mails et aussi d'en recevoir pour un ou plusieurs domaines, il faudra également tenir compte des protocoles POP3 et IMAP et installer ce qui va avec.
Il existe dans le monde libre de nombreuses solutions, nous en verrons quelques-unes :
Bien sûr, de nombreuses autres combinaisons sont possibles, principalement si l'on doit également tenir compte d'une très forte montée en charge et d'une tolérance de panne très faible.
Un serveur SMTP en production doit être capable de faire au moins ceci :
En aucun cas nous ne devons pouvoir servir de relais ouvert, c'est-à-dire que n'importe qui puisse utiliser notre service SMTP pour envoyer des messages n'importe où.
Si techniquement il est possible de faire tout ceci, le développement du « spam » et les parades qui sont d'usage (plus ou moins pertinent) sur l'internet vont amener quelques restrictions.
Vous disposez d'un accès que votre fournisseur a bridé. En effet, la solution simple, efficace (et contraire à l'éthique de l'internet) que votre fournisseur d'accès a mis en place consiste à vous interdire toute connexion TCP vers le port 25, hormis vers le serveur SMTP « officiel » de votre fournisseur.
Dans un tel cas, vous ne pourrez pas faire grand chose, à part un serveur tampon pour l'envoi de vos messages vers le reste du monde. Si votre fournisseur est dans ce cas et qu'il n'y a pas moyen pour vous de faire débloquer le port 25, abandonnez toute envie de gérer vous-même votre messagerie ou changez de fournisseur.
Il existe sur la possibilité, nous le verrons, de créer ou d'utiliser des listes d'exclusion. Ces listes contiennent des adresses IP ou des blocs CIDR d'adresses IP qui sont sensées représenter des SMTP « malpropres ». Certains n'hésitent pas à mettre dans ces listes toutes les adresses IP qui sont utilisées par les fournisseurs d'accès pour leurs clients.
Il n'y a pas de parade. Si l'hébergeur du domaine de messagerie @truc.com utilise une blacklist où vous êtes référencé, vous ne pourrez envoyer par vous-même aucun message @truc.com. Il vous faudra alors passer par le SMTP officiel de votre fournisseur (en priant pour que celui-ci ne soit pas aussi blacklisté).
Une saine précaution (dérisoire toutefois) est de contrôler que l'adresse de l'émetteur (valeur de from:
dans le dialogue SMTP) est @unDomaineConnuSurLe.net. Ceci est généralement du ressort de vos utilisateurs qui doivent disposer d'une adresse e-mail valide.
Lors du dialogue entre votre serveur SMTP et celui du destinataire, votre serveur se présente par son nom (valeur helo
ou ehlo
dans le dialogue SMTP). Le serveur destinataire peut effectuer plusieurs contrôles :
Si votre fournisseur d'accès vous permet de personnaliser votre rdns, vous pouvez rendre tout ceci cohérent.
Ce très controversé système de contrôle utilise un champ particulier dans les DNS, qui permet d'indiquer quelles sont les hôtes autorisés à envoyer des messages pour le domaine dont nous avons la charge. Dans la mesure où vous pouvez créer cette entrée sur vos DNS, faites-le le moins salement possible…
Nous ne devons pas laisser entrer n'importe quoi. Plusieurs cas peuvent se produire :