informatique:reseau:messagerie:maildrop

Différences

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

Lien vers cette vue comparative

Prochaine révision
Révision précédente
informatique:reseau:messagerie:maildrop [2010/02/17 15:03] – Reprise ancien Wiki bn8informatique:reseau:messagerie:maildrop [2012/02/03 14:40] (Version actuelle) bn8
Ligne 1: Ligne 1:
 +====== Maildrop ======
 +
 +
 **Maildrop** est un **MDA** (//Mail Delivry Agent//) pouvant se subtituer à [[informatique:reseau:messagerie:postfix|Postfix]] au moment de délivrer les mails. **Maildrop** est un **MDA** (//Mail Delivry Agent//) pouvant se subtituer à [[informatique:reseau:messagerie:postfix|Postfix]] au moment de délivrer les mails.
  
 [[informatique:reseau:messagerie:postfix|Postfix]] lui passera le mail en lui passant en paramètre le nom ou le mail de l'utilisateur pour que celui-ci aille le déposer dans sa boite mail. [[informatique:reseau:messagerie:postfix|Postfix]] lui passera le mail en lui passant en paramètre le nom ou le mail de l'utilisateur pour que celui-ci aille le déposer dans sa boite mail.
  
-====== Configuration de [[Postfix]] ======+===== Configuration de Postfix =====
   * main.cf   * main.cf
  
Ligne 18: Ligne 21:
   * Penser à redémarrer [[informatique:reseau:messagerie:postfix|Postfix]] pour appliquer ces modifications   * Penser à redémarrer [[informatique:reseau:messagerie:postfix|Postfix]] pour appliquer ces modifications
  
-====== Configuration de Maildrop ====== +===== Configuration de Maildrop ===== 
-===== Configuration LDAP =====+==== Configuration LDAP ====
   * /etc/maildropldap.config   * /etc/maildropldap.config
  
   # hostname - host name of your ldap server   # hostname - host name of your ldap server
   hostname        ldap1 ldap2   hostname        ldap1 ldap2
 +  
   # basedn - base DN by which to search for LDAP entries   # basedn - base DN by which to search for LDAP entries
   basedn          ou=people,o=example   basedn          ou=people,o=example
 +  
   # binddn, bindpw - optional, binddn and password if your ldap server   # binddn, bindpw - optional, binddn and password if your ldap server
   # requires you to authenticate before searching   # requires you to authenticate before searching
   binddn cn=mail,ou=softwareaccounts,o=example   binddn cn=mail,ou=softwareaccounts,o=example
   bindpw mailpassword   bindpw mailpassword
 +  
   # timeout - specifies maximum time ( in seconds ) to wait for a response   # timeout - specifies maximum time ( in seconds ) to wait for a response
   # from the LDAP server   # from the LDAP server
   timeout         10   timeout         10
 +  
   # search_method - used to specify whether to search on the users id, or   # search_method - used to specify whether to search on the users id, or
   # email address, and may be either 'mail' or 'uid'   # email address, and may be either 'mail' or 'uid'
Ligne 49: Ligne 52:
   #   #
   search_method           mail   search_method           mail
 +  
   # default_uid - default uid (number only) to use incase uidnumber attribute not   # default_uid - default uid (number only) to use incase uidnumber attribute not
   # found in users ldap entry   # found in users ldap entry
   default_uidnumber       1000   default_uidnumber       1000
 +  
   # default_gid - default gid (number only) to use incase gidnumber attribute not   # default_gid - default gid (number only) to use incase gidnumber attribute not
   # found in users ldap entry   # found in users ldap entry
   default_gidnumber       1000   default_gidnumber       1000
 +  
   # MAIL_ATTR - LDAP attribute which contains the users complete email address   # MAIL_ATTR - LDAP attribute which contains the users complete email address
   mail_attr               maildrop   mail_attr               maildrop
 +  
   # UID_ATTR - LDAP attribute which contains the users name (w/o domain)   # UID_ATTR - LDAP attribute which contains the users name (w/o domain)
   uid_attr                uid   uid_attr                uid
 +  
   # MAILDIR_ATTR - LDAP attribute which contains the path to the users   # MAILDIR_ATTR - LDAP attribute which contains the path to the users
   # custom maildir   # custom maildir
   maildir_attr            mailbox   maildir_attr            mailbox
 +  
   # HOMEDIRECTORY_ATTR - LDAP attribute which contains the path to the users   # HOMEDIRECTORY_ATTR - LDAP attribute which contains the path to the users
   # home directory   # home directory
   homedirectory_attr      mailbox   homedirectory_attr      mailbox
 +  
   # QUOTA_ATTR - LDAP attribute which contains the users quota   # QUOTA_ATTR - LDAP attribute which contains the users quota
   quota_attr              mailQuota   quota_attr              mailQuota
  
-====== Configuration du filtrage ======+===== Configuration du filtrage =====
 Le fichier **/etc/maildroprc** contient les actions effectuées par maildrop pour délivrer le mail (un peu comme **~/procmailrc**). Le fichier **/etc/maildroprc** contient les actions effectuées par maildrop pour délivrer le mail (un peu comme **~/procmailrc**).
   * /etc/maildroprc   * /etc/maildroprc
Ligne 81: Ligne 84:
   # Global maildrop filter file   # Global maildrop filter file
   DEFAULT="$HOME"   DEFAULT="$HOME"
 +  
   `test -d $DEFAULT`   `test -d $DEFAULT`
 +  
   if ( $RETURNCODE == 1 )   if ( $RETURNCODE == 1 )
   {   {
           `maildirmake $DEFAULT`           `maildirmake $DEFAULT`
   }   }
 +  
   if (/^X-Spam-Status: Yes/)   if (/^X-Spam-Status: Yes/)
   {   {
Ligne 96: Ligne 99:
                           `maildirmake $DEFAULT/.Junk`                           `maildirmake $DEFAULT/.Junk`
                   }                   }
 +  
           to "$DEFAULT/.Junk/"           to "$DEFAULT/.Junk/"
   }   }
 +  
   `test -r $HOME/.mailfilter`   `test -r $HOME/.mailfilter`
   if( $RETURNCODE == 0 )   if( $RETURNCODE == 0 )
Ligne 108: Ligne 111:
      }      }
   }   }
 +  
 **Explication : **Ici Maildrop testera d'abord si la boite mail (la //Maildir//) existe et le créera sinon. Puis si le mail est reconnu comme un spam (via le //header// du mail **X-Spam-Status: Yes**), il le délivrera dans le dossier **Junk** de la boite mail (si le dossier n'existe pas, il le créera). Puis enfin, si le fichier **.mailfilter** dans le home de l'utilisateur, il inclura dans son traitement. Si le mail n'est pas délivré pendant le traitement (directive //to//), le mail sera délivré à la racine de la boite mail (dans la //Boite de réception//) dont le chemin est contenu dans la variable //$DEFAULT//. **Explication : **Ici Maildrop testera d'abord si la boite mail (la //Maildir//) existe et le créera sinon. Puis si le mail est reconnu comme un spam (via le //header// du mail **X-Spam-Status: Yes**), il le délivrera dans le dossier **Junk** de la boite mail (si le dossier n'existe pas, il le créera). Puis enfin, si le fichier **.mailfilter** dans le home de l'utilisateur, il inclura dans son traitement. Si le mail n'est pas délivré pendant le traitement (directive //to//), le mail sera délivré à la racine de la boite mail (dans la //Boite de réception//) dont le chemin est contenu dans la variable //$DEFAULT//.
  
  
-====== Configuration de Courier ======+===== Configuration de Courier =====
 Maildrop utilise les librairies de [[informatique:reseau:messagerie:courier|Courier]] pour l'authentification des utilisateurs. Il utilise plus précisément **authdeamon**, le serveur d'authentification de [[informatique:reseau:messagerie:courier|Courier]]. Pour communiquer avec ce service, Maildrop utilise la socket de celui-ci : ///var/run/courier/authdeamon/socket//. L'utilisateur exécutant Maildrop doit donc y avoir accès. Pour cela le plus simple est de placer l'utilisateur dans le groupe //daemon// (dans le fichier ///etc/group//) pour vos tests manuels et de configurer [[informatique:reseau:messagerie:postfix|Postfix]] pour qu'il exécute Maildrop avec les droits du groupe //daemon//. Maildrop utilise les librairies de [[informatique:reseau:messagerie:courier|Courier]] pour l'authentification des utilisateurs. Il utilise plus précisément **authdeamon**, le serveur d'authentification de [[informatique:reseau:messagerie:courier|Courier]]. Pour communiquer avec ce service, Maildrop utilise la socket de celui-ci : ///var/run/courier/authdeamon/socket//. L'utilisateur exécutant Maildrop doit donc y avoir accès. Pour cela le plus simple est de placer l'utilisateur dans le groupe //daemon// (dans le fichier ///etc/group//) pour vos tests manuels et de configurer [[informatique:reseau:messagerie:postfix|Postfix]] pour qu'il exécute Maildrop avec les droits du groupe //daemon//.
  
-**Extrait du fichier //master.cf//+**Extrait du fichier //master.cf//**
  
    maildrop  unix  -                               pipe    maildrop  unix  -                               pipe
Ligne 132: Ligne 135:
 **Remarque : ** La composition de //LDAP_EMAILMAP// se fait à partir des mots clefs //@user@// et //@realm@// correspondant respectivement au nom d'utilisateur et au domaine du mail (tout se qu'il y a avant et après le //@// dans l'adresse mail passé en paramètre). **Remarque : ** La composition de //LDAP_EMAILMAP// se fait à partir des mots clefs //@user@// et //@realm@// correspondant respectivement au nom d'utilisateur et au domaine du mail (tout se qu'il y a avant et après le //@// dans l'adresse mail passé en paramètre).
  
-====== Tests ======+===== Tests =====
 Avant de configurer [[informatique:reseau:messagerie:postfix|Postfix]] pour délivrer les mails via Maildrop, mieux vaut tester que tout fonctionne correctement. Pour cela : Avant de configurer [[informatique:reseau:messagerie:postfix|Postfix]] pour délivrer les mails via Maildrop, mieux vaut tester que tout fonctionne correctement. Pour cela :
   * Changer d'utilisateur pour celui utilisé par Postfix pour lancer Maildrop   * Changer d'utilisateur pour celui utilisé par Postfix pour lancer Maildrop
Ligne 145: Ligne 148:
   To: toto@domain.com   To: toto@domain.com
   Subject: test   Subject: test
 +  
   test   test
  
Ligne 160: Ligne 163:
 La commande devrai rien retourner et le mail devrai se trouvé dans la //Maildir// de l'utilisateur. La commande devrai rien retourner et le mail devrai se trouvé dans la //Maildir// de l'utilisateur.
  
-===== Problèmes possibles =====+==== Problèmes possibles ====
   ERR: authdaemon: s_connect() failed: Permission denied   ERR: authdaemon: s_connect() failed: Permission denied
  
  • informatique/reseau/messagerie/maildrop.1266419018.txt.gz
  • Dernière modification : 2011/06/21 12:48
  • (modification externe)