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