LINUX.ORG.RU
ФорумAdmin

Postfix vacation.pl

 ,


0

1

Первый раз настраиваю автоответ в postfix с помощью скрипта vacation.pl. Автоответ работает, если он включен на существующий postfix mailbox. Но в организации postfix служит в качестве щита от внешних угроз. Т.е. вся почта приходит на postfix и с помощью alias перенаправляется на внутренний ms exchange сервер.

Ребята, подскажите пожалуйста можно ли заставить скрипт vacation.pl отправлять автоответ не имея реального postfix почтового ящика?

В таблице alias есть запись: vasja@public.com (address)->(goto)vasja@exchange.local,vasja@public.com@autoreply.public.com

В таблице vacation: vasja@public.com (email) - Out off Office (Subject) - Test (body) - public.com (domain)...

С включенным vacation автоответ не отправляется, в логах: DEBUG> /var/spool/vacation/vacation.pl:435 main::find_real_address - Looking for alias records that 'vasja@public.com' resolves to with vacation turned on DEBUG> /var/spool/vacation/vacation.pl:449 main::find_real_address - Found alias 'vasja@exchange.local' for email 'vasja@public.com'. Looking if vacation is on for alias. DEBUG> /var/spool/vacation/vacation.pl:449 main::find_real_address - Found alias 'vasja@public.com@autoreply.public.com' for email 'vasja@public.com'. Looking if vacation is on for alias. DEBUG> /var/spool/vacation/vacation.pl:726 main:: - SMTP recipient vasja@public.com which resolves to does not have an active vacation (rv: 0, email: )


А код скрипта можно увидеть? и где он прописан в конфигах. P.S. сомнительное решение через алиасы. гораздо проще убрать не использовать постфиксадмин, а настроить постфикс, чтобы он напрямую смотрел в AD. Тогда вы будете делать пользователям почту только в AD. Postfix смотрит есть ли ящик и если есть форвардит письмо на след сервер ( который exchange). Но если postfix весит в интернете, а exchange локальный, тогда может возникнуть ситуация, что cpn упал или инет в офисе упал и postfix начнет писать аутлупы. в этом случае лучше поднять около postfix openlap и синхронизировать его с AD.

constin ★★★★
()
Ответ на: комментарий от constin

но даже в вашем случае дублирования записей в exchange и postfix необязательно делать алиасы, вы просто ставите переадресацию трафика для конкретных ящиков или для домена целиком на exchange.

constin ★★★★
()
Ответ на: комментарий от constin

Спасибо за ответ!

Скрипт прописан в master.cf:

vacation unix - n n - - pipe flags=Rq user=vacation argv=/var/spool/vacation/vacation.pl -f ${sender} ${recipient}

Также создан /etc/postfix/transport следующего содержания:

autoreply.public.com vacation:

Выполнен postmap hash:/etc/postfix/transport

в /etc/postfix/main.cf прописан transport_maps = hash:/etc/postfix/transport

Скрипт vacation.pl: https://github.com/postfixadmin/postfixadmin/blob/master/VIRTUAL_VACATION/vac...

kxn
() автор топика

на внутренний ms exchange сервер.

а это разве не умеет автоответ ?

AS ★★★★★
()
Ответ на: комментарий от constin

тогда может возникнуть ситуация, что cpn упал
или инет в офисе упал и postfix начнет писать аутлупы

А tempfail он не умеет разве ? Зачем отлупы-то сразу ?

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)
Ответ на: комментарий от AS

Ну он прочекает список того, что в virtual_mailbox_maps написано. допустим там написано, первым какая-нибудь локальная база данных с двумя пользователями внутри типа postmaster@domain.com и abuse@domain.com , а затем прописана база данных AD.

И вот postfix получает письмо на user1@domain.com , который есть в AD. Он смотрит первую базу - юзера нет. во вторую - коннекта к ней нет. И пишет аутлуп,что юзера не существует. Разве не так? Может я ошибаюсь, давно у меня такого не случалось и я не помню, что именно он делает ( этим можно управлять?) Даже если он tempfail напишет, это не всегда подходит. Никто знает, сколько по времени не будет коннекта с офисом и все это время postfix принимать письма и держать очередь.

constin ★★★★
()
Ответ на: комментарий от constin

И пишет аутлуп,что юзера не существует. Разве не так? Может я ошибаюсь

Я не знаю, но это явно должно настраиваться. Если нет, менять MTA на такой, где это возможно.

Никто знает, сколько по времени не будет коннекта с офисом
и все это время postfix принимать письма и держать очередь.

Это не очень важно. Есть https://tools.ietf.org/html/rfc5321#section-4.5.4.1. Можно даже и не принимать, а отдавать отправителю 4xx.

AS ★★★★★
()
Ответ на: комментарий от kxn

Лень просматривать весь код и перл не мой конек. Предположу, что скрипт не может распарсить формат user@domain@user@domain.com это как бы не email адрес, а фиг знает что. Попробуйте изменить.

Но 1. я бы предложил уйти от схемы алиасов Как минимум сделать redirect user1@domain.com smtp:[excnahge_ip]:25 для каждого пользователя в базе постфикса или заставить постфикс читать базу AD, как я писал выше. 2. Решать все вопросы по поводу автоответов и прочей работы с ящиками на стороне exchange. Так как в этой схеме postfix является frontend и как-то не логично городить на нем этот огород.

constin ★★★★
()
Ответ на: комментарий от AS

Это не очень важно. Есть https://tools.ietf.org/html/rfc5321#section-4.5.4.1. Можно даже и не принимать, а отдавать отправителю 4xx.

Соглашусь, но я обычно перестраховываюсь.

Я не знаю, но это явно должно настраиваться. Если нет, менять MTA на такой, где это возможно.

Подниму сейчас тестовую машинку, чтобы проверить.

constin ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.