Cette page n'a pas encore d'étiquettes.
Apportez votre aide…

Ceci est une ancienne révision du document !


Version : dapper drake

Rédigé par 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.

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.

configuration de mutt

configuration de postfix

conclusion

pour plus d'information rendez vous sur le forumhttp://forum.ubuntu-fr.org/viewtopic.php?id=71599

  • installer_un_serveur_de_mail.1165603456.txt.gz
  • Dernière modification: Le 08/12/2006, 19:46
  • (modification externe)