Procmail: reenvía el mensaje entrante y envía la notificación a otra dirección de correo electrónico

Procmail: reenvía el mensaje entrante y envía la notificación a otra dirección de correo electrónico

Si hay un correo electrónico entrante de algunas direcciones de correo electrónico específicas, quiero reenviar ese correo electrónico a una dirección de correo electrónico y enviar una notificación a otra.

Intenté usar formail y ejecutar el script bash directamente desde procmail, pero no puedo hacerlo funcionar.

El correo electrónico debe reenviarse sin modificaciones, pero el correo electrónico de notificación solo debe contener la dirección de correo electrónico y el asunto del remitente, si es posible (no es obligatorio).

Aquí está mi último intento de receta de procmail:

:0
* ! ^From:.*[email protected]
* ! ^From:.*[email protected]
* ! ^From:.*[email protected]
{ }
:0 E
{
  :0 c
  ! [email protected]

  :0 h
  | /usr/local/bin/notify_mail.sh $FROM $SUBJECT
}

Mi notify_mail.sh:

#!/bin/bash

echo -e "Hi,\n\nNew e-mail has arrived:\n\nFROM: $1\nSUBJECT $2" | mail -s "$2" [email protected]

Respuesta1

Su secuencia de comandos debería funcionar como tal, pero no está completando las variables FROMy SUBJECTy, en general, deberíacite sus variables de shell.

Prueba esto:

0
* ! ^From:.*email@example\.org
* ! ^From:.*support@example\.com
* ! ^From:.*santa@northpole\.no
{ }
:0 E
{
  :0 c
  ! [email protected]

  FROM=`formail -rtzxTo:`
  SUBJECT=`formail -zxSubject:`
  :0 h
  | /usr/local/bin/notify_mail.sh "$FROM" "$SUBJECT"
}

El formail -rtzxTo:modismo es un poco complicado y se explica, por ejemplo, aquí:https://stackoverflow.com/a/50890026/874188

Observe también las barras invertidas antes de los puntos literales en las expresiones regulares.

El guión probablemente debería preferirse printfa echo -e. No hay nada específico de Bash aquí, así que también me tomé la libertad de cambiar el asunto.

#!/bin/sh
printf "Hi,\n\nNew e-mail has arrived:\n\nFROM: %s\nSUBJECT %s\n" "$1" "$2" |
mail -s "$2" [email protected]

información relacionada