Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
installer_un_serveur_de_mail [Le 12/01/2007, 18:00] bidou |
— (Version actuelle) | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | <code> | ||
- | Version : dapper drake | ||
- | </code> | ||
- | Rédigé par [[utilisateurs:bidou]] **en cours de construction**. toutes les idées sont les bienvenues. | ||
- | |||
- | |||
- | |||
- | |||
- | ====== Description ====== | ||
- | |||
- | L'objectif du tuto est l'installation et l'utilisation de postfix pour l'envoi de mails, de fetchmail pour la recupération et de deux clients mails pour la visualisation et l'envoi des courriels. | ||
- | |||
- | __Pourquoi utiliser deux clients mails ?__\\ | ||
- | Thunderbird permet la lecture des mails depuis sont PC comme le fait tout à chacun mais mutt lit ses mails en console donc depuis m'importe quel PC pourvu que le serveur soit relié au net. | ||
- | |||
- | Pour que le tuto soit plus clair, je vais définir **deux boites aux lettres**: | ||
- | *la boite d'un **fournisseur d'accès** comme free, laposte **toto@fai.fr** | ||
- | *la boite du **serveur de mail interne toto@postfix.fr** | ||
- | __ | ||
- | Installation des paquets__\\ | ||
- | Avant tout il faut installer un certains nombres de paquets. | ||
- | Un simple | ||
- | |||
- | sudo apt-get install postfix fetchmail procmail mutt | ||
- | |||
- | suffit. | ||
- | |||
- | ====== configuration de fetchmail ====== | ||
- | |||
- | passons maintenant à la configuration de fetchmail. fetchmail est chargé de la récupération des mails. Il faut définir un fichier dans le répertoire personnel de l'utilisateur | ||
- | |||
- | sudo gedit .fetchmailrc | ||
- | |||
- | un fichier vide s'ouvre, il faut ajouter:\\ | ||
- | |||
- | ## fai : votre fournisseur d'accès Internet. | ||
- | poll pop.fai.fr protocol pop3 user toto@fai.net password mot de passe here options keep | ||
- | |||
- | puis sauvegarder le fichier. | ||
- | |||
- | l'option //keep// permet de faire des tests sans perdre de mails. Je dis ça, vous êtes prévenus, ça m’est arrivé de perdre quelques mails avant de me rendre compte de ce qu’il se passait. | ||
- | |||
- | A la place de //keep//, vous pouvez par la suite utiliser le paramètre //fetchall//. Il permet de récupérer tous les mails. c'est utile si on reçoit beaucoup de mails et que l'on ne veut pas encombrer le serveur du FAI. | ||
- | |||
- | __protection du fichier__\\ | ||
- | maintenant il faut protèger ce fichier qui montre en clair les mots de passe du compte.c'est une étape que je n'ai pas encore réaliser(par fainéantise) mais je vous livre la méthode. | ||
- | |||
- | On définit un utilisateur fetchmail (ça manque d’originalité, vous pouvez bien sûr l’appeler comme vous voulez) doit être créé | ||
- | |||
- | sudo adduser -g 65534 -d /répertoire_des_mails fetchmail | ||
- | |||
- | * -g pour utiliser le groupe nogroup. Mettez le GID qui correspond à nogroup, ici 65534. En fait, vous mettez ce que vous voulez (100 pour users par exemple est pas mal non plus). | ||
- | * -d pour utiliser le répertoire /home/toto/Maildir par exemple comme répertoire maison (= répertoire utilisateur). | ||
- | |||
- | Changez les utilisateurs/droits pour que ça aille bien : | ||
- | |||
- | sudo chown fetchmail:nogroup /home/toto/.fetchmailrc | ||
- | sudo chmod 600 /home/toto/.fetchmailrc | ||
- | sudo chown -R fetchmail:nogroup /home/toto/Maildir | ||
- | sudo chmod 700 /home/toto/Maildir | ||
- | |||
- | Reste ensuite à vérifier 2 choses : | ||
- | * Que le fichier /etc/default/fetchmail (sur Debian) autorise le lancement de fetchmail en démon : SERVICE doit être à true dans ce fichier. | ||
- | * Que le script de lancement /etc/init.d/fetchmail écrive bien tout ce qu’il faut dans /home/toto/Maildir et pas ailleurs, sinon ça risque de ne pas fonctionner correctement. | ||
- | |||
- | Voilà. Normalement, un lancement de fetchmail. | ||
- | |||
- | ====== configuration de procmail ====== | ||
- | |||
- | Procmail est chargé de faire le tri de mails à l'aide de filtres appelés **recettes**. | ||
- | créons un répertoire pour stocker les mails dans le répertoire personnel de toto | ||
- | |||
- | sudo maildirmake Maildir | ||
- | |||
- | Ceci créera la boite mail Maildir/ dans votre ~, autrement dit, dans votre /home/toto. | ||
- | |||
- | Une fois de plus il faut rédiger un fichier dans son répertoire personnel par exemple. | ||
- | |||
- | sudo gedit .procmailrc | ||
- | |||
- | Il faut compléter la page vierge pour obtenir un fichier de ce type\\ | ||
- | |||
- | MAILDIR=/home/toto/Maildir | ||
- | ## Faites en sorte que ça existe. | ||
- | LOGFILE=/home/toto/.procmaillog | ||
- | LOGABSTRACT=no | ||
- | #VERBOSE=on (Est utilisé uniquement pour le débogage.) | ||
- | VERBOSE=off | ||
- | FORMAIL=/usr/bin/formail | ||
- | NL=" | ||
- | ## Les lignes de « recipe » commencent par « :0 ». | ||
- | ## Ne mettez pas de commentaires dans les lignes de « recipe ». | ||
- | ## Désactivez un « recipe » grace au NON logique (!). | ||
- | ## Les conditions commencent par *, utilisez des expressions rationnelles. | ||
- | ## Les conditions sont associées avec un ET logique. | ||
- | ## Tout ce qui suit * est passé directement à egrep. | ||
- | ## Une ligne d'action suit les conditions, ici c'est un nom de BAL. | ||
- | |||
- | # Utilise formail pour les courriers dupliqués. | ||
- | :0 Whc: .msgid.lock | ||
- | | $FORMAIL -D 16384 .msgid.cache | ||
- | |||
- | #utilisation de spamassassin | ||
- | :0 a | ||
- | $MAILDIR/duplicates | ||
- | :0fw | ||
- | | spamassassin -P | ||
- | :0: | ||
- | * ^X-Spam-Status: Yes | ||
- | $MAILDIR/spambox | ||
- | |||
- | # Spam à la poubelle. | ||
- | :0 | ||
- | * ^Subject:.*(credit|cash|money|debt|sex|sale|loan) | ||
- | $MAILDIR/spam | ||
- | |||
- | # Plus de messages HTML. | ||
- | :0 | ||
- | * ^Content-Type:.*html | ||
- | $MAILDIR/junk | ||
- | |||
- | # mailing list du wiki-ubuntu | ||
- | :0 | ||
- | * ^Subject:.*(UWiki) | ||
- | $MAILDIR/UWiki | ||
- | |||
- | #tri des mails locaux | ||
- | :0 | ||
- | * ^TOtoto@postfix.fr | ||
- | $MAILDIR/locaux | ||
- | :0 | ||
- | * ^TOroot@postfix.fr | ||
- | $MAILDIR/locaux | ||
- | |||
- | ####################################### | ||
- | # Dernière règle : tout ce qui arrive # | ||
- | # ici va dans la boîte par défaut. # | ||
- | ####################################### | ||
- | :0 | ||
- | * .* | ||
- | Inbox | ||
- | |||
- | # Fin de fichier | ||
- | |||
- | MAILDIR=/home/toto/Maildir est le répertoire où seront stockés les mails triés.\\ | ||
- | LOGFILE=/home/toto/.procmaillog est le fichier d'erreurs. | ||
- | |||
- | viens ensuite les différentes recettes. | ||
- | On marque le début d'une recette par | ||
- | **:0** puis on indique le critère de tri par *** ^TO** ou ***^Subject** et enfin le fichier où l'on stocke les mails. par exemple **$MAILDIR/locaux** | ||
- | |||
- | Pour plus d'explications, il y a de nombreux sites parlant de la réalisation de recettes très élaborées. | ||
- | Dans le fichier on a: | ||
- | * une recette pour éviter les mails dupliqués | ||
- | * l'utilisation de spamassassin | ||
- | * un tri en fonction des listes de diffusions | ||
- | * les mails internes | ||
- | * et le restant est stocké dans le fichier Inbox. | ||
- | |||
- | ====== vérification du fonctionnement du serveur ====== | ||
- | cette étape peut être faite à partir du moment où le serveur smtp est installé. | ||
- | le plus simple est de s'envoyer des messages par son client mail habituel. | ||
- | où utiliser la commande mail du paquet mailx. | ||
- | par exemple: | ||
- | |||
- | mail -s essai toto@fai.net | ||
- | Cc:<enter> | ||
- | essai pour voir | ||
- | |||
- | puis ctrl+d pour envoyer un mail avec pour sujet essai à toto@fai.net et comme texte essai pour voir. sans copie particulière.\\ | ||
- | __comment relever ses mails avec fetchmail.__\\ | ||
- | il suffit de taper | ||
- | fetchmail -akv -m "/usr/bin/procmail -d %T" | ||
- | |||
- | Si les droits sont bien attribués, on voit fetcmail interroger le fai et le voir récupérer les mails. | ||
- | |||
- | si non il faut vous les rattribué avec un chmod, chgrp et chown. | ||
- | |||
- | __comment vérifier le tri?__\\ | ||
- | il faut simplement aller dans le dossier **Maildir** et cliquer sur les fichiers définis dans procmail. | ||
- | tant qu'un courriel n'est pas trié par la recette, le fichier correspondant n'apparait pas. | ||
- | |||
- | si vous ne les trouvaient pas ils peuvent être stockés dans le répertoire **/var/mail/toto ou root.** | ||
- | |||
- | ====== configuration de thunderbird ====== | ||
- | |||
- | |||
- | on définit un compte pop dans thunderbird de façon classique. Puis on se rend dans **les paramètres du compte**, on change le répertoire du dossier local pour le rediriger vers le dossier Maildir crée auparavant.\\ | ||
- | {{capture2.png|}}\\ | ||
- | ici, il y a **une petite subtilité importante**. D'autres trouveront peut-être une solution différente.\\ | ||
- | |||
- | pour que les **fichiers triés par procmail** apparaissent et soient gérer par thunderbird, il faut **créer des sous-dossiers dans les dossiers locaux**. | ||
- | |||
- | par exemple, créer un sous-dossier spambox pour récupérer les pouriels. | ||
- | Ou un sous-dossier locaux pour les messages internes. | ||
- | il en faut autant que de fichier trié par procmail. | ||
- | |||
- | |||
- | {{capture-1.png|}} | ||
- | |||
- | ====== configuration de mutt ====== | ||
- | |||
- | ====== configuration de postfix ====== | ||
- | enfin on utilise postfix pour envoyer des mails. c'est utilisation très simple de ce serveur de mails.\\ | ||
- | en fait, on va créer un domaine mais qui n'est hélas pas connu sur la toile. Il faut donc réécrire le nom de domaine lorsque l'on veut envoyer un courriel vers l'extérieur. certains fournisseurs d'accès empêchent l'envoi de courriel lorsqu'ils ne connaissent le nom de domaine.\\ | ||
- | |||
- | on édite un fichier | ||
- | |||
- | sudo gedit /etc/postfix/main.cf | ||
- | |||
- | puis on va y modifier un certain nombre de ligne | ||
- | en voici un copie | ||
- | |||
- | # See /usr/share/postfix/main.cf.dist for a commented, more complete version | ||
- | |||
- | smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) | ||
- | biff = no | ||
- | |||
- | # appending .domain is the MUA's job. | ||
- | append_dot_mydomain = no | ||
- | |||
- | # Uncomment the next line to generate "delayed mail" warnings | ||
- | #delay_warning_time = 4h | ||
- | |||
- | #nom du serveur de mail | ||
- | myhostname = postfix.fr | ||
- | mydomaine= ce que l'on veut | ||
- | mynetworks = 127.0.0.0/8 | ||
- | |||
- | #gestion des alias | ||
- | alias_maps = hash:/etc/aliases | ||
- | alias_database = hash:/etc/aliases | ||
- | |||
- | myorigin = /etc/mailname | ||
- | mydestination = localhost.localdomain, postfix.fr, localhost, ubuntu, | ||
- | #relayhost = smtp.fai.fr | ||
- | |||
- | mailbox_command = procmail -a "$EXTENSION" | ||
- | mailbox_size_limit = 0 | ||
- | recipient_delimiter = + | ||
- | inet_interfaces = all | ||
- | |||
- | #serveur imap renvoie sur le dossier Maildir | ||
- | home_mailbox=Maildir/ | ||
- | |||
- | #ligne pour la translation d'adresse(en plus) | ||
- | sender_canonical_maps = hash:/etc/postfix/canonical | ||
- | |||
- | [[ | ||
- | http://doc.ubuntu-fr.org/serveur/postfix]] | ||
- | |||
- | ====== conclusion ====== | ||
- | pour plus d'information rendez vous sur le forum[[http://forum.ubuntu-fr.org/viewtopic.php?id=71599]] |