Un point important a precise avant : Maildrop n’est pas compile par default avec le suport LDAP. Dans les nouvelles version le support LDAP a disparu. Je ne me suis pas encore penche sur la configuration avec le authdeamon. En attendant il ne faut surtout pas mettre maildrop a jour.
Fichier de configuration ldap, maildropldap.config :
# Sample maildropldap.conf file, to enable virtual users via # LDAP in maildrop. # # In order for the LDAP extension to work properly a few # attributes must exist in the LDAP entries. # # You may redefine the actual names of these attributes, as they appear # in your LDAP object class further down in this config file. # # The attributes are: # # mail - The full email address of the user (ie user@yourdomain.com) # This is the primary attribute searched upon by maildrop. # # maildir - The location (full path including name) of the users # mail directory (Maildir) # # homedirectory - The location (full path including name) of the # users home directory. This may be the same as the # users maildir. # # uidnumber - The uid of the user that owns the mail files for # this user. This may be a specific uid per user, # or a single uid for every user (full 'virtual' user # configuration), or a combination. # # gidnumber - The gid of the user that owns the mail files for # this user. This may be a specific gid per user, # or a single gid for every user (full 'virtual' user # configuration), or a combination. # # quota - *OPTIONAL* The quota for this user. If blank, or # non-existent defaults to no quota. # # A sample LDAP entry is given at the end of this file. # # --- Actual configuration begins here ----------------------------- # hostname - host name of your ldap server hostname localhost # basedn - base DN by which to search for LDAP entries basedn o=mail # filter - optional, addition filter to add to # default 'mail=<email address>' # 'emailstatus' is an attribute which could be created in the # LDAP entry to set whether or not the user is allowed to # receive email on this box.. just an example # # this option can be left out and the default search would # just be 'mail=<email address>' #filter &(&(objectclass=vmailAccount)(emailstatus=active)) filter &(AccountStatus=active) # binddn, bindpw - optional, binddn and password if your ldap server # requires you to authenticate before searching binddn cn=reader,o=mail bindpw secret # timeout - specifies maximum time ( in seconds ) to wait for a response # from the LDAP server timeout 5 # search_method - used to specify whether to search on the users id, or # email address, and may be either 'mail' or 'uid' # # if set to 'mail' (default) then to deliver mail to a user you must # specify the entire email address: # ie. maildrop -d joeuser@domain.com # # if set to 'uid' then to deliver mail to a user you need only specify # the users id (username) # ie. maildrop -d joeuser # search_method mail # default_uid - default uid (number only) to use incase uidnumber attribute not # found in users ldap entry default_uidnumber 5000 # default_gid - default gid (number only) to use incase gidnumber attribute not # found in users ldap entry default_gidnumber 5000 # LDAP Field definitions # # This section allows you to specify the actual attributes you # use in your LDAP object class # # The example attribute mapping shown below is also the default # mapping used by maildrop in the case that any are missing # MAIL_ATTR - LDAP attribute which contains the users complete email address mail_attr mailAlternateAddress # UID_ATTR - LDAP attribute which contains the users name (w/o domain) uid_attr uid # UIDNUMBER_ATTR - LDAP attribute which contains the system uid to deliver # mail as #uidnumber_attr uidnumber # GIDNUMBER_ATTR - LDAP attribute which contains the system gid to deliver # mail as #gidnumber_attr gidnumber # MAILDIR_ATTR - LDAP attribute which contains the path to the users # custom maildir maildir_attr mailMessageStore # HOMEDIRECTORY_ATTR - LDAP attribute which contains the path to the users # home directory homedirectory_attr mailMessageStore # QUOTA_ATTR - LDAP attribute which contains the users quota #quota_attr mailQuota
Ainsi que le fichier maildroprc :
# Global maildrop filter file
# Uncomment this line to make maildrop default to ~/Maildir for
# delivery- this is where courier-imap (amongst others) will look.
#DEFAULT="$HOME/Maildir"
#logfile "/tmp/maildrop.log"
if (/^From: report@idbconsulting/)
{
# log "Report"
# log "Report $HOME $DEFAULT"
`maildirmake -f Report "$DEFAULT"`
if (/^Subject: VIRUS/)
{
`maildirmake -f Report.Virus "$DEFAULT"`
to "$HOME/.Report.Virus"
}
if (/^Subject: SPAM/)
{
`maildirmake -f Report.Spam "$DEFAULT"`
to "$HOME/.Report.Spam"
}
if (/^Subject: BANNED/)
{
`maildirmake -f Report.Banned "$DEFAULT"`
to "$HOME/.Report.Banned"
}
to "$HOME/.Report/"
}
if (/^X-Spam-Status: Yes.*/)
{
# log "Spam"
# log "Spam $HOME $DEFAULT"
`maildirmake -f SPAM "$DEFAULT"`
to "$HOME/.SPAM/"
}
include "$HOME/filter"
Note sur la derniere ligne :
Le fichier de filtre par utilisateur est forcement cree par l’api de gestion des utilisateurs.