Association Bordelaise des Utilisateurs de Logiciels libres
Configurer son Serveur de courrier
Généralités
La configuration d’un serveur de courrier sur votre machine n’est pas
une chose obligatoire mais vous apportera un confort inagalé. C’est en effet
le seul moyen d’accèder à toute la puissance des outils unix dédiés au courrier,
que ce soit le filtre procmail
ou le client
mutt
unanimement apprécié. Vous aurez aussi la possibilité d’utiliser
d’autres outils comme emacs
ou toutes les procédures spécialisées
de langages comme perl
. Plus simplement, vous aurez aussi la
possibilité d’affecter plusieurs boites au lettres sur Internet à leurs
utilisateurs respectifs sur votre machine ou votre réseau local.
Cette page s’adresse à tous ceux qui accèdent à Internet par une liaison temporaire
ou permanente et qui souhaitent profiter d’un confort accru dans l’utilisation
du courrier.
Comment ça marche ?
Parmi les outils cités ci-dessous, chacun joue un rôle particulier
dans le processus de distribution du courrier :
- Les MTA (Mail Transfert Agent ou Agents de Transfert du Courrier)
distribuent le courrier selon un protocole internet bien établi. Dans le
cas qui nous interesse, le protocole utilisé est le SMTP (Simple Mail
Transfert Protocol) et il utilise le port TCP 25 pour discuter avec
les autres machines sur le net ou dans un réseau. Les MTA les plus
connus sontsendmail, postfix, exim ou qmail
. Il y en a d’autres,
et nous nous interesserons ici aux deux premiers car c’est grace à eux
que notre courrier partira sur internet ou sera distribué localement
aux utilisateurs de la machine. - Les MUA (Mail User Agent ou Agent d’Utilisateur de Courrier) permettent
l’utilisation finale du courrier c’est à dire l’envoi ou la lecture des
messages. Nous ne parlerons ici que denetscape
mais les autres ne sont
pas plus difficiles à configurer. - Les autres outils comme
fetchmail
ont un rôle particulier
dans notre configuration à cause de la nature de la liaison qui nous uni
avec notre Fournisseur d’Accès Internet (FAI en abrègé ou ISP en anglais).
En effet, les FAI ont une majorité de clients qui n’ont pas de serveur de
courrier sur leur machine et ne sont pas connectés la plupart du temps.
Pour ces raisons et d’autres liées à la sécurité ils ne mettent pas le courrier
à disposition sur le port TCP 25 mais le laissent dans votre boite aux lettre
sur leur serveur en attendant que vous alliez le chercher. Le protocole utilisé
pour cela est le plus souvent le POP3 mais on peut aussi trouver IMAP.
fetchmail
permet justement de faire cela : aller chercher le
courrier qui attend sagement dans une boite quelque part sur Internet, pas
forcement celle de votre FAI d’ailleur.fetchmail
transmet
ensuite ce courrier au MTA que vous aurez installé (sendmail
oupostfix
) afin qu’il aille rejoindre son destinataire.
Avant de commencer à relever vos manches, il est conseillé aux débutants d’opter
pour postfix
dont les fichiers de configuration sont nettement
plus clairs que l’unique sendmail.cf
de sendmail
.
Vous trouverez donc ci-dessous une compilation des étapes de configuration de
sendmail,
postfix,
fetchmail et
netscape.
Cette version corrige de petits détails oubliés dans les messages
précédents diffusés sur la liste tech@abul.org.
Configurer sendmail+fetchmail
La version courte est disponible sur le site de LinuxFocus,
article 130 de Mai 2000.
Pour une version un peu plus explicative voir
l’article de Éric Jacoboni sur Linux-France.
Toutefois, cette version longue n’explique pas la configuration de fetchmail ;
voir
l’article court de LinuxFocus pour la configuration de fetchmail
et l’automatisation.
Configurer postfix
Voila la configuration postfix (dans /etc/postfix/) à modifier pour
remplacer éventuellement sendmail avec connection chez le FAI. La config fetchmail et
l’automatisation ne sont pas touchées par le passage sendmail->postfix
grace à la compatibilité sendmail de postfix si vous aviez déjà sendmail d’installé.
On suppose que :
- Le nom de domaine du fai est fai.net
- L’envoi de courrier se fait par smtp.fai.net (port 25)
- La réception du courrier se fait par pop.fai.net (port 110)
- L’adresse email chez le fai est toto@fai.net
- Le login sur la machine en local est dede
- Le nom de domaine (hostname) de la machine locale est
localhost.localdomain - simon est autre compte sur la machine locale avec une adresse email
raptor@yodleou.net (par exemple :-)
Procédure
- sauvegarder tous les fichiers de configuration de sendmail quelque part. (Oubliez
cette partie si sendmail n’est pas déjà installé, c’est juste une
précaution) :- /etc/aliases
- /etc/aliases.db
- /etc/sendmail.cf
- /etc/genericstable
- /etc/genericstable.db
- Désinstaller sendmail avec la commande rpm -e —nodeps sendmail...
- Installer postfix
- ajouter les lignes suivantes à la fin du fichier virtual :
root root@localhost.localdomain
postmaster postmaster@localhost.localdomain
dede dede@localhost.localdomain
simon simon@localhost.localdomain
autre autre@localhost.localdomain
toto dede@localhost.localdomain
raptor@yodleou.net simon@localhost.localdomain - créer le fichier sender_canonical qui contient :
dede toto@fai.net
simon raptor@yodleou.net - ajouter les lignes suivantes au fichier main.cf (à l’endroit ou existe
ces lignes avec un commentaire #, ou bien à la fin, c’est pareil)myorigin = fai.net
virtual_maps = hash:/etc/postfix/virtual
relayhost = smtp.fai.net
defer_transports = smtp
disable_dns_lookups = yes
alias_maps = hash:/etc/postfix/aliases
sender_canonical_maps = hash:/etc/postfix/sender_canonicalToutes les lignes #alias_database doivent être commentées ou
inexistantes :#alias_database = dbm:/etc/aliases
#alias_database = dbm:/etc/mail/aliases
#alias_database = hash:/etc/aliases
#alias_database = hash:/etc/aliases, hash:/opt/majordomo/aliases - générer la base des adresses virtuelles avec les commandes :
cd /etc/postfix
postmap /etc/postfix/virtual - Modifier les alias dans /etc/postfix/aliases (ou bien recopier le
/etc/aliases de sendmail à cet endroit) et générer la bd :cd /etc/postfix
postmap /etc/postfix/aliases
(on peut aussi utliser la commande "newaliases") - redémarrer postfix :
postfix reload
Configurer fetchmail
Configuration de fetchmail pour récupérer le courrier sur des comptes
extérieurs (chez le FAI, ailleurs, en pop ou en imap. Extrait de l’
article 130 de Mai 2000 de LinuxFocus :
Avant de faire un essai sur Internet il faut aussi configurer fetchmail pour
récupérer le courrier :
créez un fichier .fetchmailrc
dans /home/dede :
poll pop.isp.net protocol POP3 |
ou toto et XXXXX sont les login et password de votre compte courrier
pop.isp.net. Si vous disposez de plusieurs boîtes aux lettres vous pouvez
les relever en dupliquant les lignes ci-dessus pour chaque boîtes aux lettres.
Le fichier .fetchmailrc
doit avoir les permissions suivantes,
sinon fetchmail refusera de s’exécuter :
-rw------- 1 dede dede 189 oct 6 21:45 /home/dede/.fetchmailrc
Pour faire un test sur Internet
- écrire un message (sans être connecté) à un réflecteur de courrier comme
echo@cnam.fr - envoyez le.
Il doit apparaître dans la liste d’attente quand on tape la
commande : mailq
Ensuite connectez vous à votre fai (fai.net) et envoyez le message :
/usr/bin/sendmail -q
Attendez un peu et faites fetchmail
pour récupérer votre courrier,
vous devriez avoir un message renvoyé par le réflecteur. Vous pouvez vous déconnecter
dès que tous les messages sont arrivés.
Il ne vous reste plus qu’à automatiser ces commandes lors de la connection en les
ajoutant au fichier /etc/ppp/ip-up.local soit en les lançant en mode daemon si vous
avez une connection permanente.
Ces deux façons de procéder sont expliquées dans l’
article 130 de Mai 2000 de LinuxFocus :
Configurer netscape
Configuration de netscape pour lire le courrier en local (extrait de l’
article 130 de Mai 2000 de LinuxFocus :
Pour configurer Netscape pour lire le courrier local (servi par sendmail
ou postfix) :
- Aller dans le menu Edit/Preferences/Mail & Groups/Mail Server
- Taper localhost.localdomain comme Outgoing mail (SMTP) server
- Choisir movemail/built-in comme Mail server type
- Changer la permission de /var/spool/mail avec chmod 777
/var/spool/mail.
*ATTENTION : ce dernier changement peut présenter des trous de sécurité
si vous n’êtes pas le seul connecté à votre machine. Utilisez un autre
client courrier que netscape si vous voulez être sur d’être le seul à
lire votre courrier.