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"`
}