Es imprescindible que los buzones de correo existan antes de su uso. Por este motivo, cada vez que se añada un usuario de correo, se ha de crear su directorio HOME y el buzón de correo asociado, así como el archivo de recursos para procmail.
Para automatizar esta operación se ha creado el siguiente script:
| #!/bin/sh
#
# Copyright (C) 2004 Sergio González González <sergio.gonzalez@hispalinux.es>
# 
# Depends on:
#               - ldapsearch
#               - maildirmake ( from courier )
#
# Based on http://jeroen.protheus.com/postfix-courier-ldap-howto.html
# (c) J.Vriesman
#
# and
#
# Based on http://bulma.net/body.phtml?nIdNoticia=2013
# (c) Jesús Roncero Franco
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
#
# Password to bind to ldap server
systempass="1"  
# Bind dn
binddn="ou=postfix,dc=gsr,dc=pt" 
# Acount leave
accountleave="ou=people,dc=gsr,dc=pt" 
# ldap host
ldaphost="gsr.pt"
# Maildir name
maildir="Maildir/"
# Mail users home name
homedir="/home/vmail"
# Mail user's group
group="vmail"
usernames=`ldapsearch -h $ldaphost -x -w $systempass -D "$binddn" \
                      -b "$accountleave" "(!(quota=-1))" uid  \
                      | grep "^[^#]" | grep "^[^dn]" | grep uid | awk '{ print $2 }'`
# create personal mailfolders
for username in $usernames
do
  homedirectory=`ldapsearch -h $ldaphost -x -w $systempass -D "$binddn" \
                            -b "$accountleave" "(uid=$username)" homeDirectory \
                            | grep "^[^#]" | grep homeDirectory | grep "$homedir" \
                            | awk '{ print $2 }'`
  if [ ! -d $homedirectory/$maildir ] && [ ! -z $homedirectory ]
  then
    mkdir -p -m 2750 $homedirectory
    maildirmake $homedirectory/$maildir
    if [ ! -f $homedirectory/.procmailrc ]
    then
      echo -ne "PATH=/usr/bin:/bin:/usr/local/bin:.\nMAILDIR=\$HOME/Maildir\n\
                DEFAULT=\$MAILDIR/" > $homedirectory/.procmailrc
    fi
    chown -R $username.$group $homedirectory
  fi
done | 
El script anterior creará el HOME de los usuarios de correo que no lo tuviesen ya creado, el directorio Maildir en el que se almacenarán los correos enviados al usuario y el archivo .procmailrc, que se encargará de decirle a procmail como se ha de comportar.
| ![[Note]](http://guepardo.dyndns.org:8080/sergio-gonzalez/doc/08-postfix-ldap/html/imagenes/note.png) | Nota | 
|---|---|
| Para la correcta ejecución del script se necesita la herramienta maildirmake. Esta herramienta, utilizada para crear un directorio tipo Maildir, viene junto al paquete courier-base. | |
| ![[Important]](http://guepardo.dyndns.org:8080/sergio-gonzalez/doc/08-postfix-ldap/html/imagenes/important.png) | Importante | 
|---|---|
| Recuerde que cada vez que se añada un usuario al sistema, se ha de ejecutar este script como root. | |