Es un agente de entrega de correo (MDA) que lee un mensaje de correo electrónico desde la entrada estándar y lo entrega a un buzón. Es particularmente útil para filtrar, clasificar y procesar correos antes de que lleguen a la bandeja de entrada, lo que te permite organizar el correo de forma automática y eficiente. Maildrop puede entregar correo tanto en formato mbox como maildir. Incluye las herramientas lockmail.maildrop, mailbot, maildirkw.maildrop, maildirmake.maildrop, maildirwatch, maildrop, makedat.maildrop, makedatprog, makemime, reformail, reformime y deliverquota.maildrop.
Maildrop utiliza un archivo de reglas, similar a un script, para determinar qué hacer con los mensajes entrantes.
$ maildrop -d usuario
$ echo "Subject: Prueba\n\nEste es un correo de prueba" | maildrop -d usuario
$ lockmail /var/mail/usuario maildrop -d usuario
$ mailbot -T reply -t archivo_respuesta -d base_datos -A 'From: correo@dominio.com' sendmail
$ echo "Subject: Mensaje recibido\n\nGracias por tu correo." | mailbot -T reply -t /usr/share/auto_reply.txt -d autoresponsedb -A 'From: yo@dominio.com' /usr/sbin/sendmail -t
$ maildirkw $HOME/Maildir/IN.Important add importante
$ maildirmake -q 1000000S -f IN.Archivados $HOME/Maildir
$ maildirwatch $HOME/Maildir
$ makedat autoresponsedb
$ makedat -db base_datos
$ makedatprog autoresponsedb
$ makemime -c "text/plain" -f mensaje.txt -o correo.mime
$ echo "Subject: Prueba\n\nMensaje" | reformail -f0 | maildrop -d usuario
$ reformail -D 8000 duplicate.cache
$ reformime -e -s 1.1 < correo.mime > parte_extraida.txt
$ echo "Subject: Prueba\n\nMensaje con cuota" | deliverquota $HOME/Maildir
Ejemplo de reglas básica de configuración
$ nano ~/.maildrop
# Si el asunto del correo contiene la palabra "Spam" lo mueve a la carpeta Spam
if (/^Subject:.*[Spam]/)
{
to "$HOME/Maildir/.Spam"
}
# Busca una cabecera List-Id en el correo. Si encuentra el valor especificado,
# entrega el mensaje a la carpeta dev-team.
if (/^List-Id:.*<dev-team.example.com>/)
{
to "$HOME/Maildir/.listas/dev-team"
}
# Si el correo proviene de spammer@example.com, lo elimina
if (/^From:.*spammer@example.com/)
{
# elimina el correo
exit
}
# Mover el correo con score de spam alto a la carpeta Spam
if (/^X-Spam-Score:.*[5-9]|1[0-9]/)
{
to "$HOME/Maildir/.Spam"
}
# Reenviar el correo a 'otro-usuario@example.com'. Con reformail modifica el correo
# y lo pasa a sendmail para reenviarlo.
if (/^Subject:.*[Reenviar]/)
{
to "| /usr/bin/reformail -i $HOME/.forward | /usr/sbin/sendmail otro-usuario@example.com"
}
# Usar mailbot para enviar una respuesta automática
if (/^Subject:.*[Consulta]/)
{
to "| /usr/bin/mailbot -t -A -T -M 'Hola, hemos recibido su consulta y le responderemos en breve. Gracias.' -f 'no-reply@example.com' -- "