3 votos

Cambiar la recepción en la cola de Postfix

Después de correr postqueue -p A veces encuentro direcciones de correo electrónico mal escritas,
¿hay alguna forma de cambiar la dirección de recepción (envelop to adress) de los mensajes?
para que pueda ser entregado.

ejemplo:

postqueue -p
-Queue ID- --Size-- ----Arrival Time---- -Sender/Recipient-------
A78C42189B1     2523 Thu Jul 25 14:53:57  xxxx@xxxx.se
                (connect to tellia.com[141.8.224.25]:25: Connection timed out)
                                         yyyyy@tellia.com
-- 2 Kbytes in 1 Request.

Quiero recoger A78C42189B1 y cambiar la dirección yyyyy@tellia.com a yyyyy@telia.com

0 votos

Buscando algo como esto también. A menudo veo cosas comunes mal escritas como "homail.com" o "hotmai.com".

0 votos

Si quieres reescribir siempre un dominio, puedes usar recipient_canonical_maps, yo lo uso con mysql-query SELECT CONCAT('%u', '@', real_domain) FROM domains WHERE domain = '%d'

3voto

Puggan Se Puntos 138

Hasta ahora he descubierto que puedo:

  1. utilizando postcat -q A78C42189B1 puedo obtener una copia del elemento en cola

  2. limpiar el mensaje de los metadatos, los mensajes postcat pueden tener el siguiente aspecto

    *** ENVELOPE RECORDS deferred/A/A78C42189B1 ***
    message_size:            2523             248               2               0            2523
    message_arrival_time: Thu Jul 25 14:53:57 2013
    create_time: Thu Jul 25 14:53:57 2013
    named_attribute: rewrite_context=local
    sender_fullname: nobody
    sender: FROM:xxxx@xxxx.se
    original_recipient: yyyyy@tellia.com
    recipient: yyyyy@tellia.com
    *** MESSAGE CONTENTS deferred/A/A78C42189B1 ***
    
    mail headers...
    
    mail body...
    
    *** HEADER EXTRACTED deferred/A/A78C42189B1 ***
    named_attribute: notify_flags=1
    original_recipient: backup@xxxx.se
    done_recipient: backup@xxxx.se
    *** MESSAGE FILE END deferred/A/A78C42189B1 ***

    Limpie la cabecera y el pie de página de Postfix, de modo que sólo queden las cabeceras y el cuerpo del correo en el archivo, utilizando un editor de texto, o sed.

  3. utilizar sendmail para enviar el correo al nuevo destinatario

    sendmail yyyyy@telia.com < edited_mail_file
  4. eliminar el correo original de la cola postsuper -d mailID

si alguien con conocimientos de sed, puede recortar la cabecera y el cuerpo del correo, los 3 primeros pasos deberían poder ser canalizados juntos

3voto

Henk Puntos 1107

Sí, su método descrito funciona con el correo atascado en la cola de correo.

Aunque no es realmente una respuesta a tu problema específico, me gustaría compartir lo que hice para (re)resolver algunos nombres de dominio comúnmente mal escritos en el futuro, usando tu sugerencia:

En postfix/main.cf:

recipient_canonical_maps = regexp:/etc/postfix/maps/recipient_canonical

Archivo /etc/postfix/maps/recipient_canonical:

/^(.*@)htomail.com$/ ${1}hotmail.com
/^(.*@)homail.com$/ ${1}hotmail.com
/^(.*@)hotmai.com$/ ${1}hotmail.com
/^(.*@)hotmai.co$/ ${1}hotmail.com
/^(.*@)hotma.com$/ ${1}hotmail.com
/^(.*@)gmial.com$/ ${1}gmail.com
/^(.*@)gmail.co$/ ${1}gmail.com
/^(.*@)gmail.nl$/ ${1}gmail.com

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: