Когда поиск путём gethostbyname() (или getipnodebyname(), когда доступна)
приводит к адресу вызывающего хоста.<.ul>
Однако, команда HELO или EHLO не отклоняется, если любая
из проверок неудачна. Обработка продолжается, но результат проверки
запомнен и может быть обнаружен в ACL путём условия verify = helo.
Имя |
Использование |
Тип |
Значение по умолчанию |
helo_verify_hosts |
main | host list† |
не задана | |
Как и helo_try_verify_hosts, эта опция устарела и
сохранена лишь для обратной совместимости. Для хостов, совпадающих с этой
опцией, exim проверяет имя хоста, данное в HELO или EHLO так же, как для
helo_try_verify_hosts. Если проверка неудачна, команда HELO/EHLO
отклоняется с 550-й ошибкой, пишется сообщение в главный протокол и
журнал отклоненных хостов. Если же команда MAIL передаётся до HELO/EHLO,
она отклоняется с ошибкой 503.
Имя |
Использование |
Тип |
Значение по умолчанию |
hold_domains |
main | domain list† |
не задана | |
Эта опция разрешает проводить почту вручную по
очереди для некоторых доменов. Опция переопределяется, если сообщение
принудительно доставляется с опциями -M, -qf, -Rf и
-Sf и также, когда тестируется или проверяется адрес с использованием
-bt или -bv. Иначе, если домен совпадает с элементом в
hold_domains, для этого адреса не производятся
маршрутизация или доставка, и он задерживается при каждом просмотре сообщения.
Эта опция используется как временная операционная мера для
задержки доставки почты, пока разбираются в какой-то проблеме или
проверяется новая конфигурация. Если Вы хотите лишь задержать почту для
некоторых доменов, пока работает очередь, Вы должны использовать
queue_domains или queue_smtp_domains, но
не hold_domains.
Имя |
Использование |
Тип |
Значение по умолчанию |
host_lookup |
main | host list† |
не задана | |
Exim не ищет имя вызывающего хоста по его IP, если
его не требуется сравнивать с каким-то списком хостов, хост совпадает с
helo_try_verify_hosts или с helo_verify_hosts или хост
совпадает с этой опцией (которая обычно содержит IP-адреса, а
не имена хостов). Конфигурационный файл по умолчанию содержит:
что вызывает поиск для всех хостов. Если накладные расходы на
этот поиск очень велики, установка может быть
изменена или удалена.
После успешного обратного поиска, exim производит прямой
поиск по полученному имени для подтверждения, что он приведёт к тому IP, с
которого всё началось. Если эта проверка безуспешна, exim ведёт
себя так, как будто поиск по имени был неудачен.
После любого вида ошибки, имя хоста (в $sender_host_name)
остаётся незаданным, а $host_lookup_failed устанавливается в 1.
Смотрите также dns_again_means_nonexist,
helo_lookup_domains и verify = reverse_host_lookup в ACL.
Имя |
Использование |
Тип |
Значение по умолчанию |
host_lookup_order |
main | string list |
bydns:byaddr | |
Эта опция определяет порядок различных методов поиска,
когда exim пытается найти имя хоста по его IP-адресу. Заданное по умолчанию
поведение: вначале производит поиск по DNS, а затем пробует локальный поиск
(используя gethostbyaddr() или эквивалент), если он неудачен.
Вы можете изменить порядок этих поисков или удалить ненужный.
Предупреждение: Метод byaddr не всегда приводит к
алиасам, когда много PTR-записей в DNS, и IP-адрес не
перечислен в /etc/hosts. Различные ОС дают в таких
случаях разные результаты. Именно поэтому exim со значением по
умолчанию вначале пробует произвести поиск в DNS.
Имя |
Использование |
Тип |
Значение по умолчанию |
host_reject_connection |
main | host list† |
не задана | |
Если эта опция задана, входящие SMTP-вызовы от
перечисленных хостов отклоняются сразу же при подключении.
Эта опция устаревшая и сохранена только для обратной совместимости,
поскольку в настоящее время ACL, определённая как acl_smtp_connect,
также может немедленно отклонять входящие соединения.
Способность выдвать немедленное отклонение
(этой опцией или использованием ACL) предусмотрена для
использования в необычных случаях. Многие хосты просто сразу пробуют вновь,
иногда без задержки. Обычно лучше использовать ACL для отклонения входящих
соединений на более поздней стадии, например,
после команды RCPT. Смотрите раздел 39.
Имя |
Использование |
Тип |
Значение по умолчанию |
hosts_connection_nolog |
main | host list† |
не задана | |
Эта опция задаёт список хостов, при коннекте
с которых не происходит протоколирования, даже если протокол-селектор
smtp_connection установлен. Для примера Вы можете не регистрировать
SMTP-соединения от локальных процессов, с 127.0.0.1 или из
Вашей локальной сети. Эта опция консультирует в основном цикле
демона поэтому, Вы должны стремиться к ограничению значения коротким
списком IP и сетей. Для отключения протоколирования SMTP-подключений от
локальных процессов Вы должны создать список хостов с
пустым элементом. Например:
hosts_connection_nolog = :
|
Если протокол-селектор smtp_connection
не установлен, от этой опции не будет никакого эффекта.
Имя |
Использование |
Тип |
Значение по умолчанию |
hosts_treat_as_local |
main | domain list† |
не задана | |
Если эта опция задана, при просмотре exim списка
хостов полученного из MX-записей или другого источника, любые имена
хостов, совпадающие со списком доменов, обрабатываются как будто
они локальный хост. Отметьте, что значение этой опции список доменов, а не
список хостов, поэтому она всегда используется для проверки имён хостов, а
не IP-адресов. Эта опция также применяется, когда exim сравнивает специальные
элементы @mx_any, @mx_primary и @mx_secondary в списке доменов (смотрите
раздел 10.8), когда проверяется опция
hosts в транспорте smtp для локального хоста (смотрите опцию
allow_localhost в этом транспорте).
Также смотрите local_interfaces, extra_local_interfaces
и раздел 13, который содержит обсуждение локальных
сетевых интерфейсов и распознавание локального хоста.
Имя |
Использование |
Тип |
Значение по умолчанию |
ignore_bounce_errors_after |
main | time |
10w | |
Эта опция затрагивает обработку рикошетов, которые
не могут быть доставлены, то есть те, у которых постоянная неудача доставки.
Рикошеты, у которых временная ошибка доставки,
обрабатываются обычным способом.
После постоянной неудачи доставки рикошеты замораживаются,
поскольку нет отправителя, которому они могди бы быть возвращены.
Когда замороженный рикошет был в очереди больше заданного времени, он
размораживается в следующую обработку очереди и предпринимаются
дальнейшие попытки доставки. Если снова происходит ошибка
доставки, рикошет отбрасывается. Эта опция позволяет оставлять неудачные
рикошеты в течение более короткого периода времени, чем максимальное обычное
время повтора для замороженных сообщений. Например:
ignore_bounce_errors_after = 12h
|
повторяет доставку неудачных рикошетов после 12 часов, отбрасывая
любые последующие неудачи. Если значение этой опции установлено в
нулевой период времени, рикошеты отбрасываются немедленно.
Установка очень большого времени (как в значении по умолчанию) имеет эффект
отключения этой опции. Для способов автоматического поведения других
видов замороженных сообщений смотрите опции auto_thaw и
timeout_frozen_after.
Имя |
Использование |
Тип |
Значение по умолчанию |
ignore_fromline_hosts |
main | host list† |
не задана | |
Некоторые кривые SMTP-клиенты настаивают на посылке
похожей на UUCP From, до заголовков сообщения. По умолчанию это
обрабатывается как начало тела сообщения, что означает, что любые следующие
заголовки также не распознаются. Можно заставить exim игнорировать это путём
установки ignore_fromline_hosts для совпадения с этими хостами,
настаивающими на посылке таких строк. Если отправитель является локальным
процессом, а не удалённым хостом, и он использует -bs для ввода
сообщений, для достижения такого эффекта должна использоваться опция
ignore_fromline_local.
Имя |
Использование |
Тип |
Значение по умолчанию |
ignore_fromline_local |
main | boolean |
false | |
Смотрите выше опцию ignore_fromline_hosts.
Имя |
Использование |
Тип |
Значение по умолчанию |
keep_malformed |
main | time |
4d | |
Эта опция определяет, сколько времени оставлять
сообщения, чьи spool-файлы повреждены каким-либо образом.
Этого, конечно, никогда не должно происходить. При следующей попытке доставки
этого сообщения оно удаляется. Инцидент заносится в протоколы.
Имя |
Использование |
Тип |
Значение по умолчанию |
ldap_default_servers |
main | string list |
не задана | |
Эта опция предоставляет список серверов LDAP,
которые пробуются по очереди, когда запрос LDAP не содердит сервер.
Смотрите раздел 9.14 для подробной
информации о запросах LDAP. Эта опция доступна лишь в случае,
если exim собран с поддержкой LDAP.
Имя |
Использование |
Тип |
Значение по умолчанию |
ldap_version |
main | integer |
не задана | |
Эта опция может использоваться для принудительной
установки использования exim определённой версии протокола для LDAP.
Если эта опция не задана, она отображается при опции командной строки
-bP как равная -1. В этом случае значение по умолчанию 3, если в
заголовках LDAP задано LDAP_VERSION3, иначе оно 2. Эта опция доступна лишь в
случае, если exim собран с поддержкой LDAP.
Имя |
Использование |
Тип |
Значение по умолчанию |
local_from_check |
main | boolean |
true | |
Когда сообщение передаётся локально (то есть, не через
TCP/IP-соединение) недовереным пользователем, exim удаляет любые
существующие заголовки Sender: и проверяет, что строка заголовка
From: совпадает с логином вызывающего пользователя, а домен
соответсвует qualify_domain.
Отметьте: неквалифицированный адрес (без домена) в
заголовке From: в локально переданных сообщениях автоматически
квалифицируется exim, кроме как при использовании опции командной строки
-bnq. Вы можете использовать опции local_from_prefix и
local_from_suffix для разрешения суффиксов и
префиксов в локальных частях. Если строка заголовка From:
не совпадает, exim добавляет заголовок Sender: с адресом,
сконструированным из логина вызывающего пользователя и домена по умолчанию.
Если local_from_check установлена в ложь, проверка
заголовока From: отключена и не добавляется заголовок Sender:.
Кроме того, если Вы хотите сохранить строку заголовка Sender:,
переданную недоверенным пользователем, Вы также должны сделать истинной опцию
local_sender_retain. Эти опции имеют эффект лишь для
строк заголовков в сообщении. Отправитель конверта продолжает оставаться
идентификатором логина с квалификационным доменом, если
untrusted_set_sender не разрешает пользователю
передавать отправителя конверта.
Для сообщений, переданных через TCP/IP, ACL может
определить режим подачи для запроса подобной проверки строки заголовка.
Смотрите раздел 43.16, содержащий
больше деталей об обработке Sender:.
Имя |
Использование |
Тип |
Значение по умолчанию |
local_from_prefix |
main | string |
не задана | |
Когда exim проверяет строку заголовка From:
локально переданных сообщений на совпадение с идентификатором логина
(смотрите выше опцию local_from_check), он может быть сконфигурирован
для игнорирования определённых приставок и суффиксов в
локальной части адресов. Это делается установкой local_from_prefix
и/или local_from_suffix для подходящих списков в такой же форме, как
опции роутера local_part_prefix и local_part_suffix
(смотрите раздел 15). Для примера, если
установлено, строка From: содержит
From: anything-user@your.domain.example
|
не будет заставлять добавлять заголовок Sender:, если
user@your.domain.example фактически соответствует адресу отправителя,
созданному из имени логина и квалификационного домена.
Имя |
Использование |
Тип |
Значение по умолчанию |
local_from_suffix |
main | string |
не задана | |
Смотрите опцию local_from_prefix выше.
Имя |
Использование |
Тип |
Значение по умолчанию |
local_interfaces |
main | string list |
смотрите ниже | |
Эта опция конторлирует, какие сетевые интерфейсы
используются демоном для прослушивания, также они используются для
идентификации локального хоста при маршрутизации.
Раздел 13 содержит полное описание этой опции и
связанных с ней опций daemon_smtp_ports,
extra_local_interfaces, hosts_treat_as_local и
tls_on_connect_ports. Значение по умолчанию для
local_interfaces такое:
local_interfaces = 0.0.0.0
|
когда exim собран без поддержки IPv6. Иначе, оно
local_interfaces = <; ::0 ; 0.0.0.0
|
Имя |
Использование |
Тип |
Значение по умолчанию |
local_scan_timeout |
main | time |
5m | |
Этот таймаут применяется к функции local_scan()
(смотрите раздел 41).
Нулевое значение: нет таймаута. Если таймаут истёк, входящее сообщение
отвергается с временной ошибкой, если это SMTP-сообщение. Для не-SMTP
сообщения, сообщение уничтожается, и exim завершается с ненулевым кодом.
Инцидент отмечается в протоколах: главном и отклонённых.
Имя |
Использование |
Тип |
Значение по умолчанию |
local_sender_retain |
main | boolean |
ложь | |
Когда сообщение передаётся локально (то есть, не через
TCP/IP-соединение) недоверенным пользователем, exim удаляет любые
существующие строки заголовка Sender:. Если Вы не хотите, чтобы это
происходило, Вы должны установить local_sender_retain и также
установить local_from_check в ложь (exim будет ругаться, если
этого не сделать). Смотрите также ACL-модификатор
control = suppress_local_fixups и раздел
43.16 для получения дополнительных
деталей об обработке Sender:.
Имя |
Использование |
Тип |
Значение по умолчанию |
localhost_number |
main | string† |
не задана | |
Идентификаторы сообщений exim обычно уникальны
только в пределах локального хоста. Если требуется уникальность среди
ряда хостов, на каждом хосте необходимо установить различное значение
для опции localhost_number. Строка раскрывается немедленно после
чтения конфигурационного файла (таким образом, чтобы число могло быть
вычислено из имени хоста, например), и результат раскрытия должен быть
числом в диапазоне 0-16 (или 0-10, если файловая система
нечувствительна к регистру букв). Это доступно в последующих раскрытиях
строк через переменную $localhost_number. Когда localhost_number
установлена, два финальных символа идентификатора сообщения вместо того,
чтобы просто быть дробной частью от времени, вычисляются из времени и номера
локального хоста, как описано в разделе 3.4.
Имя |
Использование |
Тип |
Значение по умолчанию |
log_file_path |
main | string list† |
устанавливается при компиляции |
|
Эта опция устанавливает путь, используемый для
определения имён файлов протоколов exim, индикации, что протоколирование
осуществляется через syslog или того и другого. Это раскрывается при
входе exim, и она может, например, содержать ссылку на имя хоста.
Если путь для ведения протоколов не установлен при компиляции или в рабочей
конфигурации, они пишутся в субкаталог log каталога спула exim.
Раздел 48 содержит дальнейшие детали о
протоколировании exim, а раздел 48.1 описывает,
как используется содержимое log_file_path. Если эта строка установлена
при инсталляции (не содержит никаких раскрываемых переменных), рекомендуется,
чтобы Вы не устанавливали эту опцию в файле конфигурации, но предоставляли
путь, используя LOG_FILE_PATH в Local/Makefile, чтобы она сразу была
доступна exim для записи ошибок, в частности ошибок
чтения конфигурационного файла.
Имя |
Использование |
Тип |
Значение по умолчанию |
log_selector |
main | string |
не задана | |
Эта опция может использоваться для уменьшения или
сокращения числа событий, которые exim пишет в протоколы.
Его параметр составлен из имён, которым предшествуют символы
плюса или минуса. Например:
log_selector = +arguments -retry_defer
|
Список возможных имён, и что они контролируют,
дан в части о протоколах, в разделе 48.15.
Имя |
Использование |
Тип |
Значение по умолчанию |
log_timezone |
main | boolean |
ложь | |
По умолчанию временная метка в строках протоколов в
локальном времени, без временной зоны. Это означает, что если Ваша
временная зона меняется дважды в год, временная метка неоднозначна в течение
того часа, когда часы возвращаются назад. Один способ избежать этой проблемы:
установить временную зону в UTC.
Альтернатива: установить log_timezone в истину.
Это включает дополнение временной зоны в строки протоколов.
Включение этой опции может добавить довольно много к размеру протоколов,
поскольку каждая строка становиться больше на 6 символов.
Отметьте, что переменная $tod_log содержит временную метку без зоны, но есть
другая переменная, называемая $tod_zone, которая содержит
смещение часового пояса.
Имя |
Использование |
Тип |
Значение по умолчанию |
lookup_open_max |
main | integer |
25 | |
Эта опция ограничивает число одновременно открытых
файлов для одноключевого поиска, которые используют регулярные файлы
(то есть, lsearch, dbm и cdb). Обычно exim оставляет эти
файлы открытыми в течение маршрутизации, поскольку часто один и тот же файл
требуется несколько раз. Если предел достигнут, exim закрывает самый
давно использовавшийся файл. Отметьте, что если Вы используете библиотеку
ndbm, она фактически открывает два файла для каждой логической
DBM базы данных, хотя для lookup_open_max он всё ещё
считается как один. Если Вы получаете ошибку "too many open files" с NDBM,
Вы должны уменьшить значение lookup_open_max.
Имя |
Использование |
Тип |
Значение по умолчанию |
max_username_length |
main | integer |
0 | |
Некоторые операционные системы кривые
в том, что они усекают длинный аргумент getpwnam()
до восьми символов вместо того, чтобы вернуть "no such user".
Если эта опция установлена в число больше нуля, любые попытки вызова
getpwnam() с более длинным аргументом ведут себя так, будто вызов
getpwnam() был неудачен.
Имя |
Использование |
Тип |
Значение по умолчанию |
message_body_visible |
main | integer |
500 | |
Эта опция определяет, как много тела сообщения
будет включено в переменные раскрытия $message_body и $message_body_end.
Имя |
Использование |
Тип |
Значение по умолчанию |
message_id_header_domain |
main | string† |
не задана | |
Если эта опция задана, строка раскрывается и
используется как правая сторона (домен) в заголовке Message-ID:,
который создаёт exim, если локально сгенерированное
сообщение приходит без него. Локально сгенерированное значит не полученное
через TCP/IP. Иначе используется первичное имя хоста. Разрешены только буквы,
цифры, точки и дефисы, любые другие символы заменяются дефисами.
Если раскрытие принудительно неудачно, или если
результат пустая строка, опция игнорируется.
Имя |
Использование |
Тип |
Значение по умолчанию |
message_id_header_text |
main | string† |
не задана | |
Если эта опция задана, строка раскрывается и используется
для увеличения текста заголовка Message-id:, который exim создаёт,
если локально сгенерированное сообщение его не имеет. Текст этого заголовка
требуется, согласно RFC 2822, для принятия формы адреса. По умолчанию exim
использует внутренние идентификаторы сообщений как локальную часть, а
первичное имя хоста как домен. Если эта опция задана, она раскрывается и,
если раскрытие не было неудачным, и не привело к пустой строке, результат
вставляется в заголовок непосредственно до @, отделяясь от
внутреннего идентификатора точкой. Любые символы, которые недопустимы в
адресах, автоматически преобразуются в дефисы. Это означает, что могут
использоваться переменные типа $tod_log, поскольку все пробелы и
двоеточия станут дефисами.
Имя |
Использование |
Тип |
Значение по умолчанию |
message_logs |
main | boolean |
true | |
Если эта опция выключена, протоколы на каждое сообщение не
создаются в субкаталоге спула msglog. Это уменьшает дисковый
ввод-вывод, требуемый exim, уменьшает число файлов, вовлечённых в обработку
сообщения от минимум четырёх (заголовок в файле спула, тело в файле спула,
журнал доставки и протокол на каждое сообщение) до трёх.
Другая причина активности ввода-вывода главный протокол exim,
не затрагиваемый этой опцией.
Имя |
Использование |
Тип |
Значение по умолчанию |
message_size_limit |
main | string† |
50M | |
Эта опция ограничивает максимальный размер
сообщения, обрабатываемого exim. Значение раскрывается для каждого
входящего сообщения, таким образом, например, оно может зависеть от
IP-адреса удалённого хоста для сообщений, передаваемых через TCP/IP.
Отметьте: Эти ограничения не могут быть зависимы от отправителя
сообщения или других свойств индивидуального сообщения, поскольку оно должно
фигурировать в ответе сервера HELO. Ошибка раскрытия строки
приводит к временной ошибке. Значение ноль означает, что нет лимитов, но оно
не рекомендуется для использования. Смотрите также опцию
bounce_return_size_limit.
Входящим SMTP-сообщениям выдаётся ошибка 552,
если лимит исчерпан. Сообщения, сгенерированные локально, получают сообщение
на стандартный вывод ошибок или сообщение об ошибке доставки
отправителю сообщения, в зависимости от установки -oe.
Отклонение сообщений с превышенным размером записывается в об
а протокола: главный и отклонённых. Смотрите также общую опцию транспортов
message_size_limit, которая ограничивает размер сообщения, которое
может обработать индивидуальный транспорт.
Имя |
Использование |
Тип |
Значение по умолчанию |
move_frozen_messages |
main | boolean |
false | |
Эта опция, которая доступна лишь, если
exim собран с установкой
SUPPORT_MOVE_FROZEN_MESSAGES=yes
|
в Local/Makefile вызывает перемещение замороженных сообщений и их
протоколов из каталогов input и msglog в спуле в
Finput и Fmsglog, соответсвенно. В настоящее время в exim или
стандартных утилитах нет поддержки для обработки таких сообщений, и
они не показывются в списках сгенерированных опцией -bp
или монитором exim.
Имя |
Использование |
Тип |
Значение по умолчанию |
mua_wrapper |
main | boolean |
false | |
Установка этой опции в истину заставляет exim
выполняться в очень ограниченном режиме, в котором он передаёт
сообщения синхронно на интелектуальный хост.
Раздел 47 содержит полное описание этого средства.
Имя |
Использование |
Тип |
Значение по умолчанию |
mysql_servers |
main | string list |
не задана | |
Эта опция предоставляет список MySQL-серверов
и ассоциированных данных подключения для использования с поиском mysql
(смотрите раздел 9.20). Опция доступна только,
если exim собран с поддержкой MySQL.
Имя |
Использование |
Тип |
Значение по умолчанию |
never_users |
main | string list† |
не задана | |
/tr>
Эта опция раскрывается лишь раз, в начале
старта процесса exim. Локальные доставки сообщений обычно в процессах,
выполняющихся от получателя, а удалённые доставки обычно работают под
uid и gid exim. Из предосторожности следует избегать любых доставок,
производимых от пользователя root.
При сборке exim опция с именем FIXED_NEVER_USERS может
быть установлена в список пользователей, которые не могут использоваться
для локальной доставки. Этот список установлен в исполняемом файле и не может
быть перезадан конфигурационны файлом. По умолчанию он содержит лишь одно
имя пользователя: root. Рабочая опция never_users может использоваться
для добавления большего количества пользователей к фиксированному списку.
Если сообщение необходимо доставить от одного из
пользователей жёсткого списка или списка never_users, происходит
ошибка, и доставка задерживается. Обычный пример:
never_users = root:daemon:bin
|
Включение root избыточно, если он также находится
в фиксированном списке, но вреда не причиняет. Эта опция перезадаёт
опцию pipe_as_creator драйвера транспорта pipe.
Имя |
Использование |
Тип |
Значение по умолчанию |
oracle_servers |
main | string list |
не задана | |
Эта опция предоставляет список Oracle серверов
и ассоциированных данных подключения для использования с поиском
oracle (смотрите раздел 9.20).
Опция доступна только, если exim собран с поддержкой Oracle.
Имя |
Использование |
Тип |
Значение по умолчанию |
percent_hack_domains |
main | domain list† |
не задана | |
percent hack является соглашением, посредством которого,
локальная часть, содержащая символ процента, интерпретируется как
новый e-mail адрес, с % заменённым на @. Иногда это называют маршрутизацией
источника, хотя этот термин также применим к адресам
RFC 2822, начинающимся с символа @. Если эта опция задана, exim применяет
работу с процентом для перечисленных доменов, но не для других.
Это происходит до проверки SMTP-адреса при помощи ACL.
Предупреждение: percent hack
часто используется людьми, пробующими обойти ограничения релеинга.
Поэтому лучше его избегать, если это возможно. К сожалению, много MTA,
не заботящихся о безопасности, применяют его безоговорочно.
Если Вы используете exim на межсетевом хосте и роутите почту к внутреннему
MTA без обработки локальной части, то хорошей идеей будет отклонить
адреса получателей с символами процента в локальной части.
Стандартная конфигурация exim так и делает.
Имя |
Использование |
Тип |
Значение по умолчанию |
perl_at_start |
main | boolean |
ложь | |
Эта опция доступна лишь, когда exim собран со
встроенным интерпретатором perl.
Смотрите раздел 12 для получения деталей
об его использовании.
Имя |
Использование |
Тип |
Значение по умолчанию |
perl_startup |
main | string |
не задана | |
Эта опция доступна лишь, когда exim собран со
встроенным интерпретатором perl.
Смотрите раздел 12 для получения деталей
об его использовании.
Имя |
Использование |
Тип |
Значение по умолчанию |
pgsql_servers |
main | string list |
не задана | |
Эта опция предоставляет список PostgreSQL-серверов
и ассоциированных данных подключения для использования с поиском pgsql
(смотрите раздел 9.20). Опция доступна только,
если exim собран с поддержкой PostgreSQL.
Имя |
Использование |
Тип |
Значение по умолчанию |
pid_file_path |
main | string† |
устанавливается при компиляции |
|
Эта опция задаёт имя файла, в который демон exim
записывает свой pid процесса. Строка раскрывается, таким образом она может
содержать ссылку на имя хоста:
pid_file_path = /var/log/$primary_hostname/exim.pid
|
Если путь не задан, pid пишется в файл
exim-daemon.pid в каталоге спула exim. Значение, установленное опцией,
может быть перезадано путём опции командной строки -oP. Файл pid не
записывается нестандартным демоном, запущенным при помощи опции -oX,
если путь явно не задан опцией -oP.
Имя |
Использование |
Тип |
Значение по умолчанию |
pipelining_advertise_hosts |
main | host list† |
* | |
Эта опция может использоваться для подавления
объявления расширения SMTP PIPELINING для определённых хостов.
Когда PIPELINING не объявляется, и smtp_enforce_sync истинна, сервер
exim требует строгую синхронизацию для каждой SMTP-команды и ответа.
Когда объявлено PIPELINING, exim предполагает, что клиенты будут его
использовать: ожидаются команды не по порядку, и они не считаются ошибками
протокола (смотрите smtp_max_synprot_errors).
Имя |
Использование |
Тип |
Значение по умолчанию |
preserve_message_logs |
main | boolean |
ложь | |
Если эта опция задана, протоколы сообщений не удаляются
по окончании обработки сообщения. Вместо этого они перемещаются в субкаталог
спула с именем msglog.OLD, где они и остаются доступными для
статистики и процесса отладки. Это опсная опция для установки на системах с
заметным объёмом почты. Используйте с осторожностью!
Имя |
Использование |
Тип |
Значение по умолчанию |
primary_hostname |
main | string |
смотрите ниже | |
Эта опция задаёт имя текущего хоста.
Она используется в командах HELO или EHLO для исходящих SMTP
сообщений (изменяется опцией helo_data в транспорте smtp),
и как значение по умолчанию для qualify_domain.
Значение также используется по умолчанию в некоторых сообщениях
SMTP-ответов сервера exim. Она может быть динамически изменена установкой
smtp_active_hostname.
Если primary_hostname не задана, exim вызывает
uname() для нахождения имени хоста. Если вызов неудачен, exim свалится.
Если имя, возвращённое uname(), содержит лишь один компонент, exim передаёт
его gethostbyname() (или getipnodebyname(), когда доступна), чтобы получить
полностью квалифицированную версию. Переменная $primary_hostname
содержит имя хоста, полученное этой опцией, или заданное по умолчанию.
Имя |
Использование |
Тип |
Значение по умолчанию |
print_topbitchars |
main | boolean |
ложь | |
По умолчанию exim рассматривает лишь те символы,
которые закодированы в диапазоне 32-126, печатные символы.
Во многих обстоятельствах (например, при записи протоколов), непечатные
символы конвертируются в прослэшенные последовательности, прежде всего, чтобы
не испортить размещение. Если print_topbitchars установлена,
предполагается, что значения кодов более 128 задают печатные символы.
Имя |
Использование |
Тип |
Значение по умолчанию |
process_log_path |
main | string |
не задана | |
Эта опция устанавливает имя файла, в который exim
записывает свой протокол процесса (process log), когда
посылается сигнал USR1. Это используется скриптом утилиты exiwhat.
Если эта опция не задана, используется файл с именем exim-process.info
в каталоге спула exim. Возможность задать имя явно может быть полезной в
окружении, где запущены два различных exim,
используя различные каталоги спула.
Имя |
Использование |
Тип |
Значение по умолчанию |
prod_requires_admin |
main | boolean |
true | |
Опции командной строки -M, -R и -q
требуют, чтобы вызывающий был административным пользователем, если опция
prod_requires_admin не установлена в ложь.
Смотрите также queue_list_requires_admin.
Имя |
Использование |
Тип |
Значение по умолчанию |
qualify_domain |
main | string |
смотрите ниже | |
Эта опция определяет имя домена, которое
добавляется к любому алресу отправителя конверта, не имеющему доменной части.
Также она применяется к адресам получателей, если не установлена
опция qualify_recipient. Неквалифицированые (без доменной части)
адреса по умолчанию принимаются только для
сгенерированных локально сообщений. Квалификация также применяется к
адресам в строках заголовков, типа From: и To:
для локально сгенерированных сообщений, если не
используется опция командной строки -bnq.
Сообщения из внешних источников
всегда должны содержать полностью квалифицированный адрес, если
посылающий хост не соответствует sender_unqualified_hosts или
recipient_unqualified_hosts (соответственно), в этих случаях входящие
адреса квалифицируются с qualify_domain или с
qualify_recipient, по необходимости. Внутри себя exim всегда работает
с полностью квалифицированными адресами конвертов. Если qualify_domain
не задана, по умолчанию используется значение primary_hostname.
Имя |
Использование |
Тип |
Значение по умолчанию |
qualify_recipient |
main | string |
смотрите ниже | |
Эта опция позволяет Вам задать иной домен
для квалификации адреса получателя. Смотрите qualify_domain выше.
Имя |
Использование |
Тип |
Значение по умолчанию |
queue_domains |
main | domain list† |
не задана | |
Эта опция определяет список доменов для которых
немедленная доставка не требуется. Процесс доставки начинается при получении
каждого сообщения, но обрабатываются лишь те домены, которые не
соответствуют этой опции. Все иные доставки ждут следующего запуска очереди.
Смотрите также hold_domains и queue_smtp_domains.
Имя |
Использование |
Тип |
Значение по умолчанию |
queue_list_requires_admin |
main | boolean |
true | |
Опция командной строки -bp, выводящая список
сообщений в очереди, требует, чтобы вызывающий был административным
пользователем, если queue_list_requires_admin не установлена в ложь.
Также смотрите опцию prod_requires_admin.
Имя |
Использование |
Тип |
Значение по умолчанию |
queue_only |
main | boolean |
ложь | |
Если queue_only задана, процесс доставки не
стартует автоматически, когда получено сообщение. Вместо этого сообщение ждёт
в очереди следующего запуска очереди. Даже если queue_only
ложна, входящие сообщения могут доставляться не сразу, когда происходят
определённые условия (например, большая загрузка).
Опция командной строки -odq
имеет такой же эффект, как и queue_only. Опции командной строки
-odb и -odi перезадают queue_only, если не ложна
queue_only_override. Смотрите также queue_only_file,
queue_only_load и smtp_accept_queue.
Имя |
Использование |
Тип |
Значение по умолчанию |
queue_only_file |
main | string |
не задана | |
Эта опция может быть установлена в список,
разделённый двоеточием, абсолютных имён путей, каждому из которых,
опционально, предшествует smtp. Когда exim получает сообщение, эта опция
проверяет существование каждого перечисленного пути, используя вызов stat().
Для каждого пути, что существует, устанавливается опция очереди передачи.
Для путей без префикса queue_only установлена, для путей с префиксом
smtp queue_smtp_domains устанавливается в совпадение
со всеми доменами. Таким образом, например:
queue_only_file = smtp/some/file
|
заставляет exim вести себя так, как будто queue_smtp_domains
установлена в *, когда существует файл /some/file.
Имя |
Использование |
Тип |
Значение по умолчанию |
queue_only_load |
main | fixed-point |
не задана | |
Если средняя загрузка системы выше этого значения,
входящие сообщения из всех источников ставятся в очередь, и автоматическая
доставка не запускается. Если это происходит во время локального или
SMTP-ввода, все последующие сообщения в том же соединении ставятся в очередь.
Доставки будут выполнены впоследствии процессами обработчика очереди.
Эта опция не имеет эффекта на старых операционных системах, в которых exim не
может определить среднюю загрузку системы.
Также смотрите deliver_queue_load_max и smtp_load_reserve.
Имя |
Использование |
Тип |
Значение по умолчанию |
queue_only_override |
main | boolean |
истина | |
Когда эта опция истинна, опция командной строки
-odx перезадаёт установки queue_only или
queue_only_file в конфигурационном файле.
Если queue_only_override установлена в ложь, опция -odx
не может использоваться для перезадания: они принимаются, но игнорируются.
Имя |
Использование |
Тип |
Значение по умолчанию |
queue_run_in_order |
main | boolean |
ложь | |
Если эта опция установлена, работа очереди происходит в
порядке прибытия сообщений вместо произвольного порядка.
Для того чтобы это случилось, до начала доставки должен быть создан
полный список всей очереди. Когда очередь находится в единственном
каталоге (по умолчанию), создаётся единственный список для упорядоченных и
не упорядоченных случаев. Однако, если установлена опция
split_spool_directory, единственный список не создаётся,
когда опция queue_run_in_order ложна. В этом случае субкаталоги
обрабатываются по одному (в случайном порядке), и это позволяет избежать
создания одного огромного списка для всей очереди. Таким образом, установка
queue_run_in_order с split_spool_directory
может ухудшить производительность, когда очередь большая, поскольку будет
производиться дополнительная работа по созданию одного большого списка.
В большинстве случаев queue_run_in_order не должна быть установлена.
Имя |
Использование |
Тип |
Значение по умолчанию |
queue_run_max |
main | integer |
5 | |
Эта опция контролирует максимальное число процессов
обработчика очереди, которые демон exim может выполнять однвоременно.
Это не значит, что он запускает их одновременно, а скорее, что если всё
ещё работает максимальное число, когда приходит время запускать другой,
он задерживает старт следующего. Это может случится с очень большими
очередями и/или с очень медленными доставками. Однако, эта опция не
блокирует другие процессы, таким образом дополнительные обработчики
очереди могут быть запущены другими средствами или
уничтожением и перезапуском демона.
Установка этой опции в ноль не подавляет выполнение
очереди: вместо этого это отключает лимит, разрешая выполняться любому числу
одновременных процессов обработчика очереди. Если Вы не хотите, чтобы
обработки очереди пересекались, опустите опцию -qxx
в командной строке демона.
Имя |
Использование |
Тип |
Значение по умолчанию |
queue_smtp_domains |
main | domain list† |
не задана | |
Когда эта опция установлена, процесс доставки
запускается каждый раз, когда получено сообщение, роутинг выполнен и
имеют место локальные доставки. Однако, если SMTP-доставки требуются
для доменов, совпадающих с queue_smtp_domains, они не происходят
немедленно, вместо этого сообщение ждёт в очереди следующего запуска очереди.
С момента роутинга сообщения exim знает, к каким удалённым хостам его нужно
доставить и, таким образом, когда происходит обработка очереди, много
сообщений для одного хоста доставляются через одно SMTP-соединение.
В таком случае опция командной строки -odqs заставляет все
SMTP-доставки становится в очередь, и это эквивалентно установке
queue_smtp_domains в *.
Также смотрите hold_domains и queue_domains.
Имя |
Использование |
Тип |
Значение по умолчанию |
receive_timeout |
main | time |
0s | |
Эта опция устанавливает таймаут для приёма не-SMTP
сообщений, то есть, максимальное время, которое exim ждёт, читая сообщение
на стандартном вводе. Если это значение равно нулю, он будет ждать вечно.
Эта опция перезадаётся опцией командной строки -or.
Таймаут для входящих SMTP-сообщений контролируется опцией
smtp_receive_timeout.
Имя |
Использование |
Тип |
Значение по умолчанию |
received_header_text |
main | string† |
смотрите ниже | |
Эта опция задаёт содержимое заголовка сообщения
Received:, который добавляется к каждому собщению, за
исключением штампа времени, который добавляется автоматчески в конце (с
предшествующей точкой с запятой). Строка раскрывается каждый
раз при использовании. Если раскрытие приводит к пустой строке, заголовок
Received: к сообщению не добавляется. Иначе строка должна начинаться с
текста Received: и соответствовать
спецификации RFC 2822 для строк заголовка Received:. Значение по умолчанию:
received_header_text = Received: \
${if def:sender_rcvhost {from $sender_rcvhost\n\t}\
{${if def:sender_ident \
{from ${quote_local_part:$sender_ident} }}\
${if def:sender_helo_name {(helo=$sender_helo_name)\n\t}}}}\
by $primary_hostname \
${if def:received_protocol {with $received_protocol}} \
${if def:tls_cipher {($tls_cipher)\n\t}}\
(Exim $version_number)\n\t\
${if def:sender_address \
{(envelope-from <$sender_address>)\n\t}}\
id $message_exim_id\
${if def:received_for {\n\tfor $received_for}}
|
Ссылка на шифрование TLS опущена, когда exim собран
без поддержки TLS. Использование условных раскрытий гарантирует, что
это работает для локально сгенерированных сообщений и для сообщений,
полученных с удалённых хостов, давая строки заголовка, типа таких:
Received: from scrooge.carol.example ([192.168.12.25] ident=root)
by marley.carol.example with esmtp (Exim 4.00) (envelope-from <bob@carol.example>)
id 16IOWa-00019l-00 for chas@dickens.example; Tue, 25 Dec 2001 14:43:44 +0000
Received: by scrooge.carol.example with local (Exim 4.00)
id 16IOWW-000083-00; Tue, 25 Dec 2001 14:43:41 +0000
|
Пока тело сообщения не получено, штамп времени время
начала приёма сообщения. Как только получено тело сообщения, и
все проверки политик произошли, штамп времени обновляется до времени, в
которое было принято сообщение.
Имя |
Использование |
Тип |
Значение по умолчанию |
received_headers_max |
main | integer |
30 | |
Когда сообщение должно быть доставлено, подсчитывается
число заголовков Received:, и если оно больше этого параметра,
предполагается, что произошло зацикливание почты, доставка прерывается и
генерируется сообщение об ошибке.
Это применяется к локальной и удалённой доставкам.
Имя |
Использование |
Тип |
Значение по умолчанию |
recipient_unqualified_hosts |
main | host list† |
не задана | |
Эта опция задает список тех хостов, от которых exim
готов принять неквалифицированные адреса получателей в конвертах сообщений.
Адреса полностью квалифицируются путём дополнения значением
qualify_recipient. Эта опция также применяется к строкам заголовков.
Exim не отклоняет неквалифицированные адреса получателей в заголовках, но он
их квалифицирует только, когда сообщение пришло с хоста, совпадаюшего с
recipient_unqualified_hosts, или если сообщение было переданно
локально (не используя TCP/IP), и не была установлена опция -bnq.
Имя |
Использование |
Тип |
Значение по умолчанию |
recipients_max |
main | integer |
0 | |
Если эта опция установлена более, чем в ноль, она
определяет максимальное число оригинальных получателей для любого сообщения.
Дополнительные получатели, которые сгенерированы алиасингом или
форвардингом не считаются. SMTP-сообщения дают 452-й ответ для всех
получателей, превышающих предел, более ранние
получатели доставляются нормально. Не-SMTP сообщения со слишком большим
числом получателей неуспешны, и никаких дотавок не происходит.
Отметьте: RFC определяет, что
SMTP-сервер должен
принять по крайней мере 100 команд RCPT в одном сообщении.
Имя |
Использование |
Тип |
Значение по умолчанию |
recipients_max_reject |
main | boolean |
ложь | |
Если эта опция установлена в истину, exim отклоняет
SMTP-сообщения, содержащие слишком много получателей, выдавая ошибку 552
на избыточные команды RCPT и ошибку 554 на возможную команду DATA.
Иначе (по умолчанию) он выдаёт ошибку 452 на избыточные команды RCPT и
принимает сообщение от имени начального набора получателей.
Удалённый сервер должен снова послать сообщение для оставшихся получателей в
более позднее время.
Имя |
Использование |
Тип |
Значение по умолчанию |
remote_max_parallel |
main | integer |
2 | |
Эта опция контролирует параллельные доставки одного
сообщения к множеству удалённых хостов. Если значение меньше чем 2,
параллельная доставка отключена, и exim делает все удалённые доставки
для сообщения по одной. Иначе, если единичное сообщение нужно доставить
более, чем одному удалённому хосту, или если несколько копий необходимо
доставить на один и тот же удалённый хост, одновременно производятся до
remote_max_parallel доставок. Если требуется более, чем
remote_max_parallel доставок, запускается максимальное число
процессов, и как только заканчивается один, начинается другой.
Порядок запуска процессов точно такой же, как при последовательной доставке,
и может управляться опцией remote_sort_domains.
Если параллельная доставка имеет место, когда включена работа с отладкой,
отладочный вывод для каждого процесса доставки отмечается
его идентификатором процесса.
Эта опция контролирует только максимальное число
параллельных доставок для одного сообщения в одном процессе доставки exim.
Поскольку exim не имеет центрального менеджера очереди, нет способа управлять
общим числом одновременных доставок, если конфигурация позволяет попытку
доставки сразу после получения сообщения.
Если Вы хотите контролировать общее число доставок на
систему, Вам необходимо установить опцию queue_only.
Это гарантирует, что все входящие сообщения ставятся в очередь без
запуска процесса доставки. Затем настройте демон exim на запуск процесса
обработчика очереди в соответствующих интервалах (скорей всего, часто,
например, раз в минуту) и ограничьте общее число обработчиков очереди путём
установки параметра queue_run_max. Поскольку каждый обработчик очереди
доставляет лишь одно сообщение за раз, максимальное число доставок, которые
смогут происходить одновременно, это queue_run_max, умноженное на
remote_max_parallel.
Если Вы просто хотите контролировать удалённые доставки,
используйте queue_smtp_domains вместо queue_only.
Это добавляет примущества от использования SMTP-роутинга до очереди таким
образом, чтобы несколько сообщений для одного хоста доствлялись
за одно соединение.
Имя |
Использование |
Тип |
Значение по умолчанию |
remote_sort_domains |
main | domain list† |
не задана | |
Когда существует много удалённых доставок для
сообщения, они сортируются по доменам в порядке, заданном
этим списком. Например,
remote_sort_domains = *.cam.ac.uk:*.uk
|
вызвала бы попытку вначале доставить все адреса в домен cam.ac.uk,
затем в домен uk, а затем к остальным доменам.
Имя |
Использование |
Тип |
Значение по умолчанию |
retry_data_expire |
main | time |
7d | |
Эта опция устаналивает время использовать до (use before),
в информации повторов в базе данных подсказок (hints) exim.
Любые более старые данные повторов игнорируются. Таким образом, это значит,
что, например, если хост не был проверен в течение 7 дней, exim ведёт
себя так, будто прошлых неудач не было.
Имя |
Использование |
Тип |
Значение по умолчанию |
retry_interval_max |
main | time |
24h | |
Раздел 32 описывает механизмы exim
для контроля интервалов между попытками доставки сообщения, которое не может
быть доставлено немедленно. Эта опция устанавливает полный предел временного
отрезка между повторами. Она не может быть установлена более 24 часов, любая
попытка так сделать приведёт к значению по умолчанию.
Имя |
Использование |
Тип |
Значение по умолчанию |
return_path_remove |
main | boolean |
истина | |
RFC 2821, секция 4.4, заявляет, что сервер SMTP
должен вставить строку заголовка Return-path: в сообщение, когда он
совершает финальную доставку. Заголовок Return-path: сохраняет адрес
отправителя, как он был передан в команде MAIL. Это описание подразумевает,
что этот заголовок не должен присутствовать во входящих сообщениях.
Если опция return_path_remove истинна, любой существующий заголовок
Return-path: удаляется из сообщения при его приёме.
Транспорты exim имеют опции для добавления заголовка Return-path:
во время доставки. Обычно они используются только для
заключительных локальных доставок.
Имя |
Использование |
Тип |
Значение по умолчанию |
return_size_limit |
main | integer |
100K | |
Эта опция устаревший синоним для
bounce_return_size_limit.
Имя |
Использование |
Тип |
Значение по умолчанию |
rfc1413_hosts |
main | host list† |
* | |
Идентификационные запросы RFC 1413, производимые к
любому клентскому хосту, который совпадает с элементом в списке.
Имя |
Использование |
Тип |
Значение по умолчанию |
rfc1413_query_timeout |
main | time |
5s | |
Эта опция устанавливает таймаут для
идентификационных вызовов RFC 1413. Если она установлена в ноль, вызовы
RFC 1413 не производятся.
Имя |
Использование |
Тип |
Значение по умолчанию |
sender_unqualified_hosts |
main | host list† |
не задана | |
Эта опция список тех хостов, от которых exim
готов принять неквалифицированные адреса получателей.
Адреса квалифицируются опцией qualify_domain.
Эта опция также затрагивает строки заголовков.
Exim не отклоняет неквалифицированные адреса в заголовках, которые
содержат адрес отправителя, но он их квалифицирует лишь в случае, если
сообщение пришло с хоста, совпадающего с sender_unqualified_hosts, или
если сообщение было передано локально (не используя TCP/IP), и не была
задана опция -bnq.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_accept_keepalive |
main | boolean |
истина | |
Эта опция управляет установкой опции SO_KEEPALIVE
для входящих соединений сокетов TCP/IP. Когда она установлена, это
говорит ядру периодически пробовать неактивные соединения путём посыла пакета
со старыми номерами последовательности. Другой конец соединеия должен послать
подтверждение, если соединение всё ещё существует, или сброс,
если соединение было прервано. Причина, по которой это делается, в том, что
это вызывает полезный эффект освобождения определённых типов подключений,
которые могут застревать, когда удалённый хост отсоединился без
соответсвующего запроса TCP/IP. Механизм keepalive занимает
несколько часов для обнаружения недостижимых хостов.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_accept_max |
main | integer |
20 | |
Эта опция определяет максимальное число
одновременных входящих вызовов SMTP, которые exim примет.
Это применяется только к слушающему демону: она не управляет exim,
когда входящие SMTP-подключения обрабатываются inetd.
Если значение установлено в ноль, ограничения снимаются. Однако, она обязана
быть отличной от нуля, если установлена опция smtp_accept_max_per_host
или smtp_accept_queue. Также смотрите опцию
smtp_accept_reserve.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_accept_max_nonmail |
main | integer |
10 | |
Exim считает число непочтовых (non-mail) команд в
SMTP-сессии и разрывает её, если их слишком много. Эта опция задаёт, что
такое "слишком много". Проверка ловит некоторые атаки отказ-в-обслуживании,
повторяющиеся неправильные AUTH или сумашедшее зацикливание клиента,
например, посылая HELO. Проверка применяется лишь, если клиентский хост
совпадает с smtp_accept_max_nonmail_hosts.
Когда ожидается новое сообщение,
не подсчитывается одно RSET. Это позволяет клиентам посылать одну
команду RSET до сообщения (это не нужно, но некотрые клиенты так делают).
Exim также разрешает одну неподсчитываемую команду HELO или EHLO и одну
STARTTLS между сообщениями. После запуска TLS-сессии ожидается иное HELO,
таким образом, оно тоже не считается. Первая команда AUTH в соединении или
сразу после STARTTLS также не считается. Иначе, подсчитываются все команды,
кроме MAIL, RCPT, DATA и QUIT.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_accept_max_nonmail_hosts |
main | host list† |
* | |
Вы можете контролировать, какие хосты подчиняются проверке
smtp_accept_max_nonmail путём установки этой опции.
Значение по умолчанию применяет её ко всем хостам. Изменяя значение, Вы
можете исключить любые хосты с неправильным поведением, с которыми
Вам надо переписываться.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_accept_max_per_connection |
main | integer |
1000 | |
Значение этой опции ограничивает число команд MAIL,
которые exim готов принять в течение одного SMTP-подключения вне
зависимости от того, приводит ли каждая команада к передаче сообщения.
После исчерпания лимита выдаётся 421 ответ на последующие команды MAIL.
Этот предел предосторожность против сошедших с ума клиентов
(были замечены такие инциденты).
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_accept_max_per_host |
main | string† |
не задана | |
Эта опция ограничивает число одновременных IP-подключений
с одного хоста (строго с одного IP-адреса) к демону exim.
Опция раскрывается для обнаружения различных ограничений,
применяемых к различным хостам, по $sender_host_address.
Когда лимит исчерпан, дополнительные попытки подключения с того же хоста
отклоняются с кодом ошибки 421. Значение по умолчанию, ноль,
не налагает никаких ограничений. Если опция установлена, она требует, чтобы
smtp_accept_max была ненулевой.
Предупреждение: При установке этой опции Вы
не должны использовать любые конструкции
раскрытия, которые занимают заметное время. Раскрытие и проверка происходят в
цикле главного демона для отклонения дополнительных подключений без запуска
лишнего процесса (иначе атака отказ-в-обслуживании может вызвать создание
большого числа процессов). Во время выполнения этой обработки, демон не может
принимать другие входящие подключения.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_accept_queue |
main | integer |
0 | |
Если число одновременных входящих SMTP-подключений,
обрабатываемых слушающим демоном, превысит это значение, сообщения,
передаваемые через SMTP, лишь помещаются в очередь: процессы доставки
автоматически не запускаются. Значение ноль означает отсутствие
лимитов и ясно, что полезны лишь значения, отличные от нуля, лишь если
оно меньше, чем smtp_accept_max (если оно не ноль).
Также смотрите queue_only, queue_only_load,
queue_smtp_domains и различные -odx
опции командной строки.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_accept_queue_per_connection |
main | integer |
10 | |
Эта опция ограничивает число процессов доставки,
которые exim запускает автоматически, когда получает сообщение по SMTP
через демона или путём использования -bs или -bS.
Если значение опции больше нуля, и число сообщений, передаваемых в одной
SMTP-сессии, превышает это число, последующие сообщения помещаются в очередь,
но процессы доставки не запускаются. Это помогает ограничить число процессов
exim при перезапуске сервера после простоя, и есть много почты ожидающей его
на других системах. На больших системах значение по умолчанию, вероятно,
должно быть увеличено, а на системах с дозвоном по модему, оно, вероятно,
должно быть равно нулю (то есть, отключено).
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_accept_reserve |
main | integer |
0 | |
Когда smtp_accept_max установлено в значение,
больше нуля, эта опция определяет число SMTP-соединений, которые
зарезервированы для хостов, перечисленных в smtp_reserve_hosts.
Значение в smtp_accept_max включает это резервирование.
Указанные хосты не ограничены этим числом подключений: опция определяет
минимальное число соединений для них, но не максимум. Это гарантирует, что
группа хостов всегда может получить по крайней мере
smtp_accept_reserve число подключений.
Например, если smtp_accept_max установлена в 50, а
smtp_accept_reserve установлена в 5, как только будет 45 активных
соединений (от любых хостов), новые соединения будут приниматься лишь
для хостов, перечисленных в smtp_reserve_hosts.
Также смотрите smtp_accept_max_per_host.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_active_hostname |
main | string† |
не задана | |
Эта опция предоставлена для многодомашних (multi-homed)
серверов, которые могут выдавать себя за несколько различных хостов.
В начале SMTP-соединения это значение раскрывается и используется в
SMTP-ответах вместо значения $primary_hostname. Например, это используется
как имя домена в ответ на входящую команду HELO или EHLO.
Также это используется в командах HELO для
проверки обратным вызовом. Активное имя хоста помещается в переменную
$smtp_active_hostname, которая сохраняется с любыми полученными сообщениями.
Поэтому она доступна для использования в роутерах и
транспортах, когда сообщение доставляется позднее.
Если эта опция не задана, раскрытие принудительно
неудачно или раскрытие вернуло пустую строку, используется значение
$primary_hostname. Другие ошибки раскрытия вызывают запись сообщения
в главный и тревожный протоколы, а SMTP-командой передаётся временная ошибка.
Обычно значение smtp_active_hostname зависит от адреса
интерфейса, с которого идёт сообщение. Например:
smtp_active_hostname = ${if eq{$interface_address}{10.0.0.1}\
{cox.mydomain}{box.mydomain}}
|
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_banner |
main | string† |
смотрите ниже | |
Эта строка, которая раскрывается каждый раз при
использовании, выводится как начальный положительный ответ
на SMTP-подключение. Значение по умолчанию такое:
smtp_banner = $smtp_active_hostname ESMTP Exim \
$version_number $tod_full
|
Ошибка раскрытия строки вызывает глобальную ошибку.
Если Вы хотите создать многостроковый ответ на начальное SMTP-соединение,
используйте \n в соответствующих точках строки, но не в конце.
Отметьте, что код 220 не включен в строку. Exim добавляет его автоматически
(многократно в случае многострочного ответа).
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_check_spool_space |
main | boolean |
истина | |
Когда эта опция установлена, если во входящем SMTP-сеансе
будет опция SIZE в команде MAIL, она проверяет, что есть
достаточно свободного места в каталоге спула для приёма сообщения
этого размера, где всё ещё остаётся свободным количество, заданное
check_spool_space (даже если это значение ноль).
Если нет достаточного количества свободного места, возвращается
код временной ошибки.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_connect_backlog |
main | integer |
20 | |
Эта опция задаёт максимальное число
ожидающих SMTP-соединений. Exim передаёт это значение системе TCP/IP,
когда он устанавливает её слушателя. Тогда это число соединений, ожидающих
внимания демона, последующим попыткам подключения отказывается на
уровне TCP/IP. по крайней мере, это то, что говорится в мануалах, в
некоторых ситуациях наблюдались таймауты этих попыток соединения.
Для больших систем, было бы хорошей идеей увеличить это значение (скажем, до
50). Также это даёт некоторую защиту против атак типа
отказ-в-ослуживании, SYN-флуда.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_enforce_sync |
main | boolean |
истина | |
Спецификация протокола SMTP требует, чтобы клиент
ждал ответа сервера в определённых точках диалога. Без PIPELINING эти
точки синхронизации после каждой команды: а вот с PIPELINING их меньше, но
они всё ещё существуют.
Некоторые спамеры высылают полный набор команд SMTP без
ожидания какого-либо ответа. Exim защищает от этого, путём отклонения
сообщения, если клиент посылал будущий ввод команды, когда этого не должно
было бы быть. Посылается ответ об ошибке 554 SMTP synchronization
error, и соединение обрывается. Тестирование на эту ошибку не может быть
идеальным, поскольку задержки передачи (неожиданный ввод может
находиться в пути, но не получен при проверках exim).
Однако, этим детектируется много случаев.
Эта проверка может быть глобально отключена путём
установки smtp_enforce_sync в ложь. Если Вы хотите выборочно отключить
эту проверку (например, только для определённых хостов), можете это
сделать путём соответствующего использования модификатора control
в ACL (смотрите раздел 39.18).
Также смотрите опцию pipelining_advertise_hosts.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_etrn_command |
main | string† |
не задана | |
Если эта опция установлена, данная команда
выполняется каждый раз при получении команды SMTP ETRN с хоста,
которому разрешено давать такие команды (смотрите раздел
39). Строка разделяется на отдельные аргументы,
которые раскрываются независимо. Переменная раскрытия $domain
устанавливается из аргумента команды ETRN и проверок её
синтаксиса не производится. Например:
smtp_etrn_command = /etc/etrn_command $domain $sender_host_address
|
Для запуска команды создаётся новый процесс, но exim не
ждёт его завершения. Следовательно, его статус не может быть проверен.
Если команда не может быть запущена, это пишется в протокол тревоги, но
вызывающему ETRN всё равно передаётся успешный код 250.
Exim обычно запускается под собственным uid, когда получает SMTP,
таким образом, невозможно сменить uid до выполнения команды.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_etrn_serialize |
main | boolean |
истина | |
Когда эта опция установлена, она предотвращает
одновременное выполнение более, чем одной идентичной команды, как
результат ERTN в SMTP-соединении. Для получения дополнительных деталей
смотрите раздел 44.8.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_load_reserve |
main | fixed-point |
не задана | |
Если средняя загрузка системы становиться выше, чем
тут указано, входящие SMTP-соединения принимаются только от тех хостов,
которые совпадают с smtp_reserve_hosts. Если smtp_reserve_hosts
не задана, входящие SMTP-вызовы не принимаются, когда
загрузка превышает лимит. Опция не имеет эффекта на старых
операционных системах, в которых exim не может определить среднюю загрузку.
Также смотрите deliver_queue_load_max и queue_only_load.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_max_synprot_errors |
main | integer |
3 | |
Exim отклоняет команды SMTP, содержащие ошибки
синтаксиса или протокола. В частности, синтаксически неправильный адрес
электронной почты в этой команде:
приводит к немедленному отклонению команды до других проверок.
ACL не могут быть запущены, если нет допустимого адреса для его установки.
Пример ошибки протокола: передача RCPT до MAIL. Если происходит слишком много
синтаксических ошибок или ошибок протокола в одной
SMTP-сессии, соединение разрывается. Ограничение устанавливается этой опцией.
Когда используется расширение SMTP PIPELINING, некоторые
ошибки протокола ожидаемы, например, команда RCPT после
отклонённой команды MAIL. Exim предполагает, что PIPELINING будет
использоваться, если он информировал о нём (смотрите
pipelining_advertise_hosts), и в этой ситуации ожидаемые ошибки
не суммируются к лимиту.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_max_unknown_commands |
main | integer |
3 | |
Если слишком много нераспознанных команд во
входящей SMTP-сессии, сервер exim обрывает соединение. Это защита от
некоторых спамеров, ломающих сайты, заставляя их создавать соединения
на SMTP-порты. В этих случаях сначала посылается много команд не-SMTP.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_ratelimit_hosts |
main | host list† |
не задана | |
Некоторые серверы считают полезным ограничивать
частоту, с которой определённые хосты могут им посылать письма, и
частоту, с которой индивидуальные сообщения могут определять получателей.
Exim имеет два фактора, ограничивающих частоту.
Эта секция описывает старое средство, которое может ограничивать
частоту в одном соединении. Более новое условие ACL может ограничивать
частоту для всех соединений. Для получения деталей о новом
средстве смотрите раздел 39.30.
Когда хост совпадает с smtp_ratelimit_hosts,
используются значения smtp_ratelimit_mail и smtp_ratelimit_rcpt
для контроля частоты приёма команд MAIL и RCPT в
единственной SMTP-сессии, соответственно. Каждая опция, если задана,
должна содержать четыре значения, разделённых запятыми:
- Порог, до которого нет ограничений частоты.
- Начальная задержка времени. В отличие от других времён в exim, тут
разрешены цифры с десятичными дробными частями.
- Фактор, по которому каждый раз увеличивается время задержки.
- Максимальное значение для задержки. Оно обычно должно быть
менее пяти минут, поскольку клиент после этого времени подвергает
SMTP-команду таймауту. Например, эти установки успешно
использовались на сервере, который первым предложил эту деталь,
для контроля почты от клиентов:
smtp_ratelimit_mail = 2,0.5s,1.05,4m
smtp_ratelimit_rcpt = 4,0.25s,1.015,4m
|
Первая установка определяет задержки, применяемые к
командам MAIL после того, как две были переданы по одному соединению.
Начальная задержка 0.5 секунды, увеличивающаяся по фактору 1.05 каждый раз.
Вторая установка применяет задержки к командам RCPT, когда их
бывает более четырёх в одном сообщении.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_ratelimit_mail |
main | string |
не задана | |
Смотрите выше опцию smtp_ratelimit_hosts.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_ratelimit_rcpt |
main | string |
не задана | |
Смотрите выше опцию smtp_ratelimit_hosts.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_receive_timeout |
main | time |
5m | |
Этим устанавливается значение таймаута для приёма SMTP.
Это применяется ко всем формам ввода SMTP, включая пакетный SMTP.
Если строка ввода (включая команды SMTP или строки данных) не получена
в пределах этого времени, подключение SMTP
разрывается, а сообщение отбрасывается.
В протокол пишутся строки, содержащие одно из следующих сообщений:
SMTP command timeout on connection from...
SMTP data timeout on connection from...
|
Первая означает, что exim ожидал чтения SMTP-команды.
Последняя означает, что он был в фазе данных, читая содержимое сообщения.
Значение этой опции может быть перезадано путём опции из командной строки
-os. Установка значения времени в ноль отключает таймаут, но это
никогда не должно использоваться для SMTP через TCP/IP. Это может быть
полезным в некоторых случаях локального ввода, используя -bs
или -bS. Для не-SMTP ввода таймаутом приёма управляет опция
receive_timeout или -or.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_reserve_hosts |
main | host list† |
не задана | |
Эта опция задаёт хосты, для которых
резервируются SMTP-соединения. Смотрите выше опции
smtp_accept_reserve и smtp_load_reserve.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_return_error_details |
main | boolean |
ложь | |
В состоянии по умолчанию, когда происходит отклонение
команд SMTP по настройкам политик, exim использует вежливые собщения,
типа Administrative prohibition. Это нравится многим системным
администраторам, поскольку даёт мало информации спамерам.
Однако, некоторые другие системные администраторы, применяющие жёсткую
политику проверки, хотят выдавать намного более полную информацию об ошибках.
Установка smtp_return_error_details в истину заставляет exim
быть более приветливым. Например, вместо Administrative prohibition
он мог бы выдать:
550-Rejected after DATA: '>' missing at end of address:
550 failing address in "From" header is: <user@dom.ain
|
Имя |
Использование |
Тип |
Значение по умолчанию |
spamd_address |
main | string |
смотрите ниже | |
Эта опция доступна лишь, если exim собран с
поддержкой расширения контентного сканирования. Этим определяется, как
exim присоединяется к демону SpamAssassin. Значение по умолчанию:
Для получения дополнительных деталей
смотрите раздел 40.2.
Имя |
Использование |
Тип |
Значение по умолчанию |
split_spool_directory |
main | boolean |
ложь | |
Если эта опция установлена, это заставляет exim
разбить свой входной каталог на 62 субкаталога, каждый с именем в
виде одного буквенно-цифрового символа. Шестой символ идентификатора
сообщения используется для распределения сообщений по
субкаталогам: это наименее значащая из цифра, по основанию 62,
времени прибытия сообщения.
Разделение спула позволяет
увеличить производительность в системах, где длинные почтовые очереди,
уменьшая число файлов в одном каталоге. Каталог msglog делится таким же
способом, как и input, однако, если preserve_message_logs установлена,
все старые протоколы всё равно помещаются в один каталог msglog.OLD.
Нет необходимости предпринимать какие-то действия для
существующих сообщений, когда изменяется split_spool_directory.
Exim замечает сообщения, находящиеся в неверном месте, и
продолжает обрабатывать их. Если опция будет отключена, то
после периода обработки субкаталоги, в конечном счёте, опустеют и
будут автоматически удалены.
Когда опция split_spool_directory
установлена, изменяется поведение обработчика очереди. Вместо создания списка
всех сообщений в очереди и последующей попытки доставить каждое из них, он
создаёт их список в одном субкаталоге и пробует доставить их до перехода к
следующему подкаталогу. Подкаталоги обрабатываются в случайном порядке.
Это разворачивает сканирование входных каталогов и использует меньше памяти.
Особенно это выгодно, когда в очереди много сообщений.
Однако, если установлена опция queue_run_in_order,
не происходит ни одна из новых обработок. Вся очередь должна быть просмотрена
и отсортирована до того, как начнутся какие бы то ни было доставки.
Имя |
Использование |
Тип |
Значение по умолчанию |
spool_directory |
main | string† |
Устанавливается при компиляции |
|
Эта опция задаёт каталог, в который exim
сохраняет обрабатываемые сообщения, то есть, сообщения, ожидающие доставки.
Значение по умолчанию берётся из компиляционных настроек, если они есть.
Если нет, эта опция должна быть задана. Строка раскрывается, таким
образом она может содержать, например, ссылку на $primary_hostname.
Если имя каталога спула задано
при инсталляции, рекомендуется, чтобы Вы использовали настройки из
инсталляции, а не из этой опции, особенно, если протоколы пишутся в каталог
спула (смотрите log_file_path). Иначе протоколы не могут
использоваться для ошибок, детектируемых на ранней стадии,
типа ошибок в файле конфигурации.
Путём использования этой опции для отмены
вкомпилированного пути, можно запускать тесты exim без
использования стандартного спула.
Имя |
Использование |
Тип |
Значение по умолчанию |
sqlite_lock_timeout |
main | time |
5s | |
Эта опция контролирует таймаут, который используется
поисками sqlite, когда пытаются обратиться к БД SQLite.
Для получения дополнительных деталей смотрите раздел
9.24.
Имя |
Использование |
Тип |
Значение по умолчанию |
strip_excess_angle_brackets |
main | boolean |
ложь | |
Если эта опция задана, из элемента адреса route-addr,
удаляются избыточные пары угловых скобок.
Например, <<xxx@a.b.c.d>> обрабатывается как <xxx@a.b.c.d>.
Если это в конверте, и сообщение передаётся другому MTA, лишние угловые
скобки не передаются. Если эта опция не задана, несколько пар угловых
скобок вызывают ошибку синтаксиса.
Имя |
Использование |
Тип |
Значение по умолчанию |
strip_trailing_dot |
main | boolean |
ложь | |
Если эта опция установлена, завершающая точка в
конце домена, в адресе, игнорируется. Если это в конверте, и точка с
сообщением передаётся другому MTA, то точка не передаётся. Если эта опция
не задана, точка в конце домена вызывает синтаксическую ошибку.
Однако, адреса в строках заголовков проверяются только, когда ACL запрашивает
проверку синтаксиса заголовков.
Имя |
Использование |
Тип |
Значение по умолчанию |
syslog_duplication |
main | boolean |
истина | |
Когда exim пишет протоколы в syslog, он пишет строки
для трёх своих отдельных протоколов с различным приоритетом таким образом,
чтобы они в принципе могли быть разделены на хосте протоколирования.
Некоторые инсталляции не требуют этого разделения, и в этих случаях
дублирование определённых строк представляет собой неприятность.
Если syslog_duplication установлена в ложь, лишь одна копия любых
специфических строк протоколов пишется в syslog. Для строк, обычно идущих в
оба протокола (главный и отклонённых), версия для протокола отклонённых
(возможно, содержащая строки заголовков сообщения) записывается с
приоритетом LOG_NOTICE. Строки, обычно идущие в оба протокола, главный и
тревоги, пишутся с приоритетом LOG_ALERT.
Имя |
Использование |
Тип |
Значение по умолчанию |
syslog_facility |
main | string |
не задана | |
Эта опция устанавливает имя средства syslog, используемого
когда exim пишет протоколы в syslog. Значение может быть одной из строк mail,
user, news, uucp, daemon или localx, где x число между 0 и 17.
Если эта опция не задана, используется mail. Для дополнительных деталей о
протоколировании exim смотрите раздел 48.
Имя |
Использование |
Тип |
Значение по умолчанию |
syslog_processname |
main | string |
exim | |
Эта опция устанавливает имя ident syslog,
используемое когда exim пишет протоколы в syslog. Значение может быть
не более 32-х символов. Для дополнительных деталей о протоколировании
exim смотрите раздел 48.
Имя |
Использование |
Тип |
Значение по умолчанию |
syslog_timestamp |
main | boolean |
истина | |
Если опция syslog_timestamp установлена в ложь,
штампы времени в строках протоколов exim опущены, когда эти
строки посылаются в syslog. Для дополнительных деталей о протоколировании в
exim смотрите раздел 48.
Имя |
Использование |
Тип |
Значение по умолчанию |
system_filter |
main | string† |
не задана | |
Эта опция определяет фильтр exim, применяемый ко всем
сообщениям в начале каждой попытки доставки, до завершения любого роутинга.
Системные фильтры должны быть фильтрами exim: они не могут
быть фильтрами Sieve. Если системный фильтр генерирует любую доставку в
файл или в канал, либо любое новое почтовое сообщение, должна быть
установлена соответствующая опция system_filter_..._transport
для определения, какие транспорты должны использоваться. Детали об этом
средстве даны в разделе 42.
Имя |
Использование |
Тип |
Значение по умолчанию |
system_filter_directory_transport |
main | string† |
не задана | |
Эта опция устанавливает драйвер транспорта,
который будет использоваться, когда команда save в системном фильтре
сообщений определяет путь, заканчивающийся на /, подразумевая доставку
каждого сообщения в отдельный файл в какой-то каталог.
В течение доставки переменная $address_file содержит имя пути.
Имя |
Использование |
Тип |
Значение по умолчанию |
system_filter_file_transport |
main | string† |
не задана | |
Эта опция устанавливает драйвер транспорта,
который будет использоваться, когда команда save в системном фильтре
сообщений определяет путь, не заканчивающийся на /.
В течение доставки переменная $address_file содержит имя пути.
Имя |
Использование |
Тип |
Значение по умолчанию |
system_filter_group |
main | integer |
не задана | |
Эта опция используется лишь когда задана опция
system_filter_user. Она устанавливает gid, под которым работает
системный фильтр, перезадавая любой gid, ассоциированный с пользователем.
Значение может быть цифровым или символьным.
Имя |
Использование |
Тип |
Значение по умолчанию |
system_filter_pipe_transport |
main | string† |
не задана | |
Эта опция определяет драйвер транспотра,
который будет использоваться при использовании команды
pipe в системном фильтре. В процессе доставки переменная
$address_pipe содержит команду канала (pipe).
Имя |
Использование |
Тип |
Значение по умолчанию |
system_filter_reply_transport |
main | string† |
не задана | |
Эта опция определяет драйвер транспотра,
который будет использоваться при использовании команды
mail в системном фильтре.
Имя |
Использование |
Тип |
Значение по умолчанию |
system_filter_user |
main | string |
не задана | |
Если эта опция не задана, системный фильтр работает
в главном процессе доставки exim как root. Когда эта опция
установлена, системный фильтр работает в отдельном процессе
под заданным пользователем. Если строка не состоит полностью из цифр, она
ищется в БД паролей. Ошибка нахождения имени пользователя
вызывает конфигурационную ошибку. Идентификатор группы gid, берётся из
БД паролей или определяется опцией system_filter_group.
Когда uid задан в цифровом виде, system_filter_group
должна быть установлена.
Если системный фильтр генерирует доставку pipe, file или
reply, для транспортировки используется uid, под которым работает системный
фильтр, если опции транспорта это не переопределяют. Обычно Вам необходимо
устанавливать system_filter_user, если системный фильтр
производит эти виды доставок.
Имя |
Использование |
Тип |
Значение по умолчанию |
tcp_nodelay |
main | boolean |
истина | |
Если эта опция установлена в ложь, это
останавливает настройку опции TCP_NODELAY демона exim на слушаемых сокетах.
Установка TCP_NODELAY выключает Nagle algorithm, являющийся способом улучшить
сетевую производительность в интерактивных (познаковых) ситуациях.
Выключение его должно немного улучшить
работосопособность exim, таким образом это и установлено по умолчанию.
Однако, выявляются некоторые клиенты, с которыми
невозможно совладать, и происходит таймаут. Поэтому присутствует эта опция.
Она имеет эффект только на те сокеты, которые установлены
для слушающего демона. Сокеты, создаваемые транспортом smtp для доставки
почты, всегда устанавливают TCP_NODELAY.
Имя |
Использование |
Тип |
Значение по умолчанию |
timeout_frozen_after |
main | time |
0s | |
Если опция timeout_frozen_after
установлена во время, большее нуля, замороженные сообщения любого вида,
которые находятся в очереди больше данного времени, автоматически отменяются
в следующую работу очереди. Если это рикошеты, они просто удаляются.
Иначе отправителю посылается рикошет в манере, подобной отмене опцией
командной строки -Mg. Если Вы хотите сделать таймаут замороженных
рикошетов меньше, чем других видов замороженных сообщений, смотрите опцию
ignore_bounce_errors_after.
Имя |
Использование |
Тип |
Значение по умолчанию |
timezone |
main | string |
не задана | |
Значение опции timezone используется для
установки переменной окружения TZ при работе exim (если она отличается от
той, что была при входе). Это гарантирует, что все штампы времени, созданные
exim, находятся в нужном часовом поясе. Если Вы хотите, чтобы все штампы
времени были в UTC (то есть, GMT), Вы должны установить:
Значение по умолчанию берётся из TIMEZONE_DEFAULT в
Local/Makefile или, если оно не задано, из значения переменной
окружения TZ при сборке exim. Если timezone установлено в пустую
строку или строится при выполнении, любая существующая переменная TZ
удаляется из переменных окружения при работе exim.
Это соответствующее поведение для получения текущего времени на некоторых,
но, к сожалению, не на всех операционных системах.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_advertise_hosts |
main | host list† |
не задана | |
Когда exim собран с поддержкой
шифрованных соединений TLS, доступность команды STARTTLS
для установки шифрованных сессий сообщается в EHLO лишь тем клиентским
хостам, которые совпадают с этой опцией. Для подробной информации о поддержке
exim TLS смотрите раздел 38.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_certificate |
main | string† |
не задана | |
Значение этой опции раскрывается и должно быть
абсолютным путём к файлу, содержащему серверные сертификаты.
Тайный ключ сервера, как предполагается, также находится в этом файле, если
не задана опция tls_privatekey.
Для дополнительных деталей смотрите раздел 38.
Отметьте: Сертификаты, заданные этой опцией,
используются лишь, когда exim получает входящие сообщения как сервер.
Если Вы хотите предлагать для использования, когда сообщение посылается
как клиент, Вы должны установить опцию tls_certificate в
подходящем транспорте smtp.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_crl |
main | string† |
не задана | |
Эта опция определяет список аннулирования сертификатов.
Раскрытое значение может быть файлом, содержащим CLR в формате PEM.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_dhparam |
main | string† |
не задана | |
Значение этой опции раскрывается и должно быть
абсолютным путём к файлу, содержащему значения параметра DH сервера.
Это используется только для OpenSSL. Когда exim скомпонован с GnuTLS,
эта опция игнорируется. Для дополнительных деталей смотрите раздел
38.2.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_on_connect_ports |
main | string list |
не задана | |
Эта опция определяет список входящих SSMTP
(то есть, SMTPS) портов, которые должны управляться устаревшим SSMTP (SMTPS)
протоколом, где сессии TLS устанавливается немедленно, без ожидания пока
клиент даст команду STARTTLS. Для дополнительных деталей смотрите раздел
13.4.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_privatekey |
main | string† |
не задана | |
Значение этой опции раскрывается и должно быть
абсолютным путём к файлу, который содержит секретные ключи сервера.
Если эта опция не задана, её раскрытие принудительно неудачно или
результат пустая строка предполагается, что частный ключ находится в
том же файле, что и сертификаты сервера.
Для дополнительных деталей смотрите раздел 38.2.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_remember_esmtp |
main | boolean |
ложь | |
Если эта опция установлена в истину,
exim нарушает RFC помня, что он в состоянии esmtp, после успешных переговоров
о TLS-сессии. Это предоставляет поддержку клиентов, которые
не в состоянии послать новую команду HELO, после начала сессии TLS.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_require_ciphers |
main | string† |
не задана | |
Эта опция контролирует, какие шифры
могут использоваться для входящей сессии TLS. Транспорт smtp имеет
опцию с тем же самым именем для контроля исходящих соединений.
Эта опция раскрывается для каждого соединения,
таким образом может изменяться для различных клиентов, если это требуется.
Значение этой опции должно быть списком разрешённых наборов шифров.
Библиотеки OpenSSL и GnuTLS обрабатывают управление шифрами
несколько различными способами. Если используется GnuTLS, клиент
управляет предпочтительным порядком доступных шифров.
Детали даны в разделах 38.4 и
38.5.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_try_verify_hosts |
main | host list† |
не задана | |
Смотрите ниже опциюtls_verify_hosts.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_verify_certificates |
main | string† |
не задана | |
Значение этой опции раскрывается и должно быть
абсолютным путём к файлу, содержащему разрешённые сертификаты для
клиентов, которые совпадают с
tls_verify_hosts или tls_try_verify_hosts.
Альтернативно, если Вы используете OpenSSL, можете установить
tls_verify_certificates в имя каталога, содержащего файлы сертификатов.
Это не работает с GnuTLS: опция должны быть установлена в имя одного
файла, если Вы используете GnuTLS.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_verify_hosts |
main | host list† |
не задана | |
Эта опция, наряду с tls_try_verify_hosts,
контролирует проверку сертификатов клиентов. Ожидаемые сертификаты заданы
опцией tls_verify_certificates, которая должна быть установлена.
Если установлена tls_verify_hosts или tls_try_verify_hosts
и не задана tls_verify_certificates,
происходит конфигурационная ошибка.
Любые клиенты, совпадающие с tls_verify_hosts,
принудительно подвергаются tls_verify_certificates.
Клиент должне предоставить один из перечисленных сертификатов.
Если он этого не делает, соединение разрывается.
Более слабая форма проверки предоставялется опцией
tls_try_verify_hosts. Если клиент совпадает с этой опцией (но не с
tls_verify_hosts), exim запрашивает сертификат и проверяет, что он
соотетствует tls_verify_certificates, но не разрывает соединение, если
сертификата нет или он не совпадает. Это может быть определено в ACL,
делающей возможной осуществление политики типа принимать для релея лишь если
был передан проверенный сертификат, но принимать для локальной доставки, если
зашифрованное, даже без подтверждённого сертификата. У хостов, не совпадающих
ни с одним из этих списков, не запрашиваются сертификаты.
Имя |
Использование |
Тип |
Значение по умолчанию |
trusted_groups |
main | string list† |
не задана | |
Эта опция раскрывается лишь один раз,
при старте процесса exim. Если она задана, доверенным является любой процесс,
работающий в одной из перечисленных групп, или у которого одна из них
является дополнительной. Группы могут быть заданы в цифровой форме
или по именам. Смотрите раздел 5.2 для
получения дополнительной информации о том, что разрешено делать
вызывающим доверенным группам. Если не установлены ни trusted_groups,
ни trusted_users, доверие будет лишь к root и пользователю exim.
Имя |
Использование |
Тип |
Значение по умолчанию |
trusted_users |
main | string list† |
не задана | |
Эта опция раскрывается лишь один раз, при
старте процесса exim. Если она задана, доверенным является любой процесс,
работающий под перечисленным пользователем. Пользователи могут быть
заданы в цифровой форме или по именам. Смотрите раздел
5.2 для получения дополнительной информации о том, что разрешено делать
вызывающим доверенным пользователям. Если не установлены ни
trusted_groups, ни trusted_users, доверие будет
лишь к root и пользователю exim.
Имя |
Использование |
Тип |
Значение по умолчанию |
unknown_login |
main | string† |
не задана | |
Это специальная особенность для
использования в необычных конфигурациях. По умолчанию, если используя
getpwuid() не может быть найден uid того, кто вызывает exim, exim отключается.
Опция unknown_login может использоваться для задания логина,
использующегося в таких случаях. Эта опция раскрывается, таким образом,
может быть задано значение типа user $caller_uid.
Когда используется опция unknown_login, значение
unknown_username используется для реального имени пользователя (поле
geos), если оно не было задано путём опции -F.
Имя |
Использование |
Тип |
Значение по умолчанию |
unknown_username |
main | string |
не задана | |
Смотрите unknown_login.
Имя |
Использование |
Тип |
Значение по умолчанию |
untrusted_set_sender |
main | address list† |
не задана | |
Когда недоверенный пользователь передаёт сообщение
exim используя стандартный ввод, exim обычно создаёт адрес
отправителя конверта из логина пользователя и дефолтового
квалификационного домена. Данные из опции -f
(для установки отправителей конверта не-SMTP сообщений) или команды SMTP MAIL
(если используются -bs или -bS), игнорируются.
Однако, недоверенным пользователям разрешено устанавливать
пустой адрес конверта, для объявления, что сообщение никогда не должно
генерировать рикошетов. Например:
exim -f '<>' user@domain.example
|
Опция untrusted_set_sender
разрешает Вам позволить недоверенным пользователям
устанавливать иного отправителя конверта, управляемым способом. Когда
она установлена, недоверенным пользователям разрешено устанавливать
адрес отправителя конверта, который совпадает с любым паттерном в этом
списке. Как и все списки адресов, строка раскрывается. Идентичность
пользователя находится в $sender_ident, таким образом, Вы можете, например,
ограничить пользователей установкой отправителей начинающихся с их логинов,
сопровождаемых дефисом, путём установки похожей на эту:
untrusted_set_sender = ^$sender_ident-
|
Если Вы хотите разрешить недоверенным пользователям
без ограничений устанавливать адрес отправителя конверта,
Вы можете использовать:
Опция untrusted_set_sender
применяется ко всем формам локального ввода, но
лишь к установке отправителя конверта. Она не позволяет недоверенным
пользователям устанавливать иные опции, которые доверенные пользователи
могут использовать для переопределения параметров сообщений.
Кроме того, она не мешает exim удалить из сообщения существующий заголовок
Sender: или добавить заголовок Sender:,
если имеется необходимость. Смотрите опции local_sender_retain и
local_from_check для способов перезадания этих действий.
Обработка заголовка Sender:
также описана в разделе 43.16.
Строки протоколов для прибывших сообщений показывают
отправителя конверта, сопровождаемого <=. Для локальных сообщений логин
пользователя всегда показан после U=. В отображении -bp и в мониторе
exim, если недоверенный пользователь устанавливает адрес отправителя
конверта, логин пользователя показан в круглых скобках
после адреса отправителя.
Имя |
Использование |
Тип |
Значение по умолчанию |
uucp_from_pattern |
main | string |
смотрите ниже | |
Некоторые приложения, которые передают сообщения
MTA через интерфейс командной строки, используют начальную строку,
начинающуюся с From, для передачи конверта сообщения.
В частности, это используется софтом UUCP. Exim распознаёт такую строку
регулярным выражением, которое задано в uucp_from_pattern.
Когда шаблон совпадает, адрес отправителя конструируется путём раскрытия
содержимого uucp_from_sender при условии, что exim
вызывает доверенный пользователь. Шаблон по умолчанию
распознаёт строки в следующих двух формах:
From ph10 Fri Jan 5 12:35 GMT 1996
From ph10 Fri, 7 Jan 97 14:00:00 GMT
|
Шаблон можно увидеть путём запуска:
exim -bP uucp_from_pattern
|
Он проверяет только с точностью до часов и минут и
разрешает двух или четырёх цифровой год во втором случае. Первое слово после
From совпадает с регулярным выражением с субпаттерном. Значение по умолчанию
для uucp_from_sender $1, использующее лишь первое слово
(ph10 в примере выше), как отправтеля сообщения. Также смотрите опцию
ignore_fromline_hosts.
Имя |
Использование |
Тип |
Значение по умолчанию |
uucp_from_sender |
main | string† |
$1 | |
Смотрите выше опцию uucp_from_pattern.
Имя |
Использование |
Тип |
Значение по умолчанию |
warn_message_file |
main | string |
не задана | |
Эта опция задаёт файл шаблона, содержащий параграфы
текста, используемого для составления предупреждающего сообщения,
посылаемого exim, когда сообщение пробыло в очереди указанное время,
как задано в delay_warning. Детали о содержимом этого
файла даны в разделе 45. Также смотрите опцию
bounce_message_file.
Имя |
Использование |
Тип |
Значение по умолчанию |
write_rejectlog |
main | boolean |
истина | |
Если эта опция установлена в ложь, exim ничего не пишет
в соответствующий протокол отклонённых. Смотрите раздел 48
для получения деталей о том, что exim пишет в свои протоколы.