Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Файл virtusertable
Здесь задаётся соответствие между виртуальными адресами обслуживаемых доменов и именами реальных пользователей. Необходимость в нём возникает тогда, когда несколько адресов в обслуживаемых доменах имеют одинаковые имена пользователей (например, admin@domain1.ru и admin@domain2.ru).
В этом случае вы можете занести в virtusertable следующие строки:
admin@domain1.ru admin-dom1
admin@domain2.ru admin-dom2
@domain1.ru error:nouser User not found
То есть входящая почта будет раскладываться по ящикам разных пользователей. Благодаря третьей строке вся почта в domain1.ru для любых пользователей, кроме описанных в virtusertable (в нашем примере это admin), будет отклоняться. Домен domain2.ru будет обслуживаться традиционно, то есть при получении письма, например, для user@domain2.ru, будет предприниматься попытка доставить его реальному пользователю user.
Файл genericstable
Этот файл решает обратную задачу: в условиях виртуального хостинга ставит в соответствие имени пользователя домен, с которого этот пользователь будет отправлять сообщения.
Примеры конфигурации
Рассмотрим несколько практических примеров. При их решении конфигурационные файлы целиком приводиться не будут – покажем только опции, необходимые для решения конкретной задачи. Во всех примерах подразумевается, что DNS настроен должным образом (см. врезку «DNS, DNS, DNS…»).
Пример 1. Использование «умного» хоста
Вы хотите построить почтовый сервер для обслуживания локальной сети, однако хотели бы переложить заботу об определении маршрута писем на сервер вашего провайдера (предполагается, что провайдер не запрещает транзитную пересылку вашей почты). В этом случае достаточно пересобрать конфигурационный файл со следующей опцией в mc-файле:
define(`SMART_HOST', `1.2.3.4')
Здесь 1.2.3.4 – адрес smtp-релея вашего провайдера. Теперь вся исходящая почта будет отправляться на указанный сервер, который и будет заниматься дальнейшей рассылкой.
Пример 2. Почтовый сервер в режиме шлюза
Предположим, у вас есть локальная сеть с размещёнными в ней двумя почтовыми серверами (inner1.domain.ru и inner2.domain.ru). Вы хотели бы обеспечить возможность полноценной работы этих серверов, но без непосредственного подключения к Интернету. Настроим на машине, выполняющей роль шлюза, сервер Sendmail, задачей которого – взаимодействовать с внешними smtp-серверами и пересылать полученные от них сообщения на серверы в локальной сети.
1. В mailertable заносим строчки:
inner1.domain.ru smtp:[inner1.domain.ru]
inner2.domain.ru smtp:[inner2.domain.ru]
Теперь почта на указанные домены будет по smtp пересылаться на указанные хосты. Квадратные скобки требуют работать с хостом по его A-записи, а не по MX-записи в базе доменных имен (которая указывает на адрес шлюза).
2. Для отправки почты нужно разрешить пересылку сообщений с внутренних серверов (указав для них в файле access значение RELAY), а внутренние серверы настроить на отправку сообщений вышестоящему серверу (в случае с Sendmail это достигается использованием опции define(`SMART_HOST’, `<ip-адрес>’)).
3. Подключим соответствующие файлы в mc-файле:
FEATURE(mailertable, `hash -o /etc/mail/mailertable')dnl
FEATURE(access_db, `hash -o -T<TMPF> /etc/mail/access')dnl
После чего нужно пересобрать конфигурационный файл и перезапустить сервер: