Intenté esta respuesta que aborda este mismo problema. Pero los mensajes no parecen ser fácilmente modificables en la versión que tengo (2.11.0).
Por ejemplo, no hay / var / spool / mqueue dir, sino que / var / spool / postfix / ...
Quiero aclarar dos cosas.
- Primero, esa respuesta se aplicó a sendmail NO postfix.
- En segundo lugar, no se admitía en absoluto la manipulación directa de archivos de cola sin procesar.
Entonces, tienes varias opciones aquí
1. parámetro smtp_generic_maps
Esta respuesta inspirada en esta excelente respuesta . Reescribirá la dirección antigua a la nueva dirección automáticamente. Puede definir un archivo para asignar direcciones antiguas a direcciones nuevas.
/etc/postfix/main.cf:
smtp_generic_maps = hash:/etc/postfix/generic
/etc/postfix/generic:
[email protected] [email protected]
No te olvides de postmap /etc/postfix/generic
correrpostfix reload
- Al revés: no necesita solicitar el mensaje
- Desventaja: Postfix reescribirá la dirección del remitente y del destinatario que coincida
[email protected]
.
2. sender_canonical_address
Para superar la desventaja de la primera opción, puede usar sender_canonical_maps
. Esta solución basada en la sugerencia del autor Postfix . Igual que la primera opción, puede definir un archivo para asignar direcciones antiguas a direcciones nuevas.
/etc/postfix/main.cf:
sender_canonical_maps = hash:/etc/postfix/sender_canonical
/etc/postfix/sender_canonical:
[email protected] [email protected]
Corre postmap /etc/postfix/sender_canonical
luego corre postfix reload
. Debido al flujo de la cola de postfix, debe volver a poner en cola la cola afectada con el comandopostsuper -r queueid
- Upside: Postfix no reescribe la dirección del destinatario.
- Desventaja: debe solicitar todos los mensajes afectados. Pero puede solicitar todos los diferidos con un solo comando
postsuper -r ALL deferred
3. manipulación directa de la cola de postfix
Estas son formas antiguas manuales de modificar la cola para el procesamiento avanzado. Esta respuesta vino de las listas de correo de usuarios de postfix
En breve
Extraer cola
# postsuper -h queueid
# postcat -qbh queueid > tempfile.eml
# vi tempfile.eml
Vuelva a enviar la cola y elimine la cola anterior
# sendmail -f $sender $recipient < tempfile.eml
# postsuper -d queueid
Para la documentación del comando anterior, consulte esta página
Nota:
Solución original de las listas de correo de usuarios de postfix , use postcat -q queueid >tempfile
para extraer la cola. Este comando extraerá el encabezado, el cuerpo y la metainformación de la cola. Como señaló Azendale a continuación , sendmail
se negará a enviar este correo electrónico con formato incorrecto debido a la metainformación.
El uso del -bh
parámetro además del q
parámetro hará que postcat filtre la salida solo al encabezado y al cuerpo, sin incluir la metainformación. Un beneficio adicional de esto es que el archivo temporal está en el formato que la mayoría de los clientes de correo electrónico reconocen como formato .eml, lo que le permite ver el mensaje resultante (editado).
postcat -qbh queueid >tempfile
. (Beneficio adicional: entonces está en formato .eml.) Si acabo de usar-q
, parecía no hacer nada cuando ejecuté sendmail. Postfix versión 2.8.4. ¿Alguien puede confirmar esto? Si es así, editemos esta respuesta.qbh
para que funcione. Agregando la explicación en la respuesta actualizada ... :)Gran escrito. Tuve un problema con un servidor de correo que había estado funcionando unos días con una configuración incorrecta y, por lo tanto, había muchas colas que debían reenviarse con el nuevo destinatario. Así que creé dos liners para recorrer todas las colas:
Primero en encontrar todas las colas, ponerlas en espera, guardarlas como archivos .eml y reenviarlas:
Segundo para eliminar las colas:
Solo recuerde verificar que no haya nuevas colas que no estén en espera antes de ejecutar este último código. Haga eso emitiendo esto y busque la identificación de la cola sin un '!' al final:
On podría poner fácilmente esos dos revestimientos en uno, pero sentí que tenía más control al verificar que los correos realmente se recibían antes de eliminar las colas.
fuente