Изменить прием в постфиксной очереди
После запуска postqueue -p
я иногда нахожу неправильные адреса электронной почты,
есть ли способ изменить адрес приема (конверт на адрес) сообщений,
так что это может быть доставлено.
Exemple:
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.
Я хочу забрать верх A78C42189B1
и изменить адрес yyyyy@tellia.com
в yyyyy@telia.com
2 ответа
Да, ваш описанный метод работает с почтой, застрявшей в очереди почты.
Хотя это не совсем ответ на ваш конкретный вопрос, я хотел бы поделиться тем, что я сделал для (пере) решения некоторых общих доменных имен с ошибками в будущем, используя вашу подсказку:
В postfix/main.cf:
recipient_canonical_maps = regexp:/etc/postfix/maps/recipient_canonical
Файл / etc / postfix/maps / receient_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
Пока я узнал, что могу:
- с помощью
postcat -q A78C42189B1
я могу получить копию элемента в очереди очистить сообщение от метаданных, сообщения postcat могут выглядеть так:
*** 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 ***
Очистите верхний и нижний колонтитулы postfix, чтобы в файле оставались только заголовки и тело письма с помощью текстового редактора или sed.
используйте sendmail для отправки почты новому получателю
sendmail yyyyy@telia.com < edited_mail_file
удалить исходное письмо из очереди
postsuper -d mailID
если кто-то, обладающий навыками sed, может вырезать заголовок и тело письма, 3 первых шага должны быть в состоянии передать все вместе