URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 50641
[ Назад ]

Исходное сообщение
"Postfix .forward Как поменять имя отправителя при форварде письма?"

Отправлено Andrew_Answer , 18-Ноя-04 07:52 
ну, собственно сабж.
Можно это вообще реализовать или нет?
поменять адрес отправителя на любой, например с user@mail.ru на user@mail.mail.ru или на user@any.ru или на any@any.any Короче не важно, главное поменять имя домена.
очень нужно.
Спасибо

Содержание

Сообщения в этом обсуждении
"Postfix .forward Как поменять имя отправителя при форварде п..."
Отправлено jonatan , 18-Ноя-04 10:25 
http://www.postfix.org/ADDRESS_REWRITING_README.html

"Postfix .forward Как поменять имя отправителя при форварде п..."
Отправлено unk , 18-Ноя-04 10:34 
Можно в .forward можно написать "|command" и с помощью command делать то, что вы хотите.



"Postfix .forward Как поменять имя отправителя при форварде п..."
Отправлено Andrew_Answer , 18-Ноя-04 11:17 
>Можно в .forward можно написать "|command" и с помощью command делать то,
>что вы хотите.

А можно подробнее?

Вот есть пользователь usera@mail.ru у него есть .forward файл, в нём
написано : usera@mail.com

userb@mail.ru пишет письмо к usera@mail.ru, оно форвардится о имени
отправителя (userb@mail.ru),
но мне нужно, чтобы письмо было послано не от userb@mail.ru, а от
userb@any.mail.ru

в .forward интерпритируются команды bash?
"|command" - это что? интерпритация postfix команд? или bashа?

Спасибо


"Postfix .forward Как поменять имя отправителя при форварде п..."
Отправлено unk , 18-Ноя-04 11:25 
>А можно подробнее?
Переписать адрес отправителя средствами postfix на этом этапе не возможно.
(Вы же прочитали документ ссылку на который вам дали)

>в .forward интерпритируются команды bash?
Нет.

>"|command" - это что? интерпритация postfix команд? или bashа?
Это означает скормить письмо в нешнюю программу.
Это программа и должна сделать то, что вы хотите.


"Postfix .forward Как поменять имя отправителя при форварде п..."
Отправлено Thrasher , 18-Ноя-04 12:18 
Я дополню Answer'а. Ситуация у нас следующая: Имеются 2 сервера example.kz - чужой сервер через который релеится наш почтовый сервер our.example.kz. На example.kz есть авторизация smtp для локальных юзеров. У некоторых пользователей нашего сервера имеются форварды (.forward) на внешние ящики.
Проблема следующая: при отправке почты пользователями example.kz на те почтовые адреса у которых есть форварды на внешние ящики наш сервер пытается передать эту почту от имени того юзера который отправил это письмо. В ответ получает
Nov 17 08:31:05 our postfix/smtp[22344]: 2CAF936A57: to=<apetrov@mail.kz>, relay=mail.example.kz[192.168.2.30], delay=1, status=bounced (host mail.example.kz[192.168.2.30] said: 575 chuk@example.kz sender requires authentication).
Есть ли возможность полечить проблему средствами постфикса? Как вариант думаем подменять адрес отправителя chuk@example.kz на chuk@our.example.kz и таким образом отправлять почту по релею.  

"Postfix .forward Как поменять имя отправителя при форварде п..."
Отправлено unk , 18-Ноя-04 12:45 
>Nov 17 08:31:05 our postfix/smtp[22344]: 2CAF936A57: to=<apetrov@mail.kz>, relay=mail.example.kz[192.168.2.30], delay=1, status=bounced (host mail.example.kz[192.168.2.30] said: 575 chuk@example.kz sender requires authentication).
Можете попытаться объяснить postmaster'у mail.example.kz, что требовать авторизации по envelope sender от MTA плохо, т.к. этот механизм разработан для MUA, а не MTA.

>Есть ли возможность полечить проблему средствами постфикса? Как вариант думаем подменять адрес
>отправителя chuk@example.kz на chuk@our.example.kz и таким образом отправлять почту по релею.
Postfix релеит по адресу получателя, а не отправителя.


"Postfix .forward Как поменять имя отправителя при форварде п..."
Отправлено Andrew_Answer , 18-Ноя-04 13:56 
>Можете попытаться объяснить postmaster'у mail.example.kz, что требовать авторизации по envelope sender от
>MTA плохо, т.к. этот механизм разработан для MUA, а не MTA.
>
О!
помогло :)
пообщался с ним, он понял спол-пинка в чём дело, и, избавил меня от мук :)
Добавил мой почтовик в список хостов, которые не надо аутенцировать

"Postfix .forward Как поменять имя отправителя при форварде п..."
Отправлено unk , 18-Ноя-04 14:00 
>помогло :)
>пообщался с ним, он понял спол-пинка в чём дело, и, избавил меня
>от мук :)
>Добавил мой почтовик в список хостов, которые не надо аутенцировать
Вам повезло!
Мне приходится объяснять это несколько раз в неделю и не все такие понятливые:)

"Postfix .forward Как поменять имя отправителя при форварде п..."
Отправлено jonatan , 18-Ноя-04 12:15 
Зачем писать свой обработчик писем, если postfix сам может это сделать, поменять отправителя/получателя как в envelopes, так и в headers.

canonical_maps
sender_canonical_maps
recipient_canonical_maps


"Postfix .forward Как поменять имя отправителя при форварде п..."
Отправлено unk , 18-Ноя-04 12:33 
>canonical_maps
>sender_canonical_maps
>recipient_canonical_maps
В общем случае для писем на стадии .forward это уже не будет работать.


"Postfix .forward Как поменять имя отправителя при форварде п..."
Отправлено jonatan , 18-Ноя-04 13:52 
Согласен. Просмотрел, что задача стоит после .forward переписывать.

"Postfix .forward Как поменять имя отправителя при форварде п..."
Отправлено unk , 18-Ноя-04 14:09 
>Согласен. Просмотрел, что задача стоит после .forward переписывать.
Jonatan, здесь проблема не в том что переписать надо после .forward (это будут новые письма, которые пойдут по цепочке local - т.е. все ok), а в том что в общем случае нет "честного" способа определить/указать то, что письмо прошло именно через .forward (а не через aliases, local, ...).
Можно попробовать, написать sender_canonical_maps = !$aliases_map, ...
Исключив алиасы и прочее, но этот "!" не документирован и не факт, что такую
возможность не оторвут в следуещей версии postfix.

"Postfix .forward Как поменять имя отправителя при форварде п..."
Отправлено jonatan , 18-Ноя-04 14:54 
2unk. Подскажите, а по Delivered-To: нельзя сделать вывод, что письмо было перенаправлено?

"Postfix .forward Как поменять имя отправителя при форварде п..."
Отправлено unk , 18-Ноя-04 15:09 
>2unk. Подскажите, а по Delivered-To: нельзя сделать вывод, что письмо было перенаправлено?
>
Можно если "prepend_delivered_header = forward" (по дефолту "command, file, forward")