You are on page 1of 6

Le systme d'exploitation GNU-Linux/Le serveur de mail...

http://fr.wikibooks.org/wiki/Le_systme_d'exploitation_...

Un livre de Wikilivres.

Le serveur de mail Postx


Postx est un serveur de mail crit dans l'ide de remplacer Sendmail, serveur de mail historique de moins en moins utilis car sa conguration est trs complexe. Postx eectue 99% des fonctions de Sendmail, les 1% restant ne sont que purement applicable dans une minorit de cas. De plus, il allie performance et facilit d'installation et de paramtrage. Il existe de nombreux autres serveurs de mails, parmi les plus connus : Qmail, Exim, Qpsmtpd, Courier ...

Comment a marche ?
Schma du cheminement des mails entre les correspondants (3 cas illustrs en fonction des moyens mis en uvre).

Le schma prcdent nous propose trois cas de gure: Cas numro 1 Nous avons deux socits: societe.com et client.com Paul (paul@societe.com) veut envoyer un mail Pierre (pierre@client.com) Le mail part en direction du serveur SMTP de sa socit (smtp.societe.com) Celui-ci est accept par le serveur de mail smtp.societe.com car il vient de son propre rseau smtp.societe.com fait une demande au serveur DNS pour connaitre le serveur de mail qui gre les courriers de @client.com : client.com MX ? (Mail eXchanger) Le serveur DNS rpond: smtp.client.com

1 sur 6

30/10/2013 21:15

Le systme d'exploitation GNU-Linux/Le serveur de mail...

http://fr.wikibooks.org/wiki/Le_systme_d'exploitation_...

Le serveur de mail smtp.societe.com contacte donc le serveur SMTP smtp.client.com Lorsque le client de messagerie de Pierre veut consulter ces mails, il va demander POP si il y a quelque chose pour lui et tlcharge le mail de Paul Pierre a donc bien reu le mail de Paul Pierre rpond Paul de la mme manire Le mail suit le cheminement inverse : smtp.client.com demande au serveur DNS le serveur de messagerie de societe.com. Celui-ci lui rpond: smtp.societe.com Le mail est achemin vers le serveur SMTP smtp.societe.com Il est stock jusqu' la demande de Paul de lire ces mails. Contrairement Pierre, le client de messagerie de Paul interroge le serveur IMAP imap.societe.com. La dirence est que le mail de Pierre est lu directement depuis le serveur IMAP et reste stock sur ce dernier Cas numro 2 Notre ami Paul fait parti d'une association (asso.org) et dispose d'un email sur ce domaine : paul@asso.org L'association dispose d'un hbergement chez hebergeur.net qui lui fournit dirents services serveur SMTP, POP, IMAP et accs Webmail Paul utilise son email sur asso.org (paul@asso.org) pour envoyer un email son ami Jack qui dispose aussi d'un email sur asso.org : jack@asso.org Ce mail est achemin via son rseau vers son serveur SMTP. Dans son client Outlook, Paul a paramtr plusieurs comptes Le serveur de sa socit (smtp.societe.com) accepte d'envoyer le mail sur Internet, mme si l'email metteur et le destinataire utilisent des noms de domaine dirents, car il vient de son propre rseau Ce mail est donc envoy au serveur SMTP asso.org : smtp.hebergeur.net Paul peut donc s'il le souhaite aller consulter ses mails sur asso.org via le serveur POP qui va rapatrier directement les mails paul@asso.org Cas numro 3 Jack utilise une connexion Internet fournie par un fournisseur d'accs Internet : fai.fr. Pour lire son email sur asso.org (jack@asso.org), Jack utilise son navigateur Web et l'accs Webmail fournit par fai.fr Il se connecte donc sur l'adresse webmail.asso.org et peut ainsi visualiser ses mails. Aucun email ne sera rapatri sur son PC. Il peut galement rpondre tous ses mails via WEBMAIL.

Quelques dnitions
SMTP : Simple Mail Transfer Protocol (port 25), pour l'envoi et l'acheminement du courrier. POP : Post O ce Protocol (port 110), pour la rception du courrier. IMAP : Internet Message Access Protocol (port 143), sert la rception du courrier. la dirence de POP, les emails restent stocks sur le serveur IMAP. MTA : Mail Transfert Agent. Il s'agit des serveurs de mails SMTP. MUA : Mail User Agent. Il s'agit des logiciels clients de messagerie, ex: Outlook, Eudora, Thunderbird, Kmail, Evolution ...

Installation de Postx
Installer en premier Postx, si un autre serveur de mail est dj prsent, il le supprimera :
# apt-get install postfix

Pour l'instant, nous laissons toutes les options par dfaut, nous allons le congurer par la suite. Une fois l'installation termine, nous allons congurer Postx.

2 sur 6

30/10/2013 21:15

Le systme d'exploitation GNU-Linux/Le serveur de mail...

http://fr.wikibooks.org/wiki/Le_systme_d'exploitation_...

sudo adduser postfix sasl [1] sudo dpkg-reconfigure postfix

Conguration de Postx
Le chier de conguration principal de Postx est /etc/post x/main.cf
# cat /etc/postfix/main.cf # Message affich la connexion smtpd_banner = $myhostname ESMTP # Ne pas utiliser le service biff qui sert la notification # des nouveaux mails biff = no # On ne rajoute pas le domaine car c'est le boulot du client mail append_dot_mydomain = no # Permet d'envoyer un email a l'metteur si son mail n'est pas # parti au bout d'un certain temps #delay_warning_time = 4h # Paramtres lis au chiffrement TLS #smtpd_tls_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem #smtpd_tls_key_file=/etc/ssl/private/ssl-cert-snakeoil.key #smtpd_use_tls=yes #smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache #smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache # See /usr/share/doc/postfix/TLS_README.gz in the postfix-doc package for # information on enabling SSL in the smtp client. # Le nom de machine FQDN (doit tre en accord avec le DNS) myhostname = pc230.mondomaine.fr # Emplacement des alias Unix # Attention, chaque modification de /etc/aliases, il faut taper # la commande newaliases pour qu'il rgnre le fichier /etc/aliases.db alias_maps = hash:/etc/aliases alias_database = hash:/etc/aliases # Le domaine d'origine myorigin = /etc/mailname # Liste des domaines principaux dont on accepte le courrier mydestination = pc230.mondomaine.fr, localhost # Permet d'indiquer un autre serveur SMTP pour l'envoi des emails # Utilis si on ne peut pas envoyer directement les emails relayhost = # Indique les rseaux dont on accepte d'acheminer les emails mynetworks = 127.0.0.0/8, 192.168.30.0/24 # Le dpt des emails dans les boites aux lettres est confi # procmail (cas du format mbox) mailbox_command = procmail -a "$EXTENSION" # Taille des boites aux lettres. 0 : pas de limite mailbox_size_limit = 0 # Sparateur utilis pour les usernames + adresses recipient_delimiter = + # coute sur toutes les interfaces rseaux inet_interfaces = all # On force postfix utiliser le protocole IPv4 inet_protocols = ipv4

On peut visualiser la totalit des options possibles de Postx et leurs valeurs par dfaut via la commande postconf :
# postconf | more 2bounce_notice_recipient = postmaster access_map_reject_code = 554 address_verify_default_transport = $default_transport address_verify_local_transport = $local_transport address_verify_map = address_verify_negative_cache = yes

3 sur 6

30/10/2013 21:15

Le systme d'exploitation GNU-Linux/Le serveur de mail...

http://fr.wikibooks.org/wiki/Le_systme_d'exploitation_...

address_verify_negative_expire_time = 3d ...

On vrie galement que le chier /etc/mailname contient le nom de domaine de notre rseau :
# cat /etc/mailname mondomaine.fr

Chaque fois que l'on modie le chier /etc/post x/main.cf, il faut relancer Postx :
# /etc/init.d/postfix restart

Pour chaque mail envoy ou reu, Postx enregistre les informations d'acheminement dans le chier /var/log/mail.log. Il est donc trs utile de surveiller ce chier durant les tests de fonctionnement. Pour vrier que le serveur de mail fonctionne, on envoi un mail un utilisateur et on regarde le chier /var/log /mail.log .
# mail alex Subject: essai essai . Cc:

Dans un autre terminal :


# tail -f /var/log/mail.log ... Feb 13 13:10:40 pc230 postfix/pickup[13353]: B782A1FD6F: uid=0 from=<root> Feb 13 13:10:40 pc230 postfix/cleanup[13675]: B782A1FD6F: message-id=<20080213121040.B782A1FD6F@pc230.mondomaine.fr> Feb 13 13:10:40 pc230 postfix/qmgr[13354]: B782A1FD6F: from=<root@pc230.mondomaine.fr>, size=355, nrcpt=1 (queue active) Feb 13 13:10:40 pc230 postfix/local[13677]: B782A1FD6F: to=<alex@pc230.mondomaine.fr>, orig_to=<alex>, relay=local, delay=0.08, delays=0.04/0.02/0/0.02, dsn=2.0.0, status=sent (delivered to command: procmail -a "$EXTENSION") Feb 13 13:10:40 pc230 postfix/qmgr[13354]: B782A1FD6F: removed ...

Ajouter une boite aux lettres


Pour ajouter une boite aux lettres, il faut ajouter un compte Unix. Pour des raisons de scurit, on positionne le shell de l'utilisateur /bin/false (ainsi il ne pourra pas se logger sur le serveur). Le mot de passe saisi sera celui de sa boite aux lettres. On rajoute l'utilisateur dans le groupe mail an qu'il puisse crire le chier <login>.lock dans le rpertoire /var/mail.
# adduser --shell /bin/false --ingroup mail pierre ...

Installation d'un serveur POP


Il existe de nombreux serveurs POP : courier-pop, ipopd, qpopper, solid-pop3d, teapop, dovecot-pop3d ... Nous installons le serveur POP teapop :
# apt-get install teapop

Depuis un autre poste du rseau, il nous su t ensuite de congurer un client mail (ex: kmail) pour venir relever une boite aux lettres en utilisant le protocole POP.

Installation d'un serveur IMAP

4 sur 6

30/10/2013 21:15

Le systme d'exploitation GNU-Linux/Le serveur de mail...

http://fr.wikibooks.org/wiki/Le_systme_d'exploitation_...

IMAP signie "Internet Message Access Protocol", c'est un nouveau protocole de messagerie pour relever son courrier dont la particularit est de laisser les messages sur le serveur. Il existe plusieurs serveurs IMAP, pour cet exemple nous allons utiliser courier-imap. On installe donc le serveur courier-imap :
# apt-get install courier-imap

IMAP ncessite le format de stockage Maildir. Nous allons donc tout d'abord congurer Postx pour lui indiquer d'utiliser le format Maildir au lieu du traditionnel mbox. On modie le chier /etc/post x/main.cf. On commente l'option mailbox_command (qui appelle procmail) et on rajoute l'option home_mailbox :
# vi /etc/postfix/main.cf ... # mailbox_command = procmail -a "$EXTENSION" # Pour utiliser le format Maildir home_mailbox = Maildir/

On relance postx :
# /etc/init.d/postfix restart

Pour chaque utilisateur existant, il faut ensuite crer le rpertoire Maildir. On fait ceci l'aide de la commande maildirmake fourni par courrier-imap :
$ cd # pour retourner dans mon home directory $ maildirmake Maildir $ ls -l Maildir drwx------ 2 alex grpalex 4096 2008-02-13 13:58 cur drwx------ 2 alex grpalex 4096 2008-02-13 13:58 new drwx------ 2 alex grpalex 4096 2008-02-13 14:11 tmp

Pour automatiser la cration du rpertoire Maildir pour les nouveaux utilisateurs, on excute la commande maildirmake dans le rpertoire /etc/skel. Ainsi tous les nouveaux utilisateurs auront automatiquement le rpertoire Maildir dans leur home directory :
# cd /etc/skel # maildirmake Maildir

Installation du Webmail Squirrelmail


Si n'est dj le cas, on installe le serveur Web Apache :
# apt-get install apache2

Pour installer Squirrelmail sous Debian, on tape la commande suivante :


# apt-get install squirrelmail

On peut congurer Squirrelmail en utilisant le programme squirrelmail-con gure. Ce chier permet congurer le chier /etc/squirrelmail/con g.php . A noter que l'on peut modier directement ce chier sans passer par squirrelmail-con gure. Squirrelmail est fourni avec la section rajouter Apache pour l'activer. On va donc dans le rpertoire de conguration de Apache pour lui indiquer d'utiliser ce chier :
# cd /etc/apache2/conf.d # ln -s /etc/squirrelmail/apache.conf squirrelmail.conf

On relance Apache :

5 sur 6

30/10/2013 21:15

Le systme d'exploitation GNU-Linux/Le serveur de mail...

http://fr.wikibooks.org/wiki/Le_systme_d'exploitation_...

# /etc/init.d/apache2 restart

On peut tester si Squirrelmail fonctionne avec son navigateur en se connectant l'URL suivante :
http://localhost/squirrelmail/

Rfrences
1. http://doc.ubuntu-fr.org/postx

Rcupre de http://fr.wikibooks.org/w/index.php?title=Le_systme_d%27exploitation_GNULinux/Le_serveur_de_mails_Postx&oldid=353826
Dernire modication de cette page le 8 fvrier 2012 21:25. Les textes sont disponibles sous licence Creative Commons attribution partage lidentique ; dautres termes peuvent sappliquer. Voyez les termes dutilisation pour plus de dtails.

6 sur 6

30/10/2013 21:15

You might also like