Господа, подскажите как быть. Ситуация такова: есть почтовый сервер, письма с которого отправляются через SMTP-relay провайдера, сам сервер закрыт для внешнего доступа, то бишь за файерволом(mx.mycompany.ru). При этом, часть почтовых ящиков хостится в инете (mail.mycompany.ru), это сделано для того, чтобы немногочисленные региональные представители могли ими пользоваться.
Ну так вот, к примеру, пишу я с адреса user@mycompany.ru to region@mycompany.ru, соотв. user@mycompany относится к внутреннеме почтовому серверу, а region@mycompany.ru к внешнему. И естественным образом mx.mycompany.ru, считает, что письмо должно быть доставлено локально и выдает ошибку, что нету в нем такого пользователя. Как поправить эту беду, дабы внутренний серв. рпи невозможности доставить почту @$mydomain локально пытался отослать её на внешний серв.?
З.Ы. на внутреннем сервере используется Postfix
Небольшое уточнение. В кач-ве релея как SMTP, так и POP3 можно использовать внешний почтовый сервер (mail.mycompany.ru)
/etc/postfix/main.cf:
fallback_transport = mail.mycompany.ru
local_recipient_maps = proxy:unix:passwd.byname, $alias_maps, hash:/etc/postfix/nonlocal/etc/postfix/nonlocal:
region
region1
...
>/etc/postfix/main.cf:
>fallback_transport = mail.mycompany.ru
>local_recipient_maps = proxy:unix:passwd.byname, $alias_maps, hash:/etc/postfix/nonlocal
>
>/etc/postfix/nonlocal:
>region
>region1
>...
Хммм...ругается постфикс на такой формат файла nonlocal, говорит надобно ему type:name, ничего не понимаю. Каким образом надобно его все-таки задавать?
local_recipient_maps игнорирует правую часть, поэтому там можно написать что угодно/etc/postfix/nonlocal:
region OK
region1 OK
...
>local_recipient_maps игнорирует правую часть, поэтому там можно написать что угодно
>
>/etc/postfix/nonlocal:
>region OK
>region1 OK
>...Попробывал, теперь в логах он начинает искать nonlogin.db, не подскажешь, как его создать?
postmap /etc/postfix/nonlocal
Перед этим проверьте права на /etc/postfix/nonlocal. Вместо hash можете использовать и другие типы. См. документацию.
>postmap /etc/postfix/nonlocal
>Перед этим проверьте права на /etc/postfix/nonlocal. Вместо hash можете использовать и другие
>типы. См. документацию.И тем неменее, постфикс говорит, что в $virtual_alias_map такого пользователя не найдено, про nonlocal.db скромно молчит и уж совсем не упоминает fallback_transport = mail.mydomain.ru
Так сразу нужно было говорить, что используете виртуальные домены. Мое решение только для локальных. Вы разве не видете, что это два разных параметра $local_recipient_maps и $virtual_alias_map? Можно даже по названию догадаться.
А для вирутальных доменов можете сделать так./etc/postfix/main.cf:
virtual_alias_maps = hash:/etc/postfix/virtual/etc/postfix/virtual
region@mycompany.ru region@mail.mycompany.ru
region1@mycompany.ru region1@mail.mycompany.ru
2jonatan, огромное спасибо за помощь в решение проблемы.
С локальной доставкой все решено и работает! ура!
>Господа, подскажите как быть. Ситуация такова: есть почтовый сервер, письма с которого
>отправляются через SMTP-relay провайдера, сам сервер закрыт для внешнего доступа, то
>бишь за файерволом(mx.mycompany.ru). При этом, часть почтовых ящиков хостится в инете
>(mail.mycompany.ru), это сделано для того, чтобы немногочисленные региональные представители могли ими
>пользоваться.
>Ну так вот, к примеру, пишу я с адреса user@mycompany.ru to region@mycompany.ru,
>соотв. user@mycompany относится к внутреннеме почтовому серверу, а region@mycompany.ru к внешнему.
>И естественным образом mx.mycompany.ru, считает, что письмо должно быть доставлено локально
>и выдает ошибку, что нету в нем такого пользователя. Как поправить
>эту беду, дабы внутренний серв. рпи невозможности доставить почту @$mydomain локально
>пытался отослать её на внешний серв.?
>З.Ы. на внутреннем сервере используется Postfixкак вариант:
Надо в DNS прописать альтернативный релей для этого домена, тогда при невозможности доставить на один сервер будет пытаться доставить на другой.
Вы это серьезно?
:)))) Если я правильно понял вашу ситуацию, то надо разделить такие вещи!
В своей локальной сеети смените домен(например super.mycompany.ru. т.е. почтовый адрес будет внутри user@super.mycompany.ru а инетовский user@mycompany.ru) ну и свой почтовик перстройте конечно. Тогда не будет неоднозначности, потому как ваш внутренний днс дает адрес внутреннего почтовика а о другом ничего не знает и другого вообще быть не должно.
Гм... невозможность доставки почты по причине его недоступности это одно, а невозможность доставки по причине ответа сервера об отсутствии такого ящика это разные вещи :))) !
>Гм... невозможность доставки почты по причине его недоступности это одно, а невозможность
>доставки по причине ответа сервера об отсутствии такого ящика это разные
>вещи :))) !Да, на счет недоступности это точно :))
Теперь новая загвоздка. Надобно сделать так, чтобы почта с mail.mycompany.ru, из ящика postmaster@mycompany.ru доставлялась на локальный сервер mx.mycompany.ru и уже там раскидывалась по пользвателям. Такой вариант работы предлагает провайдер, у которого хостится почта. Как это возможн организовать? В каком мане можно подглядеть информацию?Заранее спасибо за участие.
Теперь новая загвоздка. Надобно сделать так, чтобы почта с mail.mycompany.ru, из ящика postmaster@mycompany.ru доставлялась на локальный сервер mx.mycompany.ru и уже там раскидывалась по пользвателям. Такой вариант работы предлагает провайдер, у которого хостится почта. Как это возможн организовать? В каком мане можно подглядеть информацию?Заранее спасибо за участие.
Подробнее, что предлагает провайдер. Перенаправлять всю почту на postmaster@mycompany.ru?
>Подробнее, что предлагает провайдер. Перенаправлять всю почту на postmaster@mycompany.ru?"Вы выбираете и ставите себе локально
понравившийся сервер, заводите на нем юзеров,
в настройках сервера у нас удаляете юзеров и
забираете почту всех адресов домена с ящика
postmaster@mycompany.ru" - цитата из письма от провайдераpostmaster@mycompany.ru - ящик на сервере у провайдера mail.mycompany.ru
Как вариант, использовать fetchmail/procmail (раскладывать почту по значению To: из хидеров письма). Но ИМХО проще сразу настроить MX на свой сервер и отказаться от провайдера.
>Как вариант, использовать fetchmail/procmail (раскладывать почту по значению To: из хидеров письма).
>Но ИМХО проще сразу настроить MX на свой сервер и отказаться
>от провайдера.А не подскажешь, как настроить procmail, чтобы он по заголовку X-Original-To: передавал письма постфиксу и соответственно раскидывал по адресатам
Документации полно. Например
http://www.opennet.me/base/net/procmail.txt.html
В данном случае postfix не нужен.
В исходном письме кажется о постфиксе - ничего.На сендмейле - вот как:
все делается на 2-х или больше серверах (у меня так сделано) - внутри. Один сервер - релей с спамассассином (посмотри http://iasb.narod.ru) - c него ничего никто не читает. На нем Сендмейл с файлом алиасов
Еще один внутренний сервер - вот там уже живые юзера тягают почту
И еще один в DMZ - у него свое имя (DNS)Итого имеем: (проверь только синтаксис aliases)
/etc/mail/aliases
user1: user1@server1_internal.domain.ru
user2: user2@server2_DMZ.domain.ru
user3=FAX user1@server1_internal.domain.ru,
user2@server2_DMZ.domain.ruuser4=Info user1@server1_internal.domain.ru,
user2@server2_DMZ.domain.ru,
898435145@sms.mts.ru
единственное НО - правльно должен работать DNS.
>В исходном письме кажется о постфиксе - ничего.
>
>
>
Сорри - не заметил. На сендмыле, по крайней мере, вопросов не возникало.