28. Транспорт lmtp

Перевод выполнен Алексеем Паутовым в рамках некоммерческого проекта RussianLDP (http://www.rldp.ru/). Именно на этом сайте и надлежит искать новые версии, если таковые будут.

28. Транспорт lmtp

Транспорт lmtp выполняет протокол LMTP (RFC 2033) через канал (pipe) к указанной команде или взаимодействуя с сокетом UNIX. Этот транспорт нечто между транспортами pipe и smtp. Также у exim есть поддержка для использования LMTP через TCP/IP: это осуществлено как опция для транспорта smtp. Поскольку, ожидается, что LMTP будет не очень интересен, в скрипте configure по умолчанию, в src/EDITME, он закомментрован. Вы должны гарантировать, что:

TRANSPORT_LMTP=yes
присутствует в Вашем Local/Makefile для включения транспорта lmtp в исполняемый модуль exim. Частные опции транспорта lmtp таковы:
Имя
Использование
Тип
Значение по умолчанию
batch_id lmtpstring† не задана

Смотрите описание пакетной локальной доставки в разделе 25.

Имя
Использование
Тип
Значение по умолчанию
batch_max lmtpinteger 1

Эта опция ограничивает число адресов, которые могут быть обработаны в одной доставке. Большинство серверов LMTP могут обрабатывать сразу несколько адресов, таким образом, обычно увеличение этого числа хорошая идея. Смотрите описание пакетной локальной доставки в разделе 25.

Имя
Использование
Тип
Значение по умолчанию
command lmtpstring† не задана

Эта опция должна быть задана, если не задана опция socket. Строка задает команду, которая запускается в отдельном процессе. Она разделяется на имя команды и список аргументов, каждый из которых отдельно раскрывается (таким образом, раскрытие не может изменить число аргументов). Команда выполняется напрямую, не через shell. Сообщение передаётся новому процессу, используя стандартный ввод и вывод для управления протоколом LMTP.

Имя
Использование
Тип
Значение по умолчанию
ignore_quota lmtpboolean ложь

Если эта опция установлена в истину, в команды RCPT добавляется строка IGNOREQUOTA при условии, что сервер LMTP информировал о поддержке IGNOREQUOTA в его ответе на команду LHLO.

Имя
Использование
Тип
Значение по умолчанию
socket lmtpstring† не задана

Эта опция должна быть задана, если не задана опция command. Результат раскрытия должен быть именем UNIX-сокета. Транспорт соединяется с сокетом и доставляет в него сообщение, используя протокол LMTP.

Имя
Использование
Тип
Значение по умолчанию
timeout lmtptime 5m

Транспорт отменяется, если создание процесса или сокета UNIX не отвечает на команды LMTP, или происходит этот таймаут при передаче сообщения. Это пример типичного транспорта LMTP:

lmtp:
  driver = lmtp
  command = /some/local/lmtp/delivery/program
  batch_max = 20
  user = exim

Он доставялет до 20 адресов одновременно, если необходимо, в смешанные домены, работая как пользователь exim.