Wednesday, June 15, 2011

Iredmail Procmail - reenvio de correo

Para poder hacer un reenvió de correos en el sistema iRedMail, y no tener problemas con reenvios de correos de un mismo dominio, se tiene que modificar el encabezado del correo.

iRedMail tiene varias opciones para realizar la entrega, en este tutorial se utilizara procmail.

Empezamos instalando el procmail


sudo apt-get install procmail

Editamos el siguiente archivo

vim /etc/procmailrc


Especificando la ruta correcta del HOME.

#MAILBOX="$HOME/$DOMAIN/$USER/"
MAILBOX="/var/vmail/procmail1/$DOMAIN/$USER/"


Preparamos el archivo donde se guardaran las bitacoras.

touch /var/log/procmail.log
chown vmail:vmail /var/log/procmail.log
chmod 0700 /var/log/procmail.log


Se crea el usuario en postfixadmin.

En MySQL modificamos los campos transport y storagenode.
mysql -uroot -p

UPDATE vmail.mailbox SET transport='procmail',storagenode='procmail1' WHERE USERNAME='usuario@midominio.com';

Se crea la ruta.

mkdir -p /var/vmail/procmail1/midominio.com/usuario/

Y se agrega el siguiente archivo, en este caso usando VI

vim /var/vmail/procmail1/midominio.com/usuario/.procmailrc

Y colocamos lo siguiente

:0c
* ! ^X-Loop: usuario@otrodominio\.com
| formail -k -X "From:" -X "Subject:" -X "Content-Type:" \
        -I "To: usuario@otrodominio.com" -X "To:" \
        -I "X-Loop: usuario@otrodominio.com" -X "X-Loop:" \
  | $SENDMAIL $SENDMAILFLAGS -t



Esto es lo que hace cada linea:
:0c Si se quiere dejar una copia en el servidor

Reenviamos copia del correo, modificando el encabezado con formail y lo reenviamos con el nuevo encabezado.


* ! ^X-Loop: usuario@otrodominio\.com

Para remover todos los campos en el encabezado excepto From: Subject: y Content-Type:


-k -X "From:" -X "Subject:" -X "Content-Type:"

Ahora insertamos los nuevos campos

-I "To: usuario@otrodominio.com" -X "To:"
-I "X-Loop: usuario@otrodominio.com" -X "X-Loop
:"

Y enviamos el correo con sendmail, El -t indica que las lineas To: (and Cc: etc) en el mensaje contiene direcciones de correo.

$SENDMAIL $SENDMAILFLAGS -t


Por ultimo cambiamos de propietario a la carpeta y su contenido

chown -R vmail.vmail  /var/vmail/procmail1/midominio.com/usuario

Más información:
http://www.iredmail.org/forum/topic480-faq-how-to-use-procmail-to-deliver-mail-peruser-setting.html
http://www.unixgeeks.org/security/newbie/unix/procmail/formail-1.html
http://partmaps.org/era/procmail/mini-faq.html#forward-mod

No comments:

Post a Comment