<module-SMTP>
Пред. | Глава 3. Конфигурация. | След.

## <module-SMTP>

Модуль реализует сервер и клиент протокола `SMTP`, а также управляет очередью исходящих (отправляющихся на другие серверы) сообщений.

    <module-SMTP>
      <queue>
        <log-level>N</log-level>
        <scan-queue-dir>timeout</scan-queue-dir>
        <mem-queue-length-max>N</mem-queue-length-max>
        <original-size-max>N</original-size-max>
        <gateway-for>domain1 domain2 ...</gateway-for>
        ...
        <attempts>
          <max>N</max>
          <notify-attempt>N</notify-attempt>
          <delay after="1">time</delay>
          <delay after="N">time</delay>
          ...
        </attempts>
      </queue>
      <server>
        <log-level>N</log-level>
        <host>...</host>
        ...
        <submission>hostname:port|IPv4:port|*:port|[IPv6]:port|[::]:port|socket_name</submission>
        ...
        <greeting>string</greeting>
        <hops-max>N</hops-max>
        <plain-auth>Yes|No</plain-auth>
        <banip-pool>string</banip-pool>
        <hide-received>Yes|No</hide-received>
        <SSL-only>No|All|Foreign</SSL-only>
        <instant-delivery>Yes|No</instant-delivery>
        <message-max>bytes</message-max>
        <auth-fail-max>N</auth-fail-max>
        <bad-cmd-max>N</bad-cmd-max>
        <bad-cmd-delay>N</bad-cmd-delay>
        <relays>...</relays>
      </server>
      <client>
        <log-level>N</log-level>
        <host>...</host>
        <connections-max>N</connections-max>
        <timeout-greeting>timeout</timeout-greeting>
        <timeout-MAIL>timeout</timeout-MAIL>
        <timeout-RCPT>timeout</timeout-RCPT>
        <timeout-DATA>timeout</timeout-DATA>
        <timeout-DATA-transit>timeout</timeout-DATA-transit>
        <timeout-DATA-end>timeout</timeout-DATA-end>
        <relays>
          <relay>
            <to>domain1pattern domain2 ...</to>
            <to>domain3</to>
            ...
            <via SSL="0|1">server1[:port]</via>
            ...
          </relay>
          ...
        </relays>
        <using-TLS>
          <destination type="domain|server"
                       TLS="allow|deny|required">name</destination>
          ...
        </using-TLS>
        <first-chunk-max>bytes</first-chunk-max>
        <chunk-max>bytes</chunk-max>
      </client>
    </module-SMTP>

queue/scan-queue-dir

  Интервал времени между сканированиями директории очереди сообщений. При каждом сканировании загружаются те задания на отправку, которые должны быть выполнены до следующего сканирования.

queue/mem-queue-length-max

  Максимальное количество заданий на отправку исходящих сообщений находящихся в памяти. При максимальном заполнении очереди загрузка новых заданий будет откладываться. По-умолчанию: 2048.

queue/original-size-max

  Максимальный размер оригинального сообщения включающегося в автоматическое информационное сообщение DSN (Delivery Status Notification). По-умолчанию: 1 Mb.

queue/gateway-for

  Список имён внешних доменов в которые разрешена пересылка неаутентифицированным и недоверенным пользователям. Другими словами, домены для которых мы являемся шлюзами. Имена доменов могут быть разделены пробелами и/или находиться в отдельных узлах `gateway-for`.

queue/attempts

  XML дерево `attempts` задаёт интервалы и количество попыток отправить сообщение если целевой сервер не отвечает или занят. Узел `max` задаёт максимальное количество попыток. Узел `notify-attempt` устанавливает после какой попытки отправителю будет отправлено уведомление о том что доставка сообщения задерживается. Множество узлов `delay` изменяет увеличивающийся интервал времени между попытками, в атрибутах `after` узлов `delay` задаются номера попыток после которых устанавливаются новые интервалы.

server/host

  В узле `host` рекомендуется указать порты 25 и 587 без SSL и порт 465 с SSL. Тайм-аут рекомендуется установить 5 min, согласно требованиям RFC 5321 (п. 4.5.3.2.7.). Как и в других частях конфигурации, возможно указание нескольких узлов `host` с разными списками портов, ключами, сертификатами и ACL.

server/submission

  Узлы `submission` устанавливают порты и, опционально, адреса интерфейсов на которых разрешена аутентификация. Порт должен прослушиваться, т.е. быть настроенным в XML дереве `host`. Возможно использование нескольких узлов `submission`. Клиенты обычно отправляют сообщения используя порты 587 или 465 (SSL), эти порты имеет смысл указать в узлах `submission` как *:587 и *:465, порт 25 используется для доставки сообщений между серверами и на этом порту аутентификация не требуется. По-умолчанию, если не задан ни один узел `submission`, аутентификация разрешена на любом порту любого интерфейса к которому привязан сервер.

  ### Примечание

  Вне зависимости от того что указано в узлах `submission`, доверенным клиентам аутентификация разрешена на любом порту.

server/greeting

  Альтернативная строка приветствия отправляемая клиенту при его подключении к серверу.

server/hops-max

  Максимальное число пересылок (полей Received) для отдельного сообщения после которого оно будет отвергнуто с ошибкой протокола 554 5.4.6. По-умолчанию: 30.

server/plain-auth

  Переключатель, устанавливающий возможность аутентификации с открытым паролем через незашифрованное сетевое соединение. По-умолчанию аутентификация с открытым паролем запрещена.

server/banip-pool

  Имя пула модуля BanIP. Используется для блокировки адресов IP с которых выполняются частые неудачные попытки аутентификации.

server/hide-received

  Переключатель, запрещающий серверу добавлять поле Received в сообщения от локальных (доверенных) пользователей. По-умолчанию выключено.

server/SSL-only

  Разрешает работу исключительно через зашифрованное соединение: `no` - любой клиент может работать через незашифрованное соединение, `all` - любой клиент должен устанавливать зашифрованное соединение, `foreign` - только клиенты не являющиеся доверенными, т.е. не перечисленные в ACL ``module-Mail``/``trusted`` должны устанавливать зашифрованное соединение. По-умолчанию: `no`.

server/instant-delivery

  Переключатель, устанавливающий немедленную доставку сообщения после его получения от клиента. Если выключено, сообщение начнёт доставляться только после нормального завершения сеанса SMTP (команды QUIT) или после получения следующей команды MAIL. По-умолчанию включено.

server/message-max

  Максимальный размер сообщения. По-умолчанию - не ограничено.

server/auth-fail-max

  Максимальное количество безуспешных попыток авторизации пользователя после которого соединение будет разорвано. По-умолчанию: 3.

server/bad-cmd-max

  Количество ошибок, таких как неверный синтаксис, неизвестная команда или неизвестный адрес в команде MAIL, после которых соединение будет разорвано. По-умолчанию: 4.

server/bad-cmd-delay

  Задержка в миллисекундах (целое положительное число) ответа сервера на ошибочную команду или неуспешную попытку авторизации. По-умолчанию: 2000.

server/relays

  Узел типа ACL задающий серверы пересылающие почту нам. Например, если все входящие сообщения из Интернет пересылаются с MTA провайдера, их адреса следует указать в этом списке.

client/host

  XML дерево описывает клиентские сетевые подключения к другим серверам `SMTP`. Имеют смысл только узлы `threads`, `threads-max`, `timeout`. Это единственное место в конфигурации где не предполагается задание более одного узла `host`.

client/connections-max

  Максимальное количество одновременных подключений к серверам `SMTP`. По-умолчанию: 16.

client/timeout-greeting

  Тайм-аут ожидания ответа сервера при подключении. По-умолчанию: 5 min.

client/timeout-MAIL

  Тайм-аут ожидания ответа сервера после команды MAIL. По-умолчанию: 5 min.

client/timeout-RCPT

  Тайм-аут ожидания ответа сервера после команды RCPT. По-умолчанию: 5 min.

client/timeout-DATA

  Тайм-аут ожидания ответа сервера после команды DATA. По-умолчанию: 2 min.

client/timeout-DATA-transit

  Тайм-аут ожидания ответа сервера после не последней команды BDAT. По-умолчанию: 3 min.

client/timeout-DATA-end

  Тайм-аут ожидания ответа сервера после передачи всего сообщения. По-умолчанию: 10 min.

client/relays

  XML дерево `relays` позволяет указать целевые серверы для некоторых доменов. Если сообщение направлено в один из доменов перечисленных в узлах `to` дерева `relay`, то сервер попытается отправить такое сообщение на серверы указанные в узлах `via` того же дерева `relay` не обращаясь к службе DNS для получения записей MX.

  relay/to

    Шаблоны имён доменов сообщения для которых необходимо отправлять на серверы перечисленные в узлах `via`. Множество доменов может быть указано как список шаблонов имён разделённых пробелом в одном узле `to`, либо в нескольких узлах `to`. Здесь может быть указано `*` если все исходящие сообщения должны доставляться через другой сервер SMTP.

  relay/via

    Имя сервера куда следует отправлять сообщения для доменов перечисленных в узлах `to`. После имени сервера может быть указан символ двоеточия и порт. Если порт не указан, используется стандартный для `SMTP` порт 25. Атрибут-переключатель `SSL` может указывать на то что необходимо установить безопасное соединение. Допускается использование множества узлов `via`, в этом случае при безуспешной попытке соединиться с сервером в первом узле, будет произведена попытка соединения со вторым и т.д.

client/using-TLS

  Список целевых серверов и доменов описывающий использование шифрования при доставке сообщений. Значения узлов `destination` задают имя домена, если атрибут `type` имеет значение `domain` или опущен, или имя сервера, если атрибут `type` имеет значение `server`. Атрибуты `TLS` узлов `destination` устанавливают использование шифрования: `allow` - использовать шифрование если целевой сервер поддерживает его, `deny` - не использовать шифрование, `required` - использовать шифрование если сервер его поддерживает или не доставлять сообщения в противном случае.

client/first-chunk-max

  Если целевой сервер поддерживает передачу сообщений частями (команда BDAT), данный узел задаёт максимальный размер первой отправляемой части. Имеет смысл отправлять небольшую первую часть, т.к. после неё сервер может сообщить о возникновении какой-либо проблемы не позволяющей продолжить передачу сообщения.

client/chunk-max

  Если целевой сервер поддерживает передачу сообщений частями (команда BDAT), данный узел задаёт максимальный размер частей следующих за первой.

Пред. | Наверх | След.
<module-Mail> | Начало | <module-POP3>