Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
serveur_mail_avec_postfix_et_fetchmail [Le 02/03/2013, 16:56]
184.160.128.26 [Description]
serveur_mail_avec_postfix_et_fetchmail [Le 02/03/2023, 00:39] (Version actuelle)
sefran Ajout tag
Ligne 1: Ligne 1:
-{{tag>dapper ​serveur réseau}}+{{tag>​serveur réseau ​mda VÉTUSTE}}
 ---- ----
  
-====== Installer un serveur ​mail avec postfix, procmail et fetchmail ======+====== Installer un serveur ​de courriel ​avec postfix, procmail et fetchmail ======
  
 ===== Description ===== ===== Description =====
Ligne 18: Ligne 18:
 Avant tout il faut installer un certains nombres de paquets. Avant tout il faut installer un certains nombres de paquets.
 Un simple Un simple
-  
    sudo apt-get install postfix fetchmail procmail mutt    sudo apt-get install postfix fetchmail procmail mutt
- 
 suffit. suffit.
  
Ligne 26: Ligne 24:
 ===== Configuration de fetchmail ===== ===== 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 +Passons maintenant à la configuration de ''​fetchmail''​. ''​fetchmail''​ est chargé de la récupération des courriels. Il faut définir un fichier dans le répertoire personnel de l'​utilisateur. 
- +  sudo touch .fetchmailrc && sudo xdg-open ​.fetchmailrc 
-  sudo gedit .fetchmailrc +Un fichier vide s'​ouvre,​ il faut ajouter :​ 
- +<​file>​## fai : votre fournisseur d'​accès Internet. 
-un fichier vide s'​ouvre,​ il faut ajouter:\\ +poll pop.fai.fr ​   protocol pop3   user toto@fai.net ​ password ​   mot_de_passe_de_toto options keep</​file>​
-  +
-  ​## fai : votre fournisseur d'​accès Internet. +
-  poll pop.fai.fr ​   protocol pop3   user toto@fai.net ​ password ​   mot_de_passe_de_toto options keep +
 puis sauvegarder le fichier. 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.+L'​option //keep// permet de faire des tests sans perdre de courriels. Je dis ça, vous êtes prévenus, ça m’est arrivé de perdre quelques ​courriels ​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.+A la place de //keep//, vous pouvez par la suite utiliser le paramètre //​fetchall//​. Il permet de récupérer tous les courriels. c'est utile si on reçoit beaucoup de courriels ​et que l'on ne veut pas encombrer le serveur du FAI.
  
 __Protection du fichier__\\ __Protection du fichier__\\
Ligne 46: Ligne 40:
 On définit un utilisateur fetchmail (ça manque d’originalité,​ vous pouvez bien sûr l’appeler comme vous voulez) qui doit être créé. On définit un utilisateur fetchmail (ça manque d’originalité,​ vous pouvez bien sûr l’appeler comme vous voulez) qui doit être créé.
    
-  ​sudo adduser -g 65534 -d /répertoire_des_mails ​fetchmail+  ​su adduser -g 65534 -d /répertoire_des_courriels ​fetchmail
  
   * -g ou (-gid) 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).   * -g ou (-gid) 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).
Ligne 68: Ligne 62:
 ===== Configuration de procmail ===== ===== Configuration de procmail =====
  
-Procmail est chargé de faire le tri de mails à l'aide de filtres appelés **recettes**. +Procmail est chargé de faire le tri de courriels ​à l'aide de filtres appelés **recettes**. 
-créons un répertoire pour stocker les mails dans le répertoire personnel de toto +créons un répertoire pour stocker les courriels ​dans le répertoire personnel de toto
   sudo apt-get install maildrop   sudo apt-get install maildrop
   sudo maildirmake Maildir   sudo maildirmake Maildir
- +Ceci créera la boite de courriel ​Maildir/ dans votre ~, autrement dit, dans votre /home/toto.
-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. Une fois de plus il faut rédiger un fichier dans son répertoire personnel par exemple.
 +  sudo touch .procmailrc && sudo xdg-open .procmailrc
 +Il faut compléter la page vierge pour obtenir un fichier de ce type
 +<​file>​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.
  
-  sudo gedit .procmailrc +# Utilise formail pour les courriels ​dupliqués. 
- +:0 Whc: .msgid.lock 
-Il faut compléter la page vierge pour obtenir un fichier de ce type\\ +| $FORMAIL -D 16384 .msgid.cache
- +
-   ​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 +#​utilisation de spamassassin 
-   ​:0 a +:0 a 
-   ​$MAILDIR/​duplicates +$MAILDIR/​duplicates 
-   ​:0fw +:0fw 
-   ​| spamassassin -P +| spamassassin -P 
-   ​:0: +:0: 
-   ​* ^X-Spam-Status:​ Yes +* ^X-Spam-Status:​ Yes 
-   ​$MAILDIR/​spambox+$MAILDIR/​spambox
  
-   Spam à la poubelle. +Pourriels ​à la poubelle. 
-   ​:0 +:0 
-   ​* ^Subject:​.*(credit|cash|money|debt|sex|sale|loan) +* ^Subject:​.*(credit|cash|money|debt|sex|sale|loan) 
-  $MAILDIR/​spam+$MAILDIR/​spam
  
-   # Plus de messages HTML. +# Plus de messages HTML. 
-   ​:0 +:0 
-   ​* ^Content-Type:​.*html +* ^Content-Type:​.*html 
-   ​$MAILDIR/​junk+$MAILDIR/​junk
  
-   # mailing list du wiki-ubuntu +# mailing list du wiki-ubuntu 
-   ​:0 +:0 
-   ​* ^Subject:​.*(UWiki) +* ^Subject:​.*(UWiki) 
-   ​$MAILDIR/​UWiki+$MAILDIR/​UWiki
  
-   #tri des mails locaux +#tri des courriels ​locaux 
-   ​:0 +:0 
-   ​* ^TOtoto@postfix.fr +* ^TOtoto@postfix.fr 
-   ​$MAILDIR/​locaux +$MAILDIR/​locaux 
-   ​:0 +:0 
-   ​* ^TOroot@postfix.fr +* ^TOroot@postfix.fr 
-   ​$MAILDIR/​locaux +$MAILDIR/​locaux 
-   ​ +   
-   ​#######################################​ +#######################################​ 
-   ​# Dernière règle : tout ce qui arrive # +# Dernière règle : tout ce qui arrive # 
-   ​# ici va dans la boîte par défaut. ​   # +# ici va dans la boîte par défaut. ​   # 
-   ​#######################################​ +#######################################​ 
-   ​:0 +:0 
-   ​* .* +* .* 
-   ​Inbox +Inbox</​file>​
-    +
-   # Fin de fichier+
  
-MAILDIR=/​home/​toto/​Maildir est le répertoire où seront stockés les mails triés.\\+MAILDIR=/​home/​toto/​Maildir est le répertoire où seront stockés les courriels ​triés.\\
 LOGFILE=/​home/​toto/​.procmaillog est le fichier d'​erreurs. LOGFILE=/​home/​toto/​.procmaillog est le fichier d'​erreurs.
  
 Viens ensuite les différentes recettes. Viens ensuite les différentes recettes.
 On marque le début d'une recette par 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**+**:0** puis on indique le critère de tri par *** ^TO** ou ***^Subject** et enfin le fichier où l'on stocke les courriels. 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. 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 : Dans le fichier on a :
-  * une recette pour éviter les mails dupliqués+  * une recette pour éviter les courriels ​dupliqués
   * l'​utilisation de spamassassin   * l'​utilisation de spamassassin
   * un tri en fonction des listes de diffusions   * un tri en fonction des listes de diffusions
-  * les mails internes ​+  * les courriels ​internes
   * et le restant est stocké dans le fichier Inbox.   * et le restant est stocké dans le fichier Inbox.
- 
  
  
 ===== Vérification du fonctionnement du serveur ===== ===== Vérification du fonctionnement du serveur =====
 Cette étape peut être faite à partir du moment où le serveur smtp est installé. 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.+Le plus simple est de s'​envoyer des messages par son courrielleur ​habituel.
  Ou utiliser la commande mail du paquet mailx.  Ou utiliser la commande mail du paquet mailx.
 Par exemple : Par exemple :
Ligne 171: Ligne 157:
   essai pour voir   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.\\ +puis ctrl+d pour envoyer un courriel ​avec pour sujet essai à toto@fai.net et comme texte essai pour voir. sans copie particulière.\\ 
-__comment relever ses mails avec fetchmail.__\\+__comment relever ses courriels ​avec fetchmail.__\\
 il suffit de taper il suffit de taper
   fetchmail -akv -m "/​usr/​bin/​procmail -d %T"   fetchmail -akv -m "/​usr/​bin/​procmail -d %T"
  
-Si les droits sont bien attribués, on voit fetchmail interroger le fai et le voir récupérer les mails.+Si les droits sont bien attribués, on voit fetchmail interroger le FAI et le voir récupérer les courriels.
  
 Sinon il faut vous les réattribuer avec un chmod, chgrp et chown. Sinon il faut vous les réattribuer avec un chmod, chgrp et chown.
Ligne 182: Ligne 168:
 __Comment vérifier le tri?__\\ __Comment vérifier le tri?__\\
 Il faut simplement aller dans le dossier **Maildir** et cliquer sur les fichiers définis dans procmail. 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.+Tant qu'un courriel n'est pas trié par la recette, le fichier correspondant n’apparaît ​pas.
  
 si vous ne les trouvez pas ils peuvent être stockés dans le répertoire **/​var/​mail/​toto ou root.** si vous ne les trouvez pas ils peuvent être stockés dans le répertoire **/​var/​mail/​toto ou root.**
Ligne 198: Ligne 184:
 Pour que les **fichiers triés par procmail** apparaissent et soient gérés par Thunderbird,​ il faut **créer des sous-dossiers dans les dossiers locaux**. Pour que les **fichiers triés par procmail** apparaissent et soient gérés 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.+Par exemple, créer un sous-dossier spambox pour récupérer les pourriels.
 Ou un sous-dossier locaux pour les messages internes. Ou un sous-dossier locaux pour les messages internes.
 Il en faut autant que de fichier trié par procmail. Il en faut autant que de fichier trié par procmail.
Ligne 207: Ligne 193:
  
 ===== Configuration de postfix ===== ===== Configuration de postfix =====
-Enfin on utilise postfix pour envoyer des mails. C'est une utilisation très simple de ce serveur de mails.\\+Enfin on utilise postfix pour envoyer des courriels. C'est une utilisation très simple de ce serveur de courriels.\\
 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.\\ 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 On édite un fichier
- +  ​sudo xdg-open ​/​etc/​postfix/​main.cf
-  ​sudo gedit /​etc/​postfix/​main.cf +
 Puis on va y modifier un certain nombre de ligne Puis on va y modifier un certain nombre de ligne
 en voici un copie en voici un copie
 +<file txt main.cf>#​ See /​usr/​share/​postfix/​main.cf.dist for a commented, more complete version
  
-  # See /​usr/​share/​postfix/​main.cf.dist for a commented, more complete version+smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) 
 +biff = no
  
-  smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu) +# appending .domain is the MUA's job. 
-  ​biff ​= no+append_dot_mydomain ​= no
  
-  ​appending .domain is the MUA's job. +Uncomment ​the next line to generate "​delayed mail" warnings 
-  ​append_dot_mydomain ​no+#​delay_warning_time ​4h
  
-  ​Uncomment the next line to generate "​delayed mail" warnings +#nom du serveur de courriel 
-  #​delay_warning_time ​4h+myhostname = postfix.fr 
 +mydomain = ce que l'on veut 
 +mynetworks ​127.0.0.0/8
  
-  ​#nom du serveur de mail +#gestion des alias 
-  ​myhostname ​postfix.fr +alias_maps ​hash:/​etc/​aliases 
-  ​mydomain ​ce que l'on veut +alias_database ​hash:/etc/aliases
-  mynetworks = 127.0.0.0/8+
  
-  #gestion des alias +myorigin ​= /etc/mailname 
-  alias_maps ​hash:/etc/aliases +mydestination ​localhost.localdomain,​ postfix.fr, localhost, ubuntu, 
-  ​alias_database ​hash:/​etc/​aliases+#relayhost = smtp.fai.fr
  
-  myorigin ​/​etc/​mailname +mailbox_command ​procmail -a "​$EXTENSION"​ 
-  ​mydestination ​localhost.localdomain,​ postfix.fr, localhost, ubuntu, +mailbox_size_limit ​0 
-  #​relayhost ​smtp.fai.fr+recipient_delimiter ​
 +inet_interfaces = all
  
-  mailbox_command = procmail -a "​$EXTENSION"​ +#serveur imap renvoie sur le dossier Maildir 
-  mailbox_size_limit = 0 +home_mailbox=Maildir/
-  recipient_delimiter = + +
-  ​inet_interfaces ​all+
  
-  #serveur imap renvoie sur le dossier Maildir +#ligne pour la translation d'​adresse(en plus) 
-  home_mailbox=Maildir/​ +sender_canonical_maps = hash:/​etc/​postfix/​canonical</​file>​ 
- +Le nom de domaine**(myhostname)** correspond au nom de serveur de courriel ​interne. postfix.fr\\
-  ​#ligne pour la translation d'​adresse(en plus) +
-  sender_canonical_maps = hash:/​etc/​postfix/​canonical +
- +
-Le nom de domaine**(myhostname)** correspond au nom de serveur de mail interne. postfix.fr\\+
 Le nom de domaine**(mydomain)** correspond à un domaine comme www.goolge.fr ou autre. Le nom de domaine**(mydomain)** correspond à un domaine comme www.goolge.fr ou autre.
-Il existe la possibilité par exemple d'​associer un nom de domaine(toto) à son adresse IP(80.truc.muche). je vous invite à voir la page correspondante[[http://​doc.ubuntu-fr.org/​serveur/​dns_dynamique]].+Il existe la possibilité par exemple d'​associer un nom de domaine(toto) à son adresse IP(80.truc.muche). je vous invite à voir la page correspondante [[:​dns_dynamique]].
  
-Les alias(**alias_map**) servent à simplifier l'​écriture des en-têtes des courriers ainsi en tapant //toto// cela signifie pour le serveur de mail //​toto@postfix.fr.//​ On peut même rediriger le courrier de //root// vers sa propre adresse. C'est relativement intéressant car certains programmes envoient des mails internes pour prévenir des défaillances (exemple fail2ban). +Les alias(**alias_map**) servent à simplifier l'​écriture des en-têtes des courriers ainsi en tapant //toto// cela signifie pour le serveur de courriel ​//​toto@postfix.fr.//​ On peut même rediriger le courrier de //root// vers sa propre adresse. C'est relativement intéressant car certains programmes envoient des courriels ​internes pour prévenir des défaillances (exemple fail2ban). 
-Pour cela il faut ouvrir le fichier /​etc/​aliases,​ on voit apparaitre ​le nom de l'​utilisateur et l'​adresse ​email associée.+Pour cela il faut ouvrir le fichier /​etc/​aliases,​ on voit apparaître ​le nom de l'​utilisateur et l'​adresse ​courriel ​associée.
  
-Sur le courriel ​apparait ​le nom du serveur qui a envoyé le mail**(myorigin**). Ici c'est le nom de notre domain ​situé dans /​etc/​mailname(postfix.fr). C'est ce nom qu'il faudra modifier pour envoyer un mail.\\+Sur le courriel ​apparaît ​le nom du serveur qui a envoyé le mail**(myorigin**). Ici c'est le nom de notre domaine ​situé dans /​etc/​mailname(postfix.fr). C'est ce nom qu'il faudra modifier pour envoyer un courriel.\\
 **mydestinations** indique les autres noms possibles pour envoyer des courriels sur le réseau interne. Ainsi pour envoyer un courrier à toto, on peut écrire toto@postfix.fr mais aussi toto@localhost. Le courrier sera acheminé de la même façon.\\ **mydestinations** indique les autres noms possibles pour envoyer des courriels sur le réseau interne. Ainsi pour envoyer un courrier à toto, on peut écrire toto@postfix.fr mais aussi toto@localhost. Le courrier sera acheminé de la même façon.\\
 **La mailcommand** permet de commander procmail par postfix pour qu'il reçoivent le courrier. **La mailcommand** permet de commander procmail par postfix pour qu'il reçoivent le courrier.
Ligne 265: Ligne 247:
 (**home_mailbox**) Si on a installé un serveur Imap(courrier-Imap) le courrier téléchargé est stocké dans le répertoire /Maildir. (**home_mailbox**) Si on a installé un serveur Imap(courrier-Imap) le courrier téléchargé est stocké dans le répertoire /Maildir.
  
-La ligne de réécriture d'​adresse(**sender_canonical_maps**) est à ajouter. On va maintenant changer lors de l'​envoi des mails, l'​adresse de l'​expéditeur. On modifie toto@postfix.fr par toto@fai.fr.\\+La ligne de réécriture d'​adresse(**sender_canonical_maps**) est à ajouter. On va maintenant changer lors de l'​envoi des courriels, l'​adresse de l'​expéditeur. On modifie toto@postfix.fr par toto@fai.fr.\\
 Il ne faut pas oublier de créer le fichier /​etc/​postfix/​canonical Il ne faut pas oublier de créer le fichier /​etc/​postfix/​canonical
- +  ​sudo touch /​etc/​postfix/​canonical && sudo xdg-open ​/​etc/​postfix/​canonical
-  ​sudo gedit /​etc/​postfix/​canonical +
 Une page vierge s'​ouvre,​ on écrit : Une page vierge s'​ouvre,​ on écrit :
- +<​file>​toto@postfix.fr  ​  ​toto@fai.fr</​file>​
-  ​toto@postfix.fr  ​  ​toto@fai.fr+
 Il faut enfin penser à charger la base de données liée à postfix par un Il faut enfin penser à charger la base de données liée à postfix par un
 postmap. postmap.
- 
    ​postmap /​etc/​postfix/​canonical    ​postmap /​etc/​postfix/​canonical
-[[ 
-http://​doc.ubuntu-fr.org/​serveur/​postfix]] 
- 
- 
  
 ===== Conclusion ===== ===== Conclusion =====
-J'ai décrit sur cette page l'​installation personnelle de mon serveur de mails, espérant que cela puisse aider d'​autres personnes.\\+J'ai décrit sur cette page l'​installation personnelle de mon serveur de courriels, espérant que cela puisse aider d'​autres personnes.\\
 L'​installation de postfix n'est pas une utilisation très poussée. Pour plus d'​explications,​ je vous invite à lire la documentation spécialisée.\\ L'​installation de postfix n'est pas une utilisation très poussée. Pour plus d'​explications,​ je vous invite à lire la documentation spécialisée.\\
 __webographie__ ensemble des liens qui m'ont permis d'​élaborer le serveur. __webographie__ ensemble des liens qui m'ont permis d'​élaborer le serveur.
  
  
-Pour plus d'​informations rendez vous sur le forum[[http://​forum.ubuntu-fr.org/​viewtopic.php?​id=71599]].+Pour plus d'​informations rendez vous sur le forum[[https://​forum.ubuntu-fr.org/​viewtopic.php?​id=71599]].
  
  
  • serveur_mail_avec_postfix_et_fetchmail.1362239804.txt.gz
  • Dernière modification: Le 02/03/2013, 16:56
  • par 184.160.128.26