|
Luego de la evidente prueba de enviarle el correo a la cuenta micliente@dominio.com mientras monitoreaba el log de sendmail para ver cómo recibía el correo y si se disparaba un correo de regreso a mi cuenta, encontré que no pasaba nada, el correo efectivamente terminaba en el inbox del usuario, pero no se disparaba ningún mensaje de vuelta, tampoco mostraba ningún error, ningún mensaje informativo, no pasaba nada, cero, niet, none ...
Como si sendmail estuviera ignorando el .forward del usuario ... lo que efectivamente sucede, si no se tienen en cuenta estos tres requerimientos, que luego de una búsqueda cuidadosa encontré en el capitulo 25 del manual de O'Relly de sendmail:
- "If sendmail cannot read the ~/.forward file (for any reason), it silently ignores that file."
- "Before reading the ~/.forward file, sendmail checks to see whether it is a "safe" file - one that is owned by the user or root and that has the read permission bit set for the owner. If the ~/.forward file is not safe, sendmail silently ignores it."
- "If sendmail can find and read the ~/.forward file and if that file is safe, sendmail opens the file for reading and gathers a list of recipients from it."
Evidentemente les resalté los permisos que debe tener el .forward pues a mi me llevo cierto tiempo identificar los correctos.
Luego de realizar la prueba de nuevo, encontré que el sistema me respondió un correo, lastimosamente no la auto respuesta que yo esperaba, pero si uno en el que me informaba que había un problema con la ejecución del .forward :
Para una desripción completa de la sintomatología, se puede consultar la siguiente FAQ de sendmail [http://www.sendmail.org/faq/section3.html#3.11] donde especifican claramente que los usuarios para poder ejecutar el .forward deben tener un shell nombrado en el /etc/shells, como mi usuario es un usario de correo, yo les tengo configurado /bin/rbash que no les permite hacer practicamente nada. Adicionando este shell a /etc/shells resolvio el problema de la ejecución del archivo, sin embargo, no resolvió el problema de la autorespuesta.
Finalmente y para no entrar en detalles, terminé usando Procmail en lugar del .forward pues entendí que como el usuario esté en el virtualtable de sendmail, cuando se recibe el correo, sendmail se lo envía directamente al usuario local saltando el .forward, entre otras por que tiene la siguiente directiva
FEATURE(local_procmail,`',`procmail -t -Y -a $h -d $u')dnl en el sendmail.mc, aún no me queda claro por qué funciona para usuarios de máquina, pero no para usuarios virtuales.
Para usar Procmail me basé en esta página http://www.cs.columbia.edu/~crf/howto/vacation-howto.html, donde básicamente se pone lo mismo que teníamos en el .forward que nos generó el utilitario vacation. [root@web10 root]# su - usuario [usario@web10 usuario]# vi .procmailrc

Bien ahora no olviden eliminar o mover el .forward por que por alguna razón, que en este momento sinceramente no me interesa encontrar, no funciona si lo dejamos. [usario@web10 usuario]# mv .forward .forward.old
Y listo ahora si hacemos la prueba del envío del correo. A esta altura tenía un script en el ssh de mi servidor de desarrollo que enviaba la prueba pues no soportaba el proceso de enviarlo una vez más desde mi Outlook.... casi lloro de la emocion al ver que me regresaba el mensaje de autorespuesta. |