Мы — долго запрягаем, быстро ездим, и сильно тормозим.

RFC
Программирование
FreeBSD
man
EXIM
  4.62
  4.70
  часть 1
  часть 2
  часть 3
  часть 4
  часть 5
  часть 6
  часть 7
  часть 8
  часть 9
  часть 10
  часть 11
  часть 12
  часть 13
  часть 14
  часть 15
  часть 16
  часть 17
  часть 18
  часть 19
  часть 20
  часть 21
  часть 22
  часть 23
  часть 24
  часть 25
  часть 26
  часть 27
  часть 28
  часть 29
  часть 30
  часть 31
  часть 32
  часть 33
  часть 34
  часть 35
  часть 36
  часть 37
  часть 38
  часть 39
  часть 40
  часть 41
  часть 42
  часть 43
  часть 44
  часть 45
  часть 46
  часть 47
  часть 48
  часть 49
  часть 50
  часть 51
  часть 52
  часть 53
  часть 54
  часть 55
  filter facility


www.lissyara.su —> документация —> EXIM —> 4.70 —> часть 30

30. Транспорт “smtp”


    Транспорт smtp доставляет сообщения через TCP/IP соединения, используя протокол SMTP или LMTP. Список хостов, для попыток доставки, может быть взят из обрабатываемого адреса (будет установлен роутером), или явно определён для транспорта. Обработка таймаутов и повторов (смотрите раздел 32) применяется независимо, к каждому IP-адресу.

30.1 Несколько сообщений в одном соединении

   Отправка нескольких сообщений через одно TCP/IP соединение может быть результатом двух путей:

  • Если сообщение содержит более чем max_rcpt (смотрите ниже) адресов, которые направляются к одному и тому же хосту, к нему должна быть послана более чем одна копия сообщения. В этой ситуации, несколько копий могут быть посланы в одном запуске транспорта smtp через одно TCP/IP соединение. (Что, фактически, и делает exim, когда ему надо отослать очень много адресов в одном сообщении, также зависит от значения глобальной опции remote_max_parallel. Подробности даны в разделе 45.1.)
  • Когда сообщение было успешно доставлено через TCP/IP соединение, exim смотрит свою БД подсказок (hints), для нахождения - есть ли какие-либо другие сообщения, ожидающие подключения к тому же самому хосту. Если они есть, для одного из них начинается новый процесс доставки, и текущее TCP/IP соединеие передаётся ему. Новый процесс, в свою очередь, может посылать несколько копий, и, возможно, создать ещё один процесс.
       Для каждой копии, посланной по одному и тому же TCP/IP соединению, увеличивается счётчик, и, если его значение когда-либо добирается до
    connection_max_messages, по этому подключению сообщения более не посылаются.

    30.2 Использование переменных $host и $host_address

       В начале запуска транспорта smtp, значения $host и $host_address - имя и адрес первого хоста в списке хостов переданном роутером. Однако, когда транспорт собирается соединяться с заданным хостом, и в то время, пока он соединён с этим хостом, в $host и $host_address содержат данные этого хоста. Также эти значения находятся в силе, когда раскрыты helo_data, hosts_try_auth, interface serialize_hosts и различные опции TLS.

    30.3 Использование $tls_cipher и $tls_peerdn

       В начале запуска транспорта smtp, значения $tls_cipher и $tls_peerdn - значения установленные при получении сообщения. Эти значения используются для опций раскрываемых до создания любых SMTP соединений. Просто, до создания любых соединений, эти две переменные - пусты. Если впоследствии запускается TLS, они устанавливаются в соответствующие значения для исходящего соединения, и эти значения остаются в силе при работе любых аутентификаторов и при раскрытии опции authenticated_sender.


    30.4 Частные опции для smtp

       Частные опции транспорта smtp таковы:
    Имя
    Использование
    Тип
    Дефолтовое значение
    address_retry_include_sender smtp boolean истина

       Когда доставка откладывается из-за ответа 4хх на команду RCPT, эта комбинация отправителя и получателя задерживается при последующих обработках очереди. Вы можете задержать получателя без ссылки на отправителя (что и делал exim в более ранних версиях), путём установки address_retry_include_sender в ложь. Однако, это может вызвать проблемы с серверами которые регулярно отвечают 4xx на команды RCPT.

    Имя
    Использование
    Тип
    Дефолтовое значение
    allow_localhost smtp boolean ложь

       Когда хост, заданный в hosts или fallback_hosts (смотрите ниже), оказывается локальным хостом, или перечислен в hosts_treat_as_local, по умолчанию, доставка задерживается. Однако, если установлена опция allow_localhost, exim продолжает производить доставку. Это должно использоваться лишь в специальных случаях, когда конфигурация гарантирует, что в результате не будет петель (например, порт, на который посылается сообщение, слушает иначе сконфигурированный exim).

    Имя
    Использование
    Тип
    Дефолтовое значение
    authenticated_sender smtp string† незадана

       Когда exim аутентифицирует клиента, или если истинна опция authenticated_sender_force, эта опция устанавливает значение для элемента AUTH= в исходящих командах MAIL, перезадавая любое существующее значение аутентифицированного отправителя. Если раскрытие строки принудительно неудачно, опция игнорируется. Иные ошибки раскрытия вызывают задержку доставки. Если результат раскрытия - пустая строка, она также игнорируется.
       Раскрытие успешно после создания исходящего соединения и запуска TLS, если это требуется. Это означает, что
    $host, $host_address, $tls_cipher и $tls_peerdn устанавливаются в зависимости от конкретного соединения.
       Если SMTP-сессия не аутентифицирована, всё равно происходит раскрытие
    authenticated_sender (и может вызывать задержку доставки, если оно неудачно), но элемент AUTH= в команды MAIL не добавляется, исключая случай, когда истинна опция authenticated_sender_force.
       Эта опция позволяет вам использовать транспорт SMTP в режиме LMTP, для доставки почты Cyrus IMAP, и обеспечения надлежащей локальной части как
    authenticated sender, с помощью установки типа:
    authenticated_sender = $local_part
    

       Это удаляет необходимость в субдиректориях IMAP, для назначения специальных ACL, чтобы позволить прямую доставку в эти субдиректории.
       Поскольку ожидаемое использование - типа описанного для Cyrus (когда домен не используется), нет проверки на синтаксис предоставляемого значения.

    Имя
    Использование
    Тип
    Дефолтовое значение
    authenticated_sender_force smtp boolean ложь

       Если эта опция истинна, значение опции authenticated_sender используется для элемента AUTH= в исходящих командах MAIL, когда exim не аутентифицирован, как клиент.

    Имя
    Использование
    Тип
    Дефолтовое значение
    command_timeout smtp time 5m

       Эта опция определяет таймаут для получения ответа на отосланную SMTP команду. Также, это значение используется при ожидании начально приветственного сообщения с удалённого хоста. Это значение должно быть ненулевым.

    Имя
    Использование
    Тип
    Дефолтовое значение
    connect_timeout smtp time 5m

       Эта опция определяет таймаут для функции connect(), устанавливающей TCP/IP вызов к удалённому хосту. Значение нуля разрешает действовать системному таймауту (обычно - несколько минут). Для какого-либо эффекта, это значение должно быть меньше системного таймаута. Однако, на некоторых системах наблюдалось отсутствие какого-либо системного таймаута, поэтому, дефолтовое значение этой опции - 5 минут, это значение рекомендовано RFC1123.

    Имя
    Использование
    Тип
    Дефолтовое значение
    connection_max_messages smtp integer 500

       Эта опция контролирует максимальное число отдельных сообщений, доставялемых через одно TCP/IP соединение. Если значение равно нулю, нет ограничений. В целях тестирования, это значение может быть перезадано опцией командной строки -oB.

    Имя
    Использование
    Тип
    Дефолтовое значение
    data_timeout smtp time 5m

       Эта опция определяет таймаут для передачи каждого блока, в части данных, сообщения. Как результат, - полный таймаут зависит от размера сообщения. Значение не должно быть нулём. Также смотрите опцию final_timeout.

    Имя
    Использование
    Тип
    Дефолтовое значение
    delay_after_cutoff smtp boolean истина

       Эта опция управляет там, что происходит когда все удалённые адреса для данного домена были недоступны так долго, что для них были было превышено количество повторов.
       По умолчанию, если в следующее время повтора ни один из них не был достигнут, адрес возвращается (в виде рикошета - прим. lissyara)  без дальнейших попыток доставки. Другими словами, exim задерживает повторы IP адресов после финального времени сокращения до достижения нового времени повтора, и поэтому адрес может сорваться без попыток доставки, когда машина недоступна долгое время. Некоторые люди несчастны от этой перспективы, так что...
       Если опция
    delay_after_cutoff установлена в ложь, exim ведёт себя по другому. Если все адреса проходят их финальное время сокращения, exim пробует доставить тем адресам, которые не были опробованы с моменты прибытия сообщения. Если они отсутствуют, или все они неудачны, адрес срывается (генерится рикошет - прим. lissyara). Другими словами, при прибытии нового сообщения задержки не происходит, немедленно пробуются адреса с истёкшим сроком, которые не пробовались с момента прибытия сообщения. Если существует продолжающийся поток сообщений к мёртвым хостам, незаданная опция delay_after_cutoff означает, что будет ещё много попыток доставки на них.

    Имя
    Использование
    Тип
    Дефолтовое значение
    dns_qualify_single smtp boolean ложь

       Если используются опции hosts и fallback_hosts, и опция gethostbyname - ложна, то установлена опция RES_DEFNAMES, резольвера. Для дополнительных деталей, смотрите опцию qualify_single, в разделе 17.

    Имя
    Использование
    Тип
    Дефолтовое значение
    dns_search_parents smtp boolean ложь

       Если используются опции hosts и fallback_hosts, и опция gethostbyname - ложна, то установлена опция RES_DNSRCH, резольвера. Для дополнительных деталей, смотрите опцию qualify_single, в разделе 17.

    Имя
    Использование
    Тип
    Дефолтовое значение
    fallback_hosts smtp string list незадана

       К этой опции не применяется раскрытие строк. Аргумент должен быть списком имён хостов, или IP-адресов, разделённых двоеточиями, также, опционально, включается номер порта, разделитель может быть изменён, как описано в разделе 6.19. Каждый отдельный элемент списка - тоже самое, что и элемент в установке route_list для manualroute, как описано в разделе 20.5.
       Аварийные (резервные, чтоли... - прим. lissyara) хосты, также могут быть определены в роутерах, которые ассоциированы с обрабатываемыми адресами. Что используется для опции
    hosts без заданных в транспорте hosts_override и fallback_hosts лишь если адрес не обладает собственным ассоциированным аварийным списком хостов. В отличие от hosts, установка для адреса fallback_hosts не перезадаётся путём hosts_override. Однако, hosts_randomize обращается к спискам аварийных хостов.
       Если exim не может доставить на любой хост для специфического адреса, и ошибки - не постоянные отклонения, адрес помещается в отдельную транспортную очередь, со своим списком хостов, заменённым аварийными хостами, кроме адресов которые роутятся через MX-записи и текущий хост был в изначальном списке MX. В этой ситуации, список аварийных хостов не используется.
       Как только завершены нормальные доставки, аварийная очередь доставляется путем повторного запуска тогоже транспорта с новыми списками хостов. Если несколько неудачных адресов имеют одинаковый аварийный хост (и это разрешается опцией
    max_rcpt), посылается одна копия сообщения.
       Разрешение имён хостов в аварийном списке контролируется опцией
    gethostbyname, как для опции hosts. Аварийные хосты применяются в обоих случаях, когда список хостов прибывает с адресом, и когда он берётся из hosts. Эта опция обеспечивает средство use a smart host only if delivery fails (использовать умные хосты лишь когда неудачна доставка).

    Имя
    Использование
    Тип
    Дефолтовое значение
    final_timeout smtp time 10m

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

    Имя
    Использование
    Тип
    Дефолтовое значение
    gethostbyname smtp boolean ложь

       Если эта опция истинна, когда используются опции hosts и/или fallback_hosts, имена ищутся используя gethostbyname() (или getipnodebyname(), когда доступна), вместо использования DNS. Разумеется, эта функция, может, фактически, использовать DNS, но она, также, может консультироваться с другими источниками информации, типа /etc/hosts.

    Имя
    Использование
    Тип
    Дефолтовое значение
    gnutls_require_kx smtp string незадана

       Эта опция контролирует механизм обмена ключами при использовании GnuTLS в клиенте exim. За дополнительными деталями обратитесь к секции 39.5.

    Имя
    Использование
    Тип
    Дефолтовое значение
    gnutls_require_mac smtp string незадана

       Эта опция контролирует алгоритм MAC при использовании GnuTLS в клиенте exim. За дополнительными деталями обратитесь к секции 39.5.

    Имя
    Использование
    Тип
    Дефолтовое значение
    gnutls_require_protocols smtp string незадана

       Эта опция контролирует протоколы при использовании GnuTLS в клиенте exim. За дополнительными деталями обратитесь к секции 39.5.

    Имя
    Использование
    Тип
    Дефолтовое значение
    gnutls_compat_mode smtp string незадана

       Эта опция контролирует когда GnuTLS используется в совместимом режиме в сервере exim. Это уменьшает безопасность, но улучшает совместимость со старыми реализациями TLS.

    Имя
    Использование
    Тип
    Дефолтовое значение
    helo_data smtp string† $primary_hostname

       Зачение этой опции раскрывается после установки подключения к другому хосту. Результат используется как аргумент для команды EHLO, HELO, или LHLO, запускающей исходящую SMTP или LMTP сессии. Значение по умолчанию:
    $primary_hostname
    

       В процессе раскрытия переменные $host и $host_address устанавливается данные удалённого хоста, и переменные $sending_ip_address и $sending_port устанавливаются в используемые локальный IP адрес и номер порта. Эти переменные могут использоваться для генерации различных значений для различных серверов или различных локальных IP адресов. Например, если вы хотите чтобы строка используемая для helo_data была получена путём поиска в DNS адреса исходйщего интерфейса, вы можете использовать это:
    helo_data = ${lookup dnsdb{ptr=$sending_ip_address}{$value}\
    	{$primary_hostname}
    

       Использование helo_data применяется в обоих случаях - при отправке сообщений и при выполнении обратных вызовов (callout).

    Имя
    Использование
    Тип
    Дефолтовое значение
    hosts smtp string list† незадана

       Хосты ассоциированы с адресом при помощи роутера типа dnslookup, который ищёт хосты поиском домена адреса в DNS, или путём manualroute, имеющего списки хостов в конфигурации. Однако, почтовые адреса могут быть переданы транспорту smtp при помощи любого роутера, и не все они могут обеспечить ассоциированный список хостов.
       Опция
    hosts задаёт список хостов, используемых если обрабатываемый адрес не имеет связанных с ним ассоциированных хостов. Также, хосты определённые в hosts используются при заданной опции hosts_override, независимо от того, заданы ли собственные хосты адреса или нет.
       Вначале строка раскрывается, до интерпретации как списка имён хостов, или IP-адресов разделённых двоеточиями, с возможным включением номера порта. Разделитель может быть изменён на что-то иное, чем двоеточие, как описано в разделе 6.19. Каждый отдельный элемент списка - тоже самое, что и элемент в установке
    route_list для manualroute, как описано в разделе 20.5. Однако, отметьте, что средство /MX, роутера manualroute, тут недоступно.
       Если раскрытие неудачно, доставка задерживается. Исключая ошибку, вызыванную неспособностью завершить поиск, ошибка логгируется в лог паники, также как и в главный лог. Имена хостов ищутся или путём непосредсвенного поиска записи адреса в DNS, или путём вызова
    gethostbyname() (или getipnodebyname(), когда она доступна), в зависимости от установки опции gethostbyname. Когда exim скомпилен с поддержкой IPv6, если хост, который ищется в DNS, имеет оба адреса - IPv4 и IPv6, используются оба типа адреса.
       В процессе доставки, хосты пробуются в порядке подчиняющемся их статусу повтора, если не задана опция
    hosts_randomize.

    Имя
    Использование
    Тип
    Дефолтовое значение
    hosts_avoid_esmtp smtp host list† незадана

       Эта опция - для использования с кривыми хостами, которые объявляют средства ESMTP (например PIPELINING), и, затем, не в состоянии осуществить их должным образом. Когда хост совпадает с hosts_avoid_esmtp, exim посылает HELO, а не EHLO, в начале сеанса SMTP. Это означает, что не могут использоваться какие бы то ни было ESMTP средства, типа AUTH, PIPELINING, SIZE, и STARTTLS.

    Имя
    Использование
    Тип
    Дефолтовое значение
    hosts_avoid_pipelining smtp host list† незадана

       Exim не использует расширение SMTP PIPELINING когда производит доставку на любой хост из этого списка, даже если хост объявлял поддержку PIPELINING.

    Имя
    Использование
    Тип
    Дефолтовое значение
    hosts_avoid_tls smtp host list† незадана

       Exim не пытается начать TLS-сессию, когда происходит доставка на любой хост совпадающий с этим списком. Для получения дополнительных деталей о TLS, смотрите раздел 39.

    Имя
    Использование
    Тип
    Дефолтовое значение
    hosts_max_try smtp integer 5

       Эта опция ограничивает число IP-адресов, которые пробуются для любой одной доставки, в случае когда происходят временные ошибки доставки. Раздел 30.5 описывает её использование, и зачем она нужна.

    Имя
    Использование
    Тип
    Дефолтовое значение
    hosts_max_try_hardlimit smtp integer 50

       Это - дополнительная проверка на максимальное число IP-адресов, которые exim пробует для любой одной доставки. Раздел 30.5 описывает её использование, и зачем она нужна.

    Имя
    Использование
    Тип
    Дефолтовое значение
    hosts_nopass_tls smtp host list† незадана

       Для любых хостов, которые совпадают с этим списком, соединение на котором была начата TLS-сессия, не будет передаваться новому процессу доставки для посылки иного сообщения в той же самой сессии. Для объяснений, когда это может быть необходимо, смотрите раздел 39.10.

    Имя
    Использование
    Тип
    Дефолтовое значение
    hosts_override smtp boolean ложь

       Если эта опция установлена, и, также, установлена опция hosts, то любые хосты присоединённые к адресу игнорируются, и вместо них всегда используются хосты заданные в опции hosts. Эта опция не применяется к fallback_hosts.

    Имя
    Использование
    Тип
    Дефолтовое значение
    hosts_randomize smtp boolean ложь

       Если эта опция установлена, и, или список хостов взят из опции hosts или fallback_hosts, или хосты предоставленные роутером не были получены из MX-записей (это включает аварийные хосты из роутера), и не были рандомизированы (изменён их порядок, случайным образом - прим. lissyara) роутером, то порядок опробования хостов рандомизируется каждый раз при запуске транспорта. Перемешивание порядка списка хостов может использоваться для грубого распределения нагрузки.
       Когда опция
    hosts_randomize - истинна, список хостов может быть разбит на группы, порядок которых перемешивается отдельно. Это позволяет установить MX-like поведение. Границы между группами обозначены элементом, который просто + в списке хостов. Например:
    hosts = host1:host2:host3:+:host4:host5
    

       Порядок трёх первых и порядок последних двух хостов перемешивается для каждого использования, но первые три всегда завершаются до двух последних. Если опция hosts_randomize не установлена, элемент списка + - игнорируется.

    Имя
    Использование
    Тип
    Дефолтовое значение
    hosts_require_auth smtp host list† незадана

       Эта опция предоставляет список серверов, для которых должна произойти успешная аутентификация до того, как exim попробует передать сообщение. Если аутентификация неудачна для серверов которые не в этом списке, exim пробует отослать без аутентификации. Если аутентифкация неудачна для одного из серверов в списке, - доставка задерживается. Эта временная ошибка обнаружима в правилах повторов, таким образом, она может быть превращена жёсткую ошибку, если это требуется. Также смотрите опцию hosts_try_auth, и раздел 33 - для получения дополнительных деталей о аутентификации.

    Имя
    Использование
    Тип
    Дефолтовое значение
    hosts_require_tls smtp host list† незадана

       Exim будет настаивать на использовании сессии TLS, когда доставляет к любому хосту который совпадает с этим списком. Смотрите раздел 39, для получения дополнительных деталей о TLS. Отметьте: Эта опция затрагивает лишь исходящую почту. Для применения TLS ко входящим сообщениям, используйте соответствующую ACL.

    Имя
    Использование
    Тип
    Дефолтовое значение
    hosts_try_auth smtp host list† незадана

       Эта опция предоставляет список серверов, которым exim пытается аутентифицироваться, когда соединяется как клиент, если эти сервера объявляли о поддержке аутентификации. Если аутентификация неудачна, exim пробует передать сообщение неаутентифицировавшись. Также смотрите опцию hosts_require_auth, и раздел 33 - для получения дополнительных деталей о аутентификации.

    Имя
    Использование
    Тип
    Дефолтовое значение
    interface smtp string list† незадана

       Эта опция определяет, какие интерфейсы будут использоваться при создании исходящего SMTP-вызова. Значение - IP адрес, а не имя интерфейса, типа xl0. Не перепутайте с адресом интерфейса который используется при получении сообщения, находящегося в $received_ip_address, ранее известной как $interface_address. Имя было изменено для минимизации путаницы с адресом исходящего интерфейса. Нет переменной которая содержит адрес исходящего интерфейса, по причине что если он не задан этой опцией - его значение неизвестно.
       В процессе раскрытия опции
    interface переменные $host и $host_address ссылаются на хост, к которому будет производиться подключение. Принудительная неудача раскрытия, или результат в виде пустой строки, вызывают игнорирование этой опции. Иначе, после раскрытия, строка должна быть списком IP-адресов, по дефолту разделённых двоеточиями, но разделитель может быть изменён обычным способом. Например:
    interface = <; 192.168.123.123 ; 3ffe:ffff:836f::fe86:a061
    

       Первый интерфейс корректного типа (IPv4 или IPv6) - используется для исходящего соединения. Если ни один из них не явялется интерфейсом правильного типа, опция игнорируется. Если опция interface не установлена, или игнорируется, то системные IP-функции выбирают, какой интерфейс использовать, если у хоста их более одного.

    Имя
    Использование
    Тип
    Дефолтовое значение
    keepalive smtp boolean истина

       Эта опция контролирует установку SO_KEEPALIVE на исходящих сокетах соединения TCP/IP. Когда она установлена, она заставляет ядро периодически исследовать неактивные соединения, путём отправки пакета со старым номером последовательности. Другой конец подключения должен послать подтверждение, если с подключением всё в порядке, или сброс, если подключение было прервано. Причина этого в том, что оказывается благоприятное воздействие освобождения некоторых типов подключений, которые могут застрять, когда удалённый хост отключается, не разрывая TCP/IP соединение должным образом. Механизм keepalive может занять несколько часов, для обнаружения недостижимых хостов.

    Имя
    Использование
    Тип
    Дефолтовое значение
    lmtp_ignore_quota smtp boolean ложь

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

    Имя
    Использование
    Тип
    Дефолтовое значение
    max_rcpt smtp integer 100

       Эта опция ограничвает число команд RCPT, которые послылаются в одной SMTP-транзакции. Каждый установленный адрес обрабатывается независимо, и, таким образом, может вызывать параллельные подключения к одному и тому же хосту, если это разрешается опцией remote_max_parallel.

    Имя
    Использование
    Тип
    Дефолтовое значение
    multi_domain smtp boolean истина

       Когда эта опция установлена, транспорт smtp может обрабатывать множество адресов, содержащих смесь различных доменов, если все они резольвятся в один и тот же список хостов. Выключение опции ограничивает транспорт обработкой лишь одного домена одновременно. Это полезно, если вы хотите использовать $domain в раскрытии для транспотра, поскольку она установлена лишь когда один домен вовлечён в удалённую доставку.

    Имя
    Использование
    Тип
    Дефолтовое значение
    port smtp string† смтрите ниже

       Эта опция определяет TCP/IP порт на сервере, с котрым соединяется exim.
       Примечание: Не перепутайте её с портом который используется при приёме сообщения,
    $received_port, ранее известной как $interface_port. Имя изменено для минимизации ошибок с исходящим портом. Переменная содержащая исходящий порт - остутствует.
       Если значение опции начинается с цифры, оно берётся как номер порта; иначе, оно ищется с использованием
    getservbyname(). Обычно, дефолтовое значение - smtp, но, если протокол установлен как lmtp, значение по умолчанию - lmtp. Если раскрытие неудачно, или если не может быть найден номер порта, доставка задерживается.

    Имя
    Использование
    Тип
    Дефолтовое значение
    protocol smtp string smtp

       Если эта опция установлена в lmtp вместо smtp, значение по умолчанию для опции port изменяется на lmtp, и транспорт опрерирует протоколом LMTP (RFC2033), вместо SMTP. Этот протокол иногда используется для локальных доставок в закрытое хранилища сообщений. Exim, также, поддерживает выполнение LMTP через трубу к локальному процессу - смотрите раздел 28.

    Имя
    Использование
    Тип
    Дефолтовое значение
    retry_include_ip_address smtp boolean истина

       Exim, обычно, включает оба - имя хоста и IP-адрес в ключ, создаваемый для индексирования данных повторов, после временной неудачи доставки. Это означает, что когда один или несколько IP-адресов для хоста неудачны, он проверяет их периодически (управляемый правилами повторов), но использование других IP-адресов - не затрагивается.
       Однако, в некоторых окружающих средах dialup-хостов, назначается другой адрес при каждом соединении. В этой ситуации, использование IP-адреса как части ключа повторов приводит к нежелательным результатам. Установка этой опции в ложь, заставляет exim использовать только имя хоста. Обычно, это должно делаться на отдельном
    smtp транспорте, устанавливаемом специально для обработки dialup-хостов.

    Имя
    Использование
    Тип
    Дефолтовое значение
    serialize_hosts smtp host list† незадана

       Поскольку exim работает в распределённой манере, если несколько сообщений для одного хоста прибывают одновременно, может произойти более одного подключения к удалённому хосту. Обычно, это не проблема, кроме случаев, когда между хостами медленная связь. В этом случае, может быть полезным ограничить exim одним соединением одновременно. Это может быть сделано путём установки опции serialize_hosts, чтобы она совпадала с этими хостами.
       Exim осуществляет упорядочивание посредством базы данных подсказок (hints), в которую вносятся записи каждый раз, когда процесс соединяется с одним из ограниченных хостов. Запись удаляется после завершения соединения. Очевидно, есть возможность для оставления ложных записей, если происходит системный или програмный сбой. Для принятия мер против этого, exim игнорирует любые записи старше шести часов.
       Если вы устанавливаете этот вид упорядочивания, вы, также, должны принять меры для удаления БД подсказок (hints) при каждой перезагрузке системы. Имена файлов начинаются с
    misc, и они хранятся в директории spool/db. Могут быть один, или два файла, в зависимости от типа используемой DBM. Те же самые файлы используются для упорядочивания ETRN.

    Имя
    Использование
    Тип
    Дефолтовое значение
    size_addition smtp integer 1024

       Если удалённый сервер SMTP указывает, что он поддерживает опцию SIZE в команде MAIL, exim использует её для передачи размера сообщения, в начале SMTP-транзакции. Этой опцией добавляется значение size_addition к передаваемому значению, для учёта заголовков и другого текста, который может быть добавлен, в процессе доставки, конфигурационными опциями, или в транспортном фильтре. Может возникнуть необходимость увеличить это значение, если к сообщениям добавляется много текста.
       Альтернативно, если установлено отрицательное значение опции
    size_addition, оно вообще отключает использование опции SIZE.

    Имя
    Использование
    Тип
    Дефолтовое значение
    tls_certificate smtp string† незадана

       Значение этой опции должно быть абсолютным путём к файлу, содержащему клиентский сертификат, для возможного использования при посылке сообщения через зашифрованное соединение. В процессе раскрытия, значения $host и $host_address устанавливаются в имя и адрес сервера. Смотрите раздел 39, для получения дополнительных деталей о TLS.
       Отметьте: Эта опция должна быть задана, если вы хотите, чтобы exim мог использовать TLS-сертификаты при отправке сообщений как клиент. Глобальная опция, с тем же самым именем, задаёт сертификат для exim`a как сервера; не предполагается, автоматически, что тот же самый сертификат должен использоваться при работе exim`a как клиента.

    Имя
    Использование
    Тип
    Дефолтовое значение
    tls_crl smtp string† незадана

       Эта опция определяет список аннулированных сертификатов. Раскрытое значение должно быть именем файла, содержащего CRL в формате PEM.

    Имя
    Использование
    Тип
    Дефолтовое значение
    tls_privatekey smtp string† незадана

       Значение этой опции должно быть абсолютным путём к файлу, содержащему частный ключ клиента. Это используется при отправке сообщения через шифрованное соединение, используя клиентский сертификат. В процессе раскрытия, значения $host и $host_address устанавливаются в имя и адрес сервера. Если эта опция незадана, или раскрытие принудительно неудачно, или результат - пустая строка, предполагается, что частный ключ находится в том же файле, что и сертификат. Смотрите раздел 39, для получения дополнительных деталей о TLS.

    Имя
    Использование
    Тип
    Дефолтовое значение
    tls_require_ciphers smtp string† незадана

       Значение этой опции должно быть списком разрешённых наборов шифров, для использования при установке исходящего шифрованного соединения. (Есть глобальная опция, с тем же самым именем, для контроля входящих соединений.) В процессе раскрытия, значения $host и $host_address устанавливаются в имя и адрес сервера. Смотрите раздел 39, для получения дополнительных деталей о TLS; отметьте, что эта опция используется по разному OpenSSL и GnuTLS (смотрите разделы 39.4 и 39.5). Для GnuTLS, порядок шифров - предпочтительный порядок.

    Имя
    Использование
    Тип
    Дефолтовое значение
    tls_tempfail_tryclear smtp boolean истина

       Когда хост сервера не находится в hosts_require_tls, и есть проблема в установке TLS-сессии, эта опция определяет, должен ли exim пытаться доставить незашифрованное соединение. Если она установлена в ложь, доставка к текущему хосту задержана; если есть другие хосты - пробуются они. Если эта опция установлена в истину, exim пытается доставить нешифрованное сообщение, после 4xx ответа на STARTTLS. Также, если STARTTLS принят, но последующие переговоры TLS неудачны, exim закрывает текущее соединение (поскольку оно находится в неопределённом состоянии), открывает новое, к тому же самому хосту, и пытается осуществить чистую (видимо - нешифрованную - прим. lissyara) доставку.

    Имя
    Использование
    Тип
    Дефолтовое значение
    tls_verify_certificates smtp string† незадана

       Значение этой опции должно быть абсолютным путём к файлу, содержащему разрешённые серверные сертификаты, для использования при установке шифрованного подключения. Альтернативно, если вы используете OpenSSL, вы должны установить tls_verify_certificates в имя директории, содержащей файлы сертификатов. Это не работает с GnuTLS; эта опция должны быть установлена в имя одного файла, если вы используете GnuTLS. В процессе раскрытия, значения $host и $host_address устанавливаются в имя и адрес сервера. Смотрите раздел 39, для получения дополнительных деталей о TLS.

    30.5 Как ограничить число хостов используемых для проверки

       Есть две опции, которые связаны с числом хостов, которые проверяются при SMTP доставке. Это hosts_max_try и hosts_max_try_hardlimit.
       Опция
    hosts_max_try ограничивает число хостов, которые пробуются за за одну доставку. Однако, несмотря на термин хост в её названии, опция, фактически, применяется независимо к каждому IP-адресу. Другими словами, многоадресные (тут применялось другое словечко - multihomed, но думаю, так будет ясней - прим. lissyara) хосты обрабатываются как несколько независимых хостов, точно так же как и для повторов.
       Многие из больших ISP (Internet Service Provider, провайдеров интернета - прим. lissyara) имеют много MX-записей, часто указвающих на многоадресные хосты. Как результат, список дюжины и более IP-адресов может быть создан в результате маршрутизации одного из этих доменов.
       Пробовать каждый отдельный адрес в таком длинном списке - не самая разумная идея; если несколько адресов вверху списка неудачны, разумно предположить, что существует какая-то проблема, затрагивающая их все. Грубо говоря, значние
    hosts_max_try - максимальное число, пробуемое до задержки доставки. Однако, логика не может быть простой.
       Во-первых, IP-адреса пропускаются, поскольку не пришло их время повтора, и кроме того, адреса, время повтора которых не подошло, также не подсчитываются. Это означает, что когда некоторые адреса доходят до их времени повтора, может быть попробовано более одного значения
    hosts_max_try. Причина такого поведения заключается в необходимости гарантировать, что все IP-адреса рассмотрены до таймаута почтового адреса (но, смотрите ниже, для исключений).
       Во-вторых, когда достигнут предел
    hosts_max_try, exim просматривает вниз список хостов, чтобы найти есть ли последующие хосты с иным (более высоким) значением MX. Если они есть, этот хост рассматривается следующим, и текущий IP-адрес используется, но не подсчитывается. Это поведение - помощь в случае, когда домен с правилами повтора, которые почти никогда не задерживают никакие хосты, как - сейчас будет объяснено:
       Рассмотрите случай длинного списка хостов, с одним значением MX, и нескольких с более высоким значением MX. Если
    hosts_max_try - маленькое (значение по умолчанию - 5), вначале будут опробованы лишь несколько хостов вверху списка. С дефолтовыми правилами повторов, определяющими увеличивающееся время повтора, в конечном счёте, пробуются более высокие MX-хосты, после того, как те, что наверху списка пропущены, поскольку они не достигли их времени повтора.
       Однако, это, - обычная практика для помещения короткого фиксированного времени повтора в доменах крупных ISP, на том основании, что что их сервера редко лежат очень долго. К сожалению, они - как раз те домены, которые имеющеи тенденцию к резольвингу в длинные списки хостов. Короткое время повтора - что самые самые маленькие MX-хосты пробуются чаще всего. Попытки могут быть в различном порядке, из-за случайной сортировки, но без специальной проверки MX, высшие MX-хосты бы никогда не пробовались, до тех пор, пока все низшие MX-хосты имеют таймаут (который может быть несколько дней), поскольку всегда есть каки-либо низшие MX-хосты, с наступившим временем повтора. Со специальной проверкой, exim рассматривает по крайней мере один IP-адрес от каждого значения MX, при каждой попытке доставки, даже если уже был достигнут предел
    hosts_max_try.
       Вышеупомянутая логика означает, что
    hosts_max_try - не является жёстким пределом, и в частности, обычно, exim пробует все адреса, до таймаута адреса электронной почты. Когда hosts_max_try была осуществлена, это казалось разумной вещью. Однако, недавно, некоторые сумашедшие конфигурации DNS были установлены с сотнями IP-адресов для некоторых доменов. Это, действительно, может занять очень длительное время для таймаута адресов, в этих случаях.
       Опция
    hosts_max_try_hardlimit была добавлена для помощи при таких проблемах. Exim никогда не пробует больше этого числа IP-адресов; если он достигает этого предела, и у всех них был таймаут, почтовый адрес срывается (генерится рикошет - прим. lissyara), даже несмотря на то, что не все возможные IP-адреса были попробованы.


    =============
    translated by lissyara
    verifying by Gerk



    Ссылка на обсуждение: http://forum.lissyara.su/viewforum.php?f=20.



  • Хостинг HOST-FOOD

    2014-07-27, lissyara
    gmirror

    Удалённое создание софтверного зеркала средствами gmirror, на диске разбитом с использованием gpart. Использование меток дисков для монтирования разделов.
    2013-08-20, zentarim
    Scan+Print server FreeBSD 9

    Настройка сервера печати и сервера сканирования под управлением операционной системы FreebSD 9 для МФУ Canon PIXMA MP540
    2011-11-20, BlackCat
    Разъём на WiFi-карту

    Делаем съёмной несъёмную антену на WiFi-карте путём установки ВЧ-разъёма
    2011-09-14, manefesto
    Настройка git+gitosis

    Настройка системы контроля версия исходного кода в связке git+gitosis+ssh
    2011-08-14, zentarim
    Wi-FI роутер + DHCP + DNS

    Настройка Wi-Fi роутера на Freebsd 8 + DNS сервер + DHCP сервер: чтобы Wi-Fi клиенты были в одной подсети с проводными, проводные и беспроводные клиенты получали адреса автоматически по DHCP, кэширующ
    2011-06-15, -ZG-
    Охранная система на FreeBSD+LPT

    В этой статье описана попытка реализации простой охранной системы на базе FreeBSD с подключением к ней охранных устройтсв на LPT порт и видеорегистрацией.
    2011-03-13, terminus
    ng_nat

    Описание работы ng_nat, практическое использование, достоинства и недостатки в сравнении с ipfw nat
    2011-02-20, Капитан
    Nagios+Digitemp

    Статья описывает создание системы оповещения о превышении температуры в специальных помещениях на основе Nagios с использованием программы Digitemp.
    2011-02-17, Le1
    Zyxel Configuration

    Скрипт для массового изменения конфига свичей Zyxel. Берет из файла iplist список ip-шек, заходит последовательно на каждый и выполняет комманды из файла commands, записывая происходящее в лог файл.
    2011-02-16, fox
    hast carp zfs ucarp cluster

    HAST (Highly Available Storage), CARP, UCARP, ZFS, Cluster настройка и одаптация плюс личные размышления…
    2011-02-04, BlackCat
    Восстановление ZFS

    История о том, как был восстановлен развалившийся RAIDZ ZFS-пул (перешедший в FAULTED) с помощью скотча и подручных средств. Или о том, какие приключения ожидают тех, кто не делает резервных копий.
    2011-02-03, Капитан
    1-Wire

    Статья описывает самостоятельное изготовление контроллера DS9097 для съёма показаний с датчиков температуры DS1820 с помощью программы Digitemp.
    2011-01-28, Капитан
    Температура в серверной

    Статья описывает построение системы наблюдения за температурой в помещении серверной с использованием программы Digitemp и выводом графиков в MRTG
    2011-01-21, m4rkell
    Syslog server

    Как то буквально на днях, у нас завалилось, что то в еве) или не в еве не суть. Суть в том, что когда захотели снять логи с хостов esx обнаружили, что хранят эти негодяи логии только за последнии сутк
    2011-01-07, lissyara
    Canon/gphotofs

    Монтирование цифровых фотоаппаратов Canon (PTP) как файловой системы, автоматизация этого процесса через события devd и внешние скрипты.
    2010-12-13, Al
    IPSec

    Описание принципов работы IPSEC и способов аутентификации.
    2010-12-07, manefesto
    FreeBSD on flash

    Было принято решении переехать на USB Flash и установить минимальный джентельменский набор для работы своего роутера. Делаем =)
    2010-12-05, Fomalhaut
    root ZFS, GPT

    Инструкция по установке FreeBSD с использованием в качестве таблицы разделов GPT и в качестве основной файловой системы - ZFS
    2010-09-05, Cancer
    Настройка аудиоплеера на ximp3

    Цели: Простенький аудиоплеер, для того что бы тетя продавец в магазине утром пришла нажала на кнопку Power и заиграла в зале музыка, так же был доступ по сети, общая шара куда можно заливать музыку, к
    2010-08-31, Cancer
    Установка и настройка OpenVPN

    На днях появилась задача - объединить головной офис и 3 филиала в одну сеть через интернет посредством OpenVPN, чтобы люди могли подключаться через RDP к базам 1С на серверах.
    2010-08-25, manefesto
    freebsd lvm

    Использование linux_lvm для работы с LVM разделами из-под FreeBSD. Проблемы которые возники при монтирование lvm раздела
    2010-04-30, gonzo111
    proftpd file auth&quota

    Proftpd - квоты и авторизация из файлов, без использования базы данных и/или системных пользователей
    2010-04-22, lissyara
    tw_cli

    Пошаговая инструкция по восстановлению RAID на контроллере 3ware, из которого выпал один диск. Настройка мониторинга состояния рейда и отчётов о его состоянии на email.
    2010-04-14, fox
    MySQL Master+Master

    MySQL (Master Master) and (Master Slave) Как настроить репликацию…
    2010-03-09, terminus
    DNS zones

    Краткий ликбез про управление DNS зонами. Примеры проведения делегирования прямых и обратных DNS зон.
    2010-03-09, aspera
    Squid+AD (group access)

    Настройка прокси сервера SQUID с автроризацией пользователей в AD. Разделение пользователей на группы
    2010-03-02, BlackCat
    Шлюз: Часть 4

    Настройка дополнительных сервисов: синхронизация времени (OpenNTPD), клиент DynDNS.org.
    2010-03-01, BlackCat
    Шлюз: Часть 3

    Настройка DHCP и DNS серверов для работы внутри частной сети, c поддержкой внутренних (частных зон) DNS, а так же интеграция DHCP и DNS сервисов.
    2010-03-01, BlackCat
    Шлюз: Часть 2

    Конфигурация МСЭ pf для проброса портов с изменением порта назначения и без, а так же поддержки активного режима FTP и ограничения максимального размера сегмента
    2010-03-01, BlackCat
    Шлюз: Часть 1

    Быстрая настройка шлюза/маршрутизатора с установлением PPPoE-соединения, поддержкой NAT и DNS-forwarding.
    2010-02-23, Morty
    darkstat

    Простая считалка траффика, со встроенным веб-сервером. Очень маленькая, может делать отчеты трафика по хостам, портам, протоколам, а также строить графики
    2010-01-23, gonzo111
    squid+sams+sqstat

    Пилим squid и sams - примеры конфигов с объяснениями. Установка SqStat.
    2009-12-19, schizoid
    mpd5 + radius + ng_car + Abills

    Настройка pppoe-сервера с биллинговой системой Abills и шейпером ng_car
    2009-11-16, lissyara
    UFS->ZFS

    Удалённая миграция с UFS на ZFS. Загрузка с раздела zfs. Настройка для работы с малым количеством памяти под архитектурой i386.
    2009-11-13, gx_ua
    fusefs-ntfs

    Установка, настройка и использование fusefs-ntfs, драйвер NTFS, предназанченного для монтирования NTFS разделов под FreeBSD
    2009-11-12, Morty
    LiveCD

    Создание собственного LiveCD с необходимыми вам изменениями, автоматизирование данного процесса, а так же вариант скоростной сборки СД.
    2009-09-27, lissyara
    Samba как PDC

    Контроллер домена - аналог M$ NT4 домена под самбой, без использования LDAP и прочей хиромантии. Просто и быстро =)
    2009-08-30, terminus
    ipfw nat

    Подробное руководство по ipfw nat, сложные случаи конфигурации.
    2009-08-24, levantuev
    HotSpot

    Установка Hotspot системы в общественное заведение.
    2009-08-18, lissyara
    diskless

    Создание бездисковых терминалов под управлением FreeBSD - с загрузкой по сети. Используются для старта rdesktop и подключения к виндовому серверу терминалов.
    2009-07-29, BAV_Lug
    Видеонаблюдение

    Настройка бюджетного варианта видеонаблюдения на удаленном объекте
    2009-07-22, Cancer
    OpenLDAP адресная книга

    Настройка и создание адресной книги на базе OpenLDAP + phpLDAPadmin
    2009-06-30, SergeySL
    AimSniff

    Руководство по созданию системы мониторинга ICQ-переписки на базе AimSniff, использующей базу данных MySQL для хранения и Web-интерфейс WAS (Web Aim Sniff) для просмотра перехваченных сообщений
    2009-06-25, atrium
    Управление правами доступа

    Полномочия пользователей и файлов, принадлежащих им, формирует концепцию ОС UNIX.
    2009-06-16, DNK
    Exim+PgSQL

    Установка почтовой системы exim+pgsql на FreeBSD 7.1
    2009-05-30, mvalery
    HDD(mbr) -> HDD(gpt)

    Как разбить диск размером более 2TB на разделы, сделать загрузочным, а затем перенести на него информацию с рабочей системы — донора.
    2009-05-22, Cancer
    SendXMPP

    Отправка сообщений на Джаббер сервер по средствам SendXMPP
    2009-05-11, Raven2000
    Network UPS Tools

    Network UPS Tools представляет собой набор программ, которые обеспечивают общий интерфейс для мониторинга и администрирование UPS оборудования.
    2009-04-29, m0ps
    IPSEC over GRE with RIP

    Пример IPSEC over GRE и динамическим роутингом (RIP), с ADSL в качестве последней мили на оборудовании Cisco.
    2009-04-24, WhiteBear777
    qemu network

    Появилась необходимость поставить на БСД эмулятор(qemu) и настроить в качестве гостевой ОС Windows XP, предоставив ей выход в локалку и в сеть internet...
    2009-04-22, vp
    freebsd + huawei 162 gsm modem

    В статье описывается простой способ подключения модема huawei 162 к freebsd + первичная настройка smstools
    2009-04-12, mvalery
    Мониторинг RAID

    Мониторинг из командной строки RAID компаний AMCC 3ware, HighPoint, Dell (Perc 5/i и PERC 6/i) и LSI (MegaRAID SAS 8408E и SAS1078)
    2009-04-09, texnotronic
    RAID1 via LAN

    Функциональности DRBD во FreeBSD можно добиться примонтировав блочное устройство по сети при помощи GEOM Gate (ggate) и добавив его в зеркало с локальным диском средствами gmirror.
    2009-04-03, Raven2000
    Оптимизация хоста для CMS

    В последнее время на старый и не очень быстрый ПК (Celeron 800 RAM 256) мною было навешано с десяток сайтов и некоторые были из серии тяжелых CMS. И так нам дано FreeBSD 7.1 и ~10 сайтов/CMS.
    2009-04-01, atrium
    VSFTPD + AD && MySQL

    Настройка самого безопасного сервера FTP - vsftpd.
    2009-03-31, Dron
    Peoplenet + C-motech (3G)

    Описание подключения к сети Peoplenet посредством 3G модема С-motech CCu-650U на FreeBSD
    2009-03-25, lissyara
    mod_auth_external

    mod_auth_external - авторизация пользователей в apache c помощью внешней программы - например, системных пользователей.
    2009-03-24, gx_ua
    Lightsquid

    Частично lightsquid может заменить sams: быстрая и простая инсталляция, быстрый парсер, cgi скрипт для динамической генерации отчета, нет привязки к БД, различные графические отчеты, мультиязычный инт
    2009-03-18, LHC
    Установка Zabbix-1.6

    Установка и первоначальная настройка системы мониторинга Zabbix (версия 1.6)
    2009-03-16, Cancer
    Принт-Сервер Samba+LPD & AD

    Простейшая настройка Принт-Сервера на FreeBSD используя Samba+LPD & AD
    2009-03-04, Mad_caterpillar
    ipsec_vpnc

    Настройка VPN IPSec концентратора на FreeBSD 6.2 для клиента cisco с использованием ipsec-tools и авторизацией в активной директории
    2009-02-18, Andy
    Free-SA

    Программа анализирует log файлы Squid'а и формирует по ним отчет.
    2009-02-02, Cancer
    Openfire Jabber Server

    Установка Jabber сервера на примере Openfire
    подписка

        вверх      
    Статистика сайта
    Сейчас на сайте находится: 39 чел.
    За последние 30 мин было: 147 человек
    За сегодня было
    2650 показов,
    651 уникальных IP
     

      Этот информационный блок появился по той простой причине, что многие считают нормальным, брать чужую информацию не уведомляя автора (что не так страшно), и не оставляя линк на оригинал и автора — что более существенно. Я не против распространения информации — только за. Только условие простое — извольте подписывать автора, и оставлять линк на оригинальную страницу в виде прямой, активной, нескриптовой, незакрытой от индексирования, и не запрещенной для следования роботов ссылки.
      Если соизволите поставить автора в известность — то вообще почёт вам и уважение.

    © lissyara 2006-10-24 08:47 MSK

    Время генерации страницы 0.0505 секунд
    Из них PHP: 43%; SQL: 57%; Число SQL-запросов: 56 шт.
    Исходный размер: 251094; Сжатая: 38480