En realidad, la respuesta de Instyle es muy difícil de implementar si desea admitir muchos dominios diferentes y es incorrecta porque:
a) Con su ejemplo de transport_maps
, todos los correos electrónicos enviados a ese dominio se envían a ese servicio específico sin tener en cuenta si los correos electrónicos son correos devueltos o no. Dado que usa un nombre de dominio específico, en realidad solo debería ser un correo electrónico devuelto ... pero no se puede garantizar de esa manera.
b) Los datos enviados a su script son el correo electrónico en sí y no el mensaje de devolución. En otras palabras, es posible que su código no tenga idea de por qué se rechazó el correo electrónico (es decir, el rebote local solo le enviará el correo electrónico original).
La forma correcta de hacer esa configuración en postfix es usar la clase de notificación de rebote.
1) En /etc/postfix/main.cf
notify_classes = bounce
bounce_notice_recipient = bounces@example.com
transport_maps = hash:/etc/postfix/transport_maps
2) En / etc / postfix / transport_maps
# when you make changes to this file, run:
# sudo postmap /etc/postfix/transport_maps
bounces@example.com bulkbounce:
Como puede ver, ahora le decimos a Postfix que use bounces@example.com
cada vez que un correo electrónico sea devuelto. Luego, en el mapa de transporte, para usar bulkbounce
como servicio para manejar cualquier dirección de correo electrónico bounces@example.com
.
Finalmente puedes definir bulkbounce
con tu script:
3) En /etc/postfix/master.cf
bulkbounce unix - n n - - pipe
flags=FRq user=bounce argv=/home/bounce/bin/snapbounce --sender ${sender} --recipient ${recipient}
Este script requiere que tengas un usuario. nobody
Es una buena opción también. Si desea tener un usuario específico, puede crearlo con:
useradd bounce
Sin la secuencia de comandos master.cf
, los correos electrónicos se envían a la cuenta de rebote. Entonces, si tiene un script que analiza los correos electrónicos de los archivos, esto funcionaría sin los cambios transport_maps
y master.cf
.
De un comentario a continuación:
fyi - re: doble rebotes ...
si está modificando la dirección de retorno (dirección VERP como user+id@fromdomain.com
, entonces, querrá comentar la línea main.cf
para bounce_notice_recipient
, si está interesado en analizar el +id
rebote solo en su secuencia de comandos.
Message-Id
en su encabezado, debe devolverse y eso sería baste para comprobar quién es quién.