No he visto como lees la lista de usuarios en vacaciones, por cierto.
Era en esta sección: #Vacation :0 * (^To:.*uservacacion1t@*|^To:.*uservacacion2@*|^To:.*user3@*|^T0:.*userX@*) * !^FROM_DAEMON * !^X-Loop: postmaster@dominio.com { :0Whc: vacation.lock | (formail -t -r -I"Subject: Usuario de Vacacionesl" \ -I"From: postmaster@dominio.com" \ -A"X-Loop: postmaster@dominio.com" ; cat $HOME/vacation.txt) | $SENDMAIL -t :0: /dev/null } La idea era salir de la base de que procmail estaba configurado como filtro general, para todos los usuarios. En la línea: * (^To:.*uservacacion1t@*|^To:.*uservacacion2@*|^To:.*user3@*|^T0:.*userX@*) Se ponen "a mano" todos los usuarios que estan fuera. Cuando varían, pues se varía "a mano" el filtro.
Además, tienes que filtrar las respuestas automatizadas de los varios daemons posibles, incluyendo que la respuesta de "estoy de vacaciones" no vaya a otro señor que también esté de vacaciones, y la lies.
El mensaje de "auto-respuesta" era el mismo para todos y, lo que si es cierto es que, en el ejemplo que puse el mensaje original entrante se pierde ya que va a "/dev/null". No se puede liar entre dos usuarios de vacaciones por la línea * !^X-Loop: postmaster@dominio.com que es la que evita precisamente el "loop" ya que al mandar el mensaje se añade a la cabecera del mismo una línea "X-Loop. Se puede individualizar la regla ( o receta que creo que es como se llama a cada regla de filtrado) individualizando #Vacation User 1 :0: * ^To:.*user1@* * !^FROM_DAEMON * !^X-Loop: postmaster@dominio.com { :0Whc: vacation1.lock | (formail -t -r -I"Subject: Usuario de Vacacionesl" \ -I"From: postmaster@dominio.com" \ -A"X-Loop: postmaster@dominio.com" ; cat $HOME/vacation1.txt) | $SENDMAIL -t :0: /home/user1/mail } Y lo mismo para cada uno de los que estuviera de vacaciones .... -- Salutacions - Saludos, Josep M. Queralt