POSTFIX

Подробное руководство

Меню сайта
Опрос

Модные зубные протезы
Новая 3D игра
Софт для латания дыр
Почтовый сервер
Программа для рисования
Гель от растяжений


Популярные статьи
Отложенная передача сообщений
На данный момент сервер Postfix имеет конфигурацию, которая доставляет почту хосту ретрансляции без разрешения имен и запрещает пересылку через собственный сервер. Однако сервер все еще звонит интернет провайдеру всякий раз, когда получает исходящее сообщение, адресованное в удаленную сеть. Для того чтобы изменить такое поведение и заставить Postfix ставить исходящие сообщения в очередь, отредактируйте файл main.cf, указав в параметре defer_transports, что следует отложить сеанс SMTP, как показано в следующем примере:

defer_transports = smtp


Как обычно, после внесения изменения выполняем postfix reload от имени root. После перезагрузки Postfix не будет доставлять сообщения по SMTP до тех пор, пока параметр defer_transports не будет изменен или отменен. В следующем разделе будет показано, как использовать эту функциональность для отправки сообщений при установлении соединения сервера с интернет провайдером.

Инициирование отправки сообщений

Единственное, что нам осталось, – проинструктировать Postfix об отправке всех стоящих в очереди сообщений по SMTP при установлении соединения с Интернетом. Все, что необходимо сделать, – это автоматически реконфигурировать Postfix при переходе сервера в режим онлайн и вернуть его в прежнее состояние при отключении. Задача решается при помощи сценариев, которые запускаются после установления соединения. В Linux системе, использующей протокол PPP, такие сценарии часто хранятся в каталоге /etc/ppp/ip up.d.

Создайте сценарий с именем postfix в этом каталоге, так чтобы он был запущен после сценария, определяющего resolv.conf. Сценарий postfix будет выглядеть так:

## запустить или перезагрузить Postfix
# если Postfix запускается через chroot, скопировать
# resolv.conf в используемый Postfix файл resolv.conf
cp p /etc/resolv.conf `postconf h queue_directory`/etc/resolv.conf
# отменить отложенную отправку и сделать так, чтобы Postfix это заметил
postconf e "defer_transports ="
postfix reload
# заставить очередь выгрузить всю ожидающую отправки почту
postfix flush



Аналогично при отключении от сети вам следует восстановить старый порядок работы с очередью. Создайте сценарий postfix в каталоге /etc/ppp/ip down.d, который будет запущен после завершения соединения (опять таки, строка для resolv.conf необходима, только если используется chroot):

## запустить или перезагрузить Postfix
# скопировать resolv.conf в resolv.conf, используемый
# Postfix (только для chroot)
cp p /etc/resolv.conf `postconf h queue_directory`/etc/resolv.conf
# включить отложенную отправку и сделать так, чтобы Postfix это заметил
postconf e "defer_transports = smtp"
postfix reload



Другие новости по теме:

  • Разрешение имен (DNS)
  • Подготовка хоста и окружения
  • Системный журнал
  • Очереди Postfix
  • Отмена разрешения имен
  • Категория: Cервер с коммутируемым соединением | Добавил: admin (26 июля 2009)
    Просмотров: 1909 | Рейтинг:
    Метки
    Очень интересное
    Интересное
    » Друзья сайта