mail:/home/vmail/dominios# cat .mailfilter # GLOBAL VARIABLES # HOME=/home/vmail/dominios # DEFAULT=dominio.tld/username/ # LOGNAME=username@dominio.tld # Log everything to this file logfile "/home/vmail/maildrop.log" # LOG BEGIN OF FILTERING log "==== BEGIN maildrop processing for $LOGNAME ===" exception { log "Including $HOME/$DEFAULT.mailfilter" include "$HOME/$DEFAULT.mailfilter" } VHOME="/home/vmail/dominios" # Extrae solo el username de username@dominio.tld ACCOUNT=`echo "$LOGNAME" | cut -d@ -f1` # Extrae solo el dominio.tld de username@dominio.tld USERDOMAIN=`echo "$LOGNAME" | cut -d@ -f2` # Logea todo a la ruta especificada. VMAIL_LOGFILE="/home/vmail/maildrop-maildirmake.log" # Ruta a maildirmake MAILDIRMAKE=/usr/bin/maildirmake # Revisar si existe /home/vmail/dominio.tld/username `test -d "$VHOME/$USERDOMAIN/$ACCOUNT"` if( $RETURNCODE == 1 ) { MESSAGE_DATE = `date` # Registra la fecha actual de la creacion del Maildir en el maildrop.log `echo CREATION DATE: "$MESSAGE_DATE" >> $VMAIL_LOGFILE` # Registra la ruta absoluta de el nuevo maildir en el maildrop.log `echo EMAIL DIRECTORY: "$VHOME/$USERDOMAIN/$ACCOUNT" >> $VMAIL_LOGFILE` # Registra el username@dominio.tld a el maildrop.log `echo USER EMAIL LOGIN: "$LOGNAME" >> $VMAIL_LOGFILE` # Agrega una linea en blanco como separadar a el maildrop.log `echo " " >> $VMAIL_LOGFILE` # Revisa si existe el directorio de el dominio /home/vmail/dominio.tld `test -d "$VHOME/$USERDOMAIN"` if( $RETURNCODE == 1 ) { # Registra la fecha de creacion de el directorio del dominio # al maildrop.log `echo CREATING DIRECTORY: "$VHOME/$USERDOMAIN" >> $VMAIL_LOGFILE` # Crea el directorio para dominio.tld `mkdir -p "$VHOME/$USERDOMAIN"` # Agrega una linea en blanco como separador a el maildrop.log `echo " " >> $VMAIL_LOGFILE` } # Crea el directorio para el username `$MAILDIRMAKE "$VHOME/$USERDOMAIN/$ACCOUNT"` # Crea el directorio Sent dentro del el maildir de username `$MAILDIRMAKE -f Sent "$VHOME/$USERDOMAIN/$ACCOUNT"` # Agrega el directorio Sent dentro de los directorios sucritos de username `echo INBOX.Sent >> $VHOME/$USERDOMAIN/$ACCOUNT/courierimapsubscribed` # Crea el directorio Trash dentro del el maildir de username `$MAILDIRMAKE -f Trash "$VHOME/$USERDOMAIN/$ACCOUNT"` # Agrega el directorio Trash dentro de los directorios sucritos de username `echo INBOX.Trash >> $VHOME/$USERDOMAIN/$ACCOUNT/courierimapsubscribed` # Crea el archivo courierimapuiddb dentro de el maildir de username `touch $VHOME/$USERDOMAIN/$ACCOUNT/courierimapuiddb` # Crea el directorio courierimapkeywords dentro de el maildir de username `mkdir -p "$VHOME/$USERDOMAIN/$ACCOUNT/courierimapkeywords"` }