Перевод: Доморадов Алексей. Все права защищены. Copyright © 2007.
Примечание: При размещении данного материала у себя на сайте, просьба указывать ссылку на оригинальный сайт - www.sys-adm.org.ua.
Все замечания и предложения по переводу документации на русский язык, а также найденные ошибки и опечатки присылайте на мой электронный адрес.
Благодарности: Спасибо всем, кто помогал мне переводить эту документацию.
Особенное спасибо: Галинурову Кириллу и Грозаку Михаилу aka RedStalker_Mike.
Special thanks to: Igor Luzanov aka ISKATEL.
Начиная с версии 2.0 Postfix, SMTP сервер отклоняет почту для неизвестных получателей в локальных доменах (домены соответствующие $mydestination или IP адресам в $inet_interfaces или $proxy_interfaces) с сообщением - "User unknown in local recipient table". Эта функция была дополнительной в ранних версиях Postfix.
Хорошие новости состоят в том, что это защищает вашу очередь от не доставленной почты, поэтому ваша почтовая очередь не забивается не доставленными сообщениями MAILER-DAEMON'а.
Плохие новости состоят в том, что это может привести к отклонению почты, при обновлении системы Postfix, которая не была настроена для отклонения почты для неизвестных локальных получателей.
Этот документ описывает необходимые шаги для корректного отклонения неизвестных локальных получателей.
Параметр local_recipient_maps определяет таблицу просмотра со всеми именами или адресами локальных получателей. Адрес получателя считается локальным, когда его домен соответствует $mydestination, $inet_interfaces или $proxy_interfaces. Если локальное имя пользователя или адрес не перечислены в $local_recipient_maps, тогда SMTP сервер Postfix отклонит адрес с сообщением - "User unknown in local recipient table".
Значение по умолчанию, приведенное ниже, подразумевает, что вы используете агента по умолчанию Postfix local(8) для локальной доставки, где получателями являются учетные записи UNIX или локальные псевдонимы (aliases):
/etc/postfix/main.cf:
local_recipient_maps = proxy:unix:passwd.byname $alias_maps
Для выключения отклонения неизвестного локального получателя SMTP сервером укажите:
/etc/postfix/main.cf:
local_recipient_maps =
Т.е. пустое значение. С таким значением SMTP сервер Postfix не будет отклонять почту с сообщением - "User unknown in local recipient table".
Проблема: вы не используете агента доставки Postfix local(8) по умолчанию для доменов соответствующих $mydestination, $inet_interfaces, или $proxy_interfaces. Например, вы переопределили параметр "local_transport" в файле main.cf.
Решение: настройка вашего параметра local_recipient_maps должна определять базу данных, перечисляющую все известные имена пользователей или адреса для этого агента доставки. Например, если вы доставляете почту в домены $mydestination и т.д. через агента доставки virtual(8), укажите:
/etc/postfix/main.cf
mydestination = $myhostname localhost.$mydomain localhost ...
local_transport = virtual
local_recipient_maps = $virtual_mailbox_maps
Если вы используете разных агентов доставки для доменов $mydestination и т.д., смотрите ниже раздел "Формат локальной таблицы получателя" для описания того, как должна быть заполнена таблица.
Проблема: вы используете функцию mailbox_transport или fallback_transportлокального агента доставки Postfix для того, чтобы доставлять почту не-UNIX пользователям.
Решение: вам необходимо добавить базу данных, которая перечисляет не-UNIX пользователей:
/etc/postfix/main.cf
local_recipient_maps = proxy:unix:passwd.byname, $alias_maps,
<the database with non-UNIX accounts>
Смотрите ниже раздел "Формат локальной таблицы получателя" для описания того, как должна быть заполнена таблица.
Проблема: вы используете функцию luser_relay локального агента доставки Postfix.
Решение: вы должны полностью отключить функцию local_recipient_maps для того, чтобы Postfix принимал почту для всех локальных адресов:
/etc/postfix/main.cf
local_recipient_maps =
Если вы используете локальные файлы в формате postmap(1), тогда local_recipient_maps ожидает следующий формат таблицы:
В левой части таблицы укажите "голое" имя пользователя, шаблон "@domain.tld" или полностью адрес "user@domain.tld".
Вы должны что-нибудь указать в правой части таблицы, но это значение игнорируется local_recipient_maps.
Если вы используете таблицы просмотра, основанные на NIS, LDAP, MYSQL или PGSQL, тогда local_recipient_maps производит такие же запросы, как и для локальных файлов, в формате postmap(1), и ожидает такие же результаты.
С таблицами регулярных выражений Postfix выполняет только запросы, содержащие полный адрес получателя, а не просто "голое" имя пользователя или шаблон "@domain.tld".
ПРИМЕЧАНИЕ: таблица просмотра должна всегда возвращать результат, когда существует адрес, и должна всегда возвращать "not found" когда адрес не существует. В частности, результат нулевой длины не считается как результат "not found".
| Дата последнего обновления: 30.10.2008. | Postfix version: 2.3.4. |