Первая часть файла рабочей конфигурации содержит три типа элементов:
Макроопределения: Эти строки начинаются с символа в верхнем регистре. Смотрите раздел 6.4 для получения дополнительных деталей о макрообработке.
Определения именованных списков: Эти строки начинаются с одного из слов “domainlist”, “hostlist”, “addresslist”, или “localpartlist”. Их использование описано в разделе 10.5.
Главные конфигурационные настройки: Каждая установка занимает одну строку файла (с возможностью продолжения). Если какой-либо установке предшествует слово “hide”, опция командной строки “-bP” отображает её значение лишь административным пользователям. Смотрите раздел 6.10 для описания синтаксиса этих параметров настройки.
Эта глава определяет все главные конфигурационные опции, наряду с их типами и дефолтовыми значениями. Для простоты нахождения специфической опции, они перечислены в алфавитном порядке ниже, в разделе 14.23. Однако, поскольку сейчас тут очень много опций, они, вначале, кратко перечислены в функциональных группах, как помощь, для нахождения имени опции, которую вы ищете. Некоторые опции перечислены более чем в одной группе.
14.1 Разное
“bi_command” - запускается при опции командной строки “-bi”
“disable_ipv6” - не обрабатывать IPv6
“keep_malformed” - для повреждённых файлов - должно не случаться
“localhost_number” - для уникальных идентификаторов сообщений, в кластерах
“message_body_visible” - как много показывать в “
$message_body
”
“smtp_return_error_details” - выдывать детали при отклонении
“warn_message_file” - содержимое предупреждающего сообщения
14.23 Алфавитный список главных опций
Те опции, которые подвергаются раскрытию строки, до использования, помечены символом “†”.
Имя
Использование
Тип
Дефолтовое значение
accept_8bitmime
main
boolean
false
Эта опция заставляет exim посылать 8BITMIME в его ответе на команду SMTP EHLO, и принимать параметр BODY= в командах MAIL. Однако, хотя exim чисто 8-битовый, он не конвертер протоколов, и не принимает каких-либо специальных действий для сообщений полученных в соответствии с этим маршрутом. Следовательно, по умолчанию эта опция отключена.
Имя
Использование
Тип
Дефолтовое значение
acl_not_smtp
main
string†
unset
Эта опция определяет ACL, выполняемый до начала приёма не-SMTP-сообщения. Для дополнительных деталей смотрите раздел 39.
Имя
Использование
Тип
Дефолтовое значение
acl_not_smtp_mime
main
string†
unset
Эта опция определяет ACL, выполняемый для индивидуальных частей MIME не-SMTP-сообщений. Она работает таким же образом, как и “acl_smtp_mime” для SMTP-сообщений.
Имя
Использование
Тип
Дефолтовое значение
acl_smtp_auth
main
string†
unset
Эта опция определяет ACL, выполняемую при получении команды SMTP AUTH. Для дополнительных деталей смотрите раздел 39.
Имя
Использование
Тип
Дефолтовое значение
acl_smtp_connect
main
string†
unset
Эта опция определяет ACL, выполняемую при получении команды SMTP. Для дополнительных деталей смотрите раздел 39.
Имя
Использование
Тип
Дефолтовое значение
acl_smtp_data
main
string†
unset
Эта опция определяет ACL, выполняемую после обработки команды SMTP DATA, и получения самого сообщения, но до посылки заключительного подтверждения. Для дополнительных деталей смотрите раздел 39.
Имя
Использование
Тип
Дефолтовое значение
acl_smtp_etrn
main
string†
unset
Эта опция определяет ACL, выполняемую при получении команды SMTP ETRN. Для дополнительных деталей смотрите раздел 39.
Имя
Использование
Тип
Дефолтовое значение
acl_smtp_expn
main
string†
unset
Эта опция определяет ACL, выполняемую при получении команды SMTP EXPN. Для дополнительных деталей смотрите раздел 39.
Имя
Использование
Тип
Дефолтовое значение
acl_smtp_helo
main
string†
unset
Эта опция определяет ACL, выполняемую при получении команды SMTP HELO или EHLO. Для дополнительных деталей смотрите раздел 39.
Имя
Использование
Тип
Дефолтовое значение
acl_smtp_mail
main
string†
unset
Эта опция определяет ACL, выполняемую при получении команды SMTP MAIL. Для дополнительных деталей смотрите раздел 39.
Имя
Использование
Тип
Дефолтовое значение
acl_smtp_mailauth
main
string†
unset
Эта опция определяет ACL, выполняемую при получении команды AUTH с командой MAIL. Для дополнительных деталей ACL смотрите раздел 39, и раздел 33 для деталей аутентификации.
Имя
Использование
Тип
Дефолтовое значение
acl_smtp_mime
main
string†
unset
Эта опция доступна когда exim собран с расширением контентного сканирования. Это задаёт ACL запускаемую для каждой MIME части в сообщении. Смотрите раздел 40.4 для получения дополнительных деталей.
Имя
Использование
Тип
Дефолтовое значение
acl_smtp_predata
main
string†
unset
Эта опция определяет ACL, выполняемую при получении команды SMTP DATA, до получения самого сообщения. Для дополнительных деталей смотрите раздел 39.
Имя
Использование
Тип
Дефолтовое значение
acl_smtp_quit
main
string†
unset
Эта опция определяет ACL, выполняемую при получении команды SMTP QUIT. Для дополнительных деталей смотрите раздел 39.
Имя
Использование
Тип
Дефолтовое значение
acl_smtp_rcpt
main
string†
unset
Эта опция определяет ACL, выполняемую при получении команды SMTP RCPT. Для дополнительных деталей смотрите раздел 39.
Имя
Использование
Тип
Дефолтовое значение
acl_smtp_starttls
main
string†
unset
Эта опция определяет ACL, выполняемую при получении команды SMTP STARTTLS. Для дополнительных деталей смотрите раздел 39.
Имя
Использование
Тип
Дефолтовое значение
acl_smtp_vrfy
main
string†
unset
Эта опция определяет ACL, выполняемую при получении команды SMTP VRFY. Для дополнительных деталей смотрите раздел 39.
Имя
Использование
Тип
Дефолтовое значение
admin_groups
main
string†
unset
Эта опция раскрывается один раз, в процессе старта exim. Если текущая группа или любая из дополнительных групп вызвавшего exim (пользователя, видимо - прим. lissyara) находятся в этом списке, разделённом двоеточиями, вызывающий имеет административные привилегии. Если все ваши системные программисты находятся в определённой группе, например, вы можете дать им всем привилегии администратора exim`a, поместив их группу в “admin_groups”. Однако, это не разрешает читать им читать файлы спула exim`a (группа которых - группа exim`a). Для разрешения этого, вы должны добавить отдельных людей в группу exim`a.
Имя
Использование
Тип
Дефолтовое значение
allow_domain_literals
main
boolean
false
Если эта опция установлена, формат буквальных адресов (с иcпользованием IP-адреса вместо домена - прим. lissyara), в соответствии с RFC2822, разрешён в e-mail адресах. По умолчанию, эта опция не задана, поскольку доменные литералы не требуются в наши дни, и немногие люди знают о них. Однако это эксплуатируется спамерами.
К сожалению, кажется, некоторые майнтайнеры (чё-то не нашёл синонима в русском - короче люди, осуществляющие поддержку - прим. lissyara) чёрных списков DNS, используют этот формат для сообщения постмастеру, о попадении хоста в чёрные списки. Если вы хотите принимать почту, адресованную вашему хосту по IP-адресу, вам необходимо установить опцию “allow_domain_literals” в истину, и, также, добавить “@[]” в список локальных доменов (заданный в именованом списке доменов “local_domains”, в дефолтовой конфигурации). Эта “волшебная строка” соответствует форме доменных литералов для всех IP-адресов локального хоста.
Имя
Использование
Тип
Дефолтовое значение
allow_mx_to_ip
main
boolean
false
Кажется, что что всё больше и больше администраторов DNS-зон нарушают правила и помещают доменные имена, которые похожи на IP-адреса справа от MX-записей. Exim следует правилам, и отклоняет их, выдавая сообщение о ошибке, объясняющее неверную конфигурацию. Однако, некоторые другие MTA поддерживают эту практику, и для избежания жалоб “Почему exim не может этого?”, существует “allow_mx_to_ip”, для допущения этой отвратительной деятельности. Это не рекомендуется, кроме случаев, когда у вас нет иного выбора.
Имя
Использование
Тип
Дефолтовое значение
allow_utf8_domains
main
boolean
false
Большое обсуждение продолжается о интернационализированых доменных именах. Один лагерь - настаивает на использовании только символов UTF-8, и кажется, что по крайней мере два других MTA мешают этому. Эта опция позволяет пользователям exim`a экспериментировать, если они этого желают.
Если она установлена в истину, функция парсинга доменов exim`a разрешает появляение допустимых мультисимволов UTF-8 в компонентах доменного имени, в дополнение к буквам, цифрам и дефисам. Однако, лишь установки этой опции - недостаточно; если вы хотите искать такие имена в DNS, вы также должны корректировать значение “dns_check_names_pattern”, для соответствия расширенной форме.Подходящая настройка:
Альтернативно, вы можете только отключить эту возможность, установив
dns_check_names_pattern =
Таким образом, установка опции в пустую строку, не производит проверку.
Имя
Использование
Тип
Дефолтовое значение
auth_advertise_hosts
main
host list†
*
Если сконфигурированы какие-либо серверный аутентификационные механизмы, exim информирует о них в ответе на команду HELO, лишь если хост запроса соответствует этому списку. Иначе, exim не информирует AUTH. Exim не принимает команды AUTH от клиентов, которым не сообщалось о доступности AUTH. Информированием о индивидуальных аутентификационных механизмах можно управлять использованием общей аутентификационной опции “server_advertise_condition” в индивидуальных аутентификаторах. Для дополнительных деталей смотрите раздел 33.
Определённые почтовые клиенты (например Netscape) требуют, чтобы пользователь предоставил имя пользователя и пароль для идентификации, если информируется AUTH, даже при том, что может не являться необходимым (хост может принимать сообщения от хостов из своей LAN без аутентификации, например). Опция “auth_advertise_hosts” может быть использована чтобы сделать этих клиентов более дружелюбными, путём исключения их из хостов к которым выводиться информация о AUTH.
Если вы хотите информировать о доступности AUTH лишь когда подключение зашифровано с использованием TLS, вы можете использовать тот факт, что значение этой опции раскрывается, установкой типа такой:
Если “
$tls_cipher
” пуста, сессия не шифрованная, и результат раскрытия пуст, таким образом, не соответствуя никаким хостам. Иначе, разультат раскрытия “*”, соответствующая всем хостам.
Имя
Использование
Тип
Дефолтовое значение
auto_thaw
main
time
0s
Если в этой опции будет время большее нуля, то обработчик очереди будет пробовать произвести новую попытку доставки для любых замороженных сообщений, кроме рикошетов, если прошло много времени с того момента как они заморожены. Это может привести к повторной заморозке сообщения, если ничего не изменилось с момента последней попытки доставки. Это - способ сказать “пытаюсь, несмотря на большие проблемы”. Отметтьте: Это старая опция, которая предшествовала “timeout_frozen_after” и “ignore_bounce_errors_after”. Она сохранена для совместимости, но она не многим полезна, и лучше избегать её использования.
Имя
Использование
Тип
Дефолтовое значение
av_scanner
main
string
смотрите ниже
Эта опция доступна, если exim собран с расширением контентного сканирования. Она задаёт, какой антивирусный сканер будет использоваться. Значение по умолчанию:
sophie:/var/run/sophie
Если значение “av_scanner” начинается с символа “$”, то оно раскрывается перед использованием. Для дополнительных деталей смотрите раздел 40.1.
Имя
Использование
Тип
Дефолтовое значение
bi_command
main
string
string
Эта опция предоставляет имя команды, которая будет выполнена когда exim вызывается с опцией “-bi” (смотрите раздел 5). Значение строки - лишь имя команды, а не полная командная строка. Если требуются аргументы, они должны быть из опции командной строки “-oA”.
Имя
Использование
Тип
Дефолтовое значение
bounce_message_file
main
string
string
Эта опция определяет файл шаблона, содержащий параграфы текста, используемые для конструирования сообщения рикошета. Детали о содержимом файла даны в разделе 45. Смотрите также “warn_message_file”.
Имя
Использование
Тип
Дефолтовое значение
bounce_message_text
main
string
unset
Когда задана эта опция, её содержимое включается в дефолтовое рикошет, сразу после “This message was created automatically by mail delivery software.” Она не используется, если установлена опция “bounce_message_file”.
Имя
Использование
Тип
Дефолтовое значение
bounce_return_body
main
boolean
true
Эта опция контролирует, включено ли тело входящего сообшения в рикошет, когда “bounce_return_message” - истина. Дефолтовая настройка включает всё сообщение, и заголовок и тело, в возвращаемое сообщение (подчиняясь значению “bounce_return_size_limit”). Если эта опция ложна, включаются лишь заголовки сообщения. В случае не-SMTP-сообщения, содержащего ошибку, обнаруженную в точке приёма, возвращаются лишь те строки заголовка, которые предществуют пункту, где была обнаружена ошибка.
Имя
Использование
Тип
Дефолтовое значение
bounce_return_message
main
boolean
true
Если эта опция установлена в ложь, ничего из оригинального сообщения не включается в сообщение генерируемое exim`ом. Смотрите, также, “bounce_return_size_limit” и “bounce_return_body”.
Имя
Использование
Тип
Дефолтовое значение
bounce_return_size_limit
main
integer
100K
Эта опция устанавливает лимит, в байтах, на размер сообщения возвращаемого отправителю как часть сообщения рикошета, когда опция “bounce_return_message” истинна. Предел должен быть меньше, чем значение глобальной опции “message_size_limit” и любых настроек “message_size_limit” в транспортах, для разрешения генерируемого exim`ом текста о срыве доставки сообщения. Если эта опция установленна в ноль, то нет ограничений на размер.
Когда тело любого сообщения, которое должно быть включено в рикошет, больше этого предела, оно усекается, и вверху добавляется комментарий о этом. Фактическое сокращение может быть больше данного значения, вследствие использования буферизации, для передачи сообщения кусками (обычно, размером 8k). Идея состоит в сохранении пропускной способности на недоставленных сообщениях, размером 15 мегабайт (видимо, это был пример - прим. lissyara).
Имя
Использование
Тип
Дефолтовое значение
bounce_sender_authentication
main
string
unset
Эта опция предоставляет адрес аутентифицированного отправителя, который шлёт любые сообщения рикошета, сгенерированные exim`ом, посылаемые через аутентифицированное SMTP-соединение. Типичная установка такая:
Значение “bounce_sender_authentication” всегда должно быть полным e-mail адресом.
Имя
Использование
Тип
Дефолтовое значение
callout_domain_negative_expire
main
time
3h
Эта опция определяет срок использования негативных кэшированных данных доменов, для обратных вызовов. Смотрите раздел 39.32 для дополнительных деталей о проверке обратных вызовов, и раздел 39.34, для деталей о кэшировании.
Имя
Использование
Тип
Дефолтовое значение
callout_domain_positive_expire
main
time
3d
Эта опция определяет срок использования позитивных кэшированных данных доменов, для обратных вызовов. Смотрите раздел 39.32 для дополнительных деталей о проверке обратных вызовов, и раздел 39.34, для деталей о кэшировании.
Имя
Использование
Тип
Дефолтовое значение
callout_negative_expire
main
time
2h
Эта опция определяет срок использования негативных кэшированных данных адресов, для обратных вызовов. Смотрите раздел 39.32 для дополнительных деталей о проверке обратных вызовов, и раздел 39.34, для деталей о кэшировании.
Имя
Использование
Тип
Дефолтовое значение
callout_positive_expire
main
time
24h
Эта опция определяет срок использования позитивных кэшированных данных адресов, для обратных вызовов. Смотрите раздел 39.32 для дополнительных деталей о проверке обратных вызовов, и раздел 39.34, для деталей о кэшировании.
Имя
Использование
Тип
Дефолтовое значение
callout_random_local_part
main
string†
смотрите ниже
Эта опция определяет “случайную” локальную часть, которая будет использоваться как часть проверки обратным вызовом. Значение по умолчанию:
$primary_host_name-$tod_epoch-testing
Смотрите раздел 39.33 для получения дополнительных сведений о использовании этого значения.
Имя
Использование
Тип
Дефолтовое значение
check_log_inodes
main
integer
0
Смотрите ниже, опцию “check_spool_space”.
Имя
Использование
Тип
Дефолтовое значение
check_log_space
main
integer
0
Смотрите ниже, опцию “check_spool_space”.
Имя
Использование
Тип
Дефолтовое значение
check_rfc2047_length
main
boolean
true
RFC2047 определяет способ кодирования не-ASCII-символов в заголовках, используя систему “закодированных слов”. RFC определяет максимальную длинну для закодированного слова; строки, которые будут закодированы, превышающие эту длинну, должны использовать несколько закодированных слов. По умолчанию, exim не распознаёт закодированные слова, превышающие максимальную длинну. Однако, некоторые программы, в нарушение RFC, создают слишком длинные закодированные слова. Если “check_rfc2047_length” установлена в ложь, exim распознаёт закодированные слова любой длинны.
Имя
Использование
Тип
Дефолтовое значение
check_spool_inodes
main
integer
0
Смотрите ниже, опцию “check_spool_space”.
Имя
Использование
Тип
Дефолтовое значение
check_spool_space
main
integer
0
Четыре опции “check_....” разрешают проверку дисковых ресурсов до приёма сообщения.
Когда любая из этих опций установлена, они применяются ко всем входящим сообщениям. Если вы хотите применить различные проверки к различным видам сообщений, вы можете сделать это путём проверки переменных “
$log_inodes
”, “
$log_space
”, “
$spool_inodes
” и “
$spool_space
” в ACL с соответствующими дополнительными условиями. “check_spool_space” и “check_spool_inodes” проверяют раздел спула, что любое значение больше нуля, например:
check_spool_space = 10M
check_spool_inodes =
100
Раздел спула - тот, который содержит каталог, заданный как “SPOOL_DIRECTORY” в “Local/Makefile”. Он используется для того, чтобы хранить сообщения в процессе доставки. “check_log_space” и “check_log_inodes” проверяют раздел, в который пишутся логи, что они больше нуля. Они должны быть установлены, лишь если “log_file_path” и “spool_directory” ссылаются на разные разделы.
Если свободного места или инод меньше, чем требуется, exim отказывается принимать входящую почту. В случае SMTP это делается выдачей 452-й временной ошибки в ответе на команду MAIL. Если используется ESMTP, и был параметр SIZE в команде MAIL, его значение добавляется к значению “check_spool_space”, и выполняется проверка, даже если “check_spool_space” - ноль, если “no_smtp_check_spool_space” не установлена.
Значения для “check_spool_space” и “check_log_space” содержатся в числе килобайт. Если число некратно 1024 - оно округляется.
Для не-SMTP ввода, и для ввода пакетного SMTP, тестирование производится при запуске; сообщение о ошибке пишется на стандартный вывод ошибок, и exim выходит с кодом отличным от нуля, поскольку, очевидно, не может послать сообщение о любом виде ошибок.
Имя
Использование
Тип
Дефолтовое значение
daemon_smtp_ports
main
string
smtp
Эта опция задаёт один, или несколько дефолтовых портов SMTP, которые слушаются даемоном exim`a. Смотрие раздел 13 для деталей о её использовании. Для обратной совместимости, “daemon_smtp_port” (в единственном числе) - синоним.
Имя
Использование
Тип
Дефолтовое значение
daemon_startup_retries
main
integer
9
Эта опция, наряду с “daemon_startup_sleep”, контролирует повторения, сделанные даемоном при старте, когда он не может немедленно связаться с слушаемым сокетом (обычно, поскольку он уже занят): “daemon_startup_retries” задаёт число повторов после первой ошибки, и “daemon_startup_sleep” задаёт отрезок времени ожидания между повторами.
Имя
Использование
Тип
Дефолтовое значение
daemon_startup_sleep
main
time
30s
Смотрите “daemon_startup_retries”.
Имя
Использование
Тип
Дефолтовое значение
delay_warning
main
time list
24h
Когда сообщение задерживается, exim посылает предупреждающее письмо отправителю, с интервалами определёнными этой опцией. Данные - разделённый двоеточиями список времён, после которых шлются предупреждающие сообщения. Если значение этой опции - пустая строка, или ноль, то предупреждения не шлются. Может быть задано до 10 времён. Если сообщение находилось в очереди больше, чем последнее время, для вычисления последующего времени предупреждения используется последний интервал. Например, при:
delay_warning = 4h:8h:24h
первое сообщение посылается по прошествии 4-х часов, следующее через 8 и третье после 24-х. После этого, сообщения посылаются каждые 16 часов, поскольку этот интервал между двумя прошлыми временами в списке. Если вы зададите лишь одно время, оно определяет интервал повторения. Например, при:
delay_warning = 6h
сообщения повторяются каждые 6 часов. Для остановки предупреждений после этого времени, установите в конце списка очень большое время. Например:
delay_warning = 2h:12h:99d
Имя
Использование
Тип
Дефолтовое значение
delay_warning_condition
main
string†
смотрите ниже
Строка раскрывается в то время, когда могло бы быть послано сообщение. Если все отсроченные адреса имеют одинаковый домен, он устанавливается в “
$domain
” в процессе раскрытия. Иначе, переменная “
$domain
” пуста. Если результат раскрытия принудительный отказ, пустая строка, или строка соответствующая “0”, “no” или “false” (сравнение производится регистронезависмо) тогда предупреждающее сообщение не посылается. Значение по умолчанию:
подавляющая посылку предупреждений о сообщениях содержащих “bulk”, “list” или “junk” в заголовке “Precedence:”.
Имя
Использование
Тип
Дефолтовое значение
deliver_drop_privilege
main
boolean
false
Если эта опция истинна, exim отказывается от root`овых привилегий при запуске процесса доставки, и повсюду работает как пользователь exim`a. Это строго ограничивает возможные виды локальной доставки, но жизнеспособно лишь в определённых типах конфигурации. Имеется обсуждение о использовании root`овых привилегий в разделе 51
Имя
Использование
Тип
Дефолтовое значение
deliver_queue_load_max
main
fixed-point
unset
Если эта опция установленна, обработка очереди останавливается, если средняя загрузка системы больше значения этой опции. Опция не имеет эффекта на древних ОС, в которых exim не может определить среднюю загрузку. Смотрит, также, опции “queue_only_load” и“smtp_load_reserve”.
Имя
Использование
Тип
Дефолтовое значение
delivery_date_remove
main
boolean
true
Транспорты exim`a имеют опцию, для добавления заголовка “Delivery-date:” в сообщение, когда оно доставляется, точно также обрабатывается “Return-path:”. “Delivery-date:” делает запись фактического времени доставки. Такие заголовки не должны присутствовать во входящих сообщениях, и эта опция вызывает их удаление во время получения сообщения, для избежания любых возможных проблем, которые могли бы произойти при пересылке сообщения другому адресату.
Имя
Использование
Тип
Дефолтовое значение
disable_ipv6
main
boolean
false
Если эта опция истинна, даже если бинарник exim`a имеет поддержку IPv6, не будет никакой активности IPv6. Записи AAAA никогда не ищутся, и любые адреса IPv6, которые перечисленны в “local_interfaces”, данные для маршрутизатора “manualroute” и т.п. игноруруются. Если IP-литералы включены, роутер “ipliteral” отказывается обрабатывать литеральные адреса IPv6.
Имя
Использование
Тип
Дефолтовое значение
dns_again_means_nonexist
main
domain list†
unset
Поиски в DNS дают ответ “try again” для ошибок DNS “non-authoritative host not found” и “SERVERFAIL”. Это может заставить exim продолжать попытки доставки, или повторно выдать временную ошибку для входящей почты. Иногда эффект вызывается плохо настроенным сервером имён, и может сохраняться в течение долгого времени. Если домен, вызывающий эту проблему, соответствует чему-либо в “dns_again_means_nonexist”, он обрабатывается, как будто его не существет.Эта опция должна использоваться с осторожностью. Вы можете применять её к обратным поискам, настройкой типа такой:
dns_again_means_nonexist = *.in-addr.arpa
Эта опция применяется ко всем DNS-поискам, производимым exim`ом. Она также применяется когда функция “
gethostbyname()
” или “
getipnodebyname()
” выдаёт временную ошибку, т.к. они, вероятнее всего, будут вызваны проблемами поиска в DNS. У роутера “dnslookup” есть собственные опции, для контроля происходящего, если происходит временная ошибка при поиске записей MX или SRV. Эти более специфические опции применяются после глобальных опций.
Имя
Использование
Тип
Дефолтовое значение
dns_check_names_pattern
main
string
смотрите ниже
Когда эта опция установлена в непустую строку, она заставляет exim проверять доменные имена на символы, не разрешённые в именах хостов, до передачи их DNS-резольверу, поскольку некоторые резольверы выдают временные ошибки для имён содержащих необычные символы. Если доменное имя содержит какие-либо нежелательные символы, принудительно возвращается результат “not found”, и резольвер не вызывается. Проверка делается путём сравнения доменного имени с регулярным выражением, являющимся значением этой опции. Дефолтовый паттерн такой:
разрешающий лишь буквы, цифры, ck'ib и дефисы в компонентах, но они должны начинаться и заканчиваться буквой или цифрой. Дефисы не разрешены, фактически, в именах хостов, но они находятся в определённых NS-записях (к которым можно обратится в exim`e, используя поиск “dnsdb”). Если вы установите “allow_utf8_domains”, то вы должны изменить этот паттерн, или установить опцию в пустую строку.
Имя
Использование
Тип
Дефолтовое значение
dns_csa_search_limit
main
integer
5
Эта опция контролирует глубину поиска для записей CSA SRV в DNS, как подробно описано в разделе 39.37.
Имя
Использование
Тип
Дефолтовое значение
dns_csa_use_reverse
main
boolean
true
Эта опция контролирует действительно ли, адрес данный как домен CSA, обратим и ищется в обратной зоне DNS, как подробно описано в разделе 39.37.
Имя
Использование
Тип
Дефолтовое значение
dns_ipv4_lookup
main
domain list†
unset
Когда exim собран с поддержкой IPv6 и опция “disable_ipv6” не задана, он ищет для IPv6 адресные записи AAAA также, как и для IPv4 адресные записи A, пробуя найти IP-адреса для хостов, если домен не соответствует этому списку.
Это придумано для того, чтобы помочь с серверами имён дающими большую задержку, или иначе не работающими с типами записей AAAA. Когда мировые сервера имён будут должным образом модернизированы, в этой опции не будет необходимости.
Имя
Использование
Тип
Дефолтовое значение
dns_retrans
main
time
0s
Опция “dns_retrans” и “dns_retry” могут использоваться для повторной передачи и параметров повтора для поисков DNS. Значение нуля (по умолчанию) оставляет дефолтовые системные настройки без изменения. Первое значение - время между повторениями, и второе - число повторов. Не полностью ясно, как эти настройки затрагивают полное время, затрачиваемое на поиск в DNS. Я не нашёл никакой информации о таймаутах в поисках DNS; эти значения доступны во внешних структурах интерфейса резольвера, но нигде нет описания, как они используются, или что вы могли бы в них установить.
Имя
Использование
Тип
Дефолтовое значение
dns_retry
main
integer
0
Смотрите опцию “dns_retrans”, выше.
Имя
Использование
Тип
Дефолтовое значение
drop_cr
main
boolean
false
Это - устаревшая опция, которая сейчас не используется. Она использовалась для изменения способа обработки exim`ом символов CR и LF во входящих сообщениях. Что происходит сейчас, описано в разделе 43.2.
Имя
Использование
Тип
Дефолтовое значение
envelope_to_remove
main
boolean
true
Траспорты exim`a имеют опцию для добавления заголовка “Envelope-to:” в сообщение, при его доставке, точно таким же образом, обрабатывается “Return-path:”. “Envelope-to:” - делает запись оригинального адреса получателя, из конверта сообщения, вызвавшего доставку. Такие заголовки не должны присутствовать во входящих сообщениях, и эта опция вызывает их удаление во время получения сообщения, для избежания возможных проблем, если доставленное сообщение впоследствии пересылается другому получателю.
Имя
Использование
Тип
Дефолтовое значение
errors_copy
main
string list†
unset
Установка этой опции заставляет exim посылать копии генерируемых рикошетов по другим адресам. Отметтьте: Это не применяется к рикошетам, приходящим из других мест. Значение опции - список элементов, разделеённый двоеточиями. Каждый элемент содержит паттерн, завершаемый пробелом, сопровождаемый списком почтовых адресов, разделеных запятыми. Если паттерн содержит пробелы, он должен быть заключён в двойные кавычки.
Каждый паттерн обрабатывается также, как единичный пункт в списке адресов (смотрите раздел 10.18). Когда паттерн совпадает с получателем рикошета, сообщение копируется на адреса в списке. Элементы просматриваются по порядку, и как только найдено совпадение, дальнейшие элементы не сравниваются. Например:
Список адресов раскрывается до использования. Переменные раскрытия - “
$local_part
” и “
$domain
” устанавливаются из оригинального получателя сообщения о ошибке, и если был какой-либо подстановочный знак в паттерне, переемнные раскрытия - “
$0
”, “
$1
”, и т.д. устанавливаются обычным способом.
Имя
Использование
Тип
Дефолтовое значение
errors_reply_to
main
string
unset
По умолчанию, в exim`e, предупреждающие сообщения о рикошетах и доставке содержат строку заголовка
From: Mail Delivery System <Mailer-Daemon@qualify-domain>
где “qualify-domain” - значение опции “qualify_domain”. Предупреждеющее сообщение, созданное опцией “quota_warn_message” в транспорте “appendfile”, может содержать его собственный заголовок “From:”, отменяющий значение по умолчанию.
Опыт показывает, что люди отвечают на сообщения о рикошете. Если установлена опция “errors_reply_to”, в предупреждающие сообщения и рикошеты добавляется заголовок “Reply-To:”. например:
Значение этой опции не раскрывается. Оно должно быть правильным адресом, в соответствии с RFC2822. Однако, если предупреждающее сообщение, созданное опцией “quota_warn_message” в транспорте “appendfile”, содержит собственный заголовок “Reply-To:”, значение опции “errors_reply_to” не используется.
Имя
Использование
Тип
Дефолтовое значение
exim_group
main
string
сконфигурировано при компиляции
Эта опция изменяет gid под которым exim работает, после отказа от привилегий суперпользователя. Дефолтовое значение вкомпилено в бинарник. Значение этой опции сипользуется лишь когда, также, задано “exim_user”. Если значение не состоит полностью из цифр, ищется строка, используя “
getgrnam()
”, и ошибка вызывает ошибку конфигурации. Смотрите главу 51, для обсуждения проблем безопасности.
Имя
Использование
Тип
Дефолтовое значение
exim_path
main
string
смотрите ниже
Эта опция определяет путь к бинарному файлу exim`a, который используется когда exim`y надо перезапустить самого себя. Дефолт установлен на файл “exim” в директории, сконфигурированной при компиляции установкой BIN_DIRECTORY. Изменить “exim_path” бывает необходимо, исключительно если нужно запускать exim из другого места. Предупрежедние: не используйте макрос для установки значения этой опции, поскольку вы прервёте те утилиты exim`a, которые сканируют конфигурационный файл для находжения местоположения бинарника. (Тогда они используют опцию “-bP”, для извлечения настройки опции, типа значения “spool_directory”.)
Имя
Использование
Тип
Дефолтовое значение
exim_user
main
string
сконфигурировано при компиляции
Эта опция изменяет uid, под которым работает exim, после отказа от root`овых привилегий. Дефолтовое значение вкомпилено в бинарник. Владелец файла рабочей конфигурации при использование опций командной строки “-C” и “-D” сверяется с бинарником, не с тем что установлено тут.
Если значение не состоит полностью из цифр, ищется строка, используя “
getgrnam()
”, и ошибка вызывает ошибку конфигурации. Если “exim_group” также не установлена, gid берётся из разультата “
getgrnam()
”, если оно используется. Смотрите главу 51, для обсуждения проблем безопасности.
Имя
Использование
Тип
Дефолтовое значение
extra_local_interfaces
main
string list
unset
Эта опция задаёт сетевые интерфейсы, которые нужно считать местными при роутинге, но которые не слушаются даемоном. Смотрите раздел 13.8, для получения дополнительных деталей.
Имя
Использование
Тип
Дефолтовое значение
extract_addresses_remove_arguments
main
boolean
true
Согласно некоторой документации sendmail (SUN, IRIX, HP-UX), если какие-либо адреса представлены в командной строке, когда опция “-t” используется для построения конверта из заголовков сообщения “To:”, “Cc:” и “Bcc:”, адреса командной строки удаляются из списка получателей. Однако, другая документация Sendmail (книга O'Reilly), утверждает, что адреса командной строки добавляются к строкам полученным из заголовков. Когда “extract_addresses_remove_arguments” истинна (по умолчанию), exim вычитает аргументы заголовков. Если она установлена в ложь, exim добавляет, а не удаляет адреса параметров.
Имя
Использование
Тип
Дефолтовое значение
finduser_retries
main
integer
0
В системах, где работает NIS, или другие схемы с использованием информации о пользователях и группах из удалённой системы, могут быть времена, когда “
getpwnam()
” и связанные функции терпят неудачу, даже когда даны достоверные данные, поскольку происходит таймаут. К сожалению, эти отказы не могут быть отличены от подлинной ошибки “not found”. Если “finduser_retries” установлена более чем в ноль, exim будет повторять попытки много раз, для нахождения пользователя или группы, ожидая секунду между повторами.
Вы не должны устанавливать эту опцию более чем в ноль, если ваша пользовательская находится в традиционном файле “/etc/passwd”, поскольку это заставляет exim напрасно искать в файле несуществующих пользователей, и также вызовет задержку.
Имя
Использование
Тип
Дефолтовое значение
freeze_tell
main
список разделенный запятыми
незадано
При столкновении с определёнными ошибками, или когда так сконфигурено в системном фильтре, ACL, или специальном роутере, exim замораживает сообщене. Это означает, что дальнейших попыток не предпринимается, пока администратор не разморозит сообщение, или опции “auto_thaw”, “ignore_bounce_errors_after”, или “timeout_frozen_after” не вызовут их обработку. Если установлена “freeze_tell”, exim генерит предупреждающее сообщение каждый раз, когда что-то замораживает, исключая, если замороженные сообщения - локально созданные рикошеты. (Без этого, есть возможность образования петель.) Предупреждающие сообщения посылаются по адресам, предоставленным как значение этой опции, в виде списка, разделённого запятыми. Если несколько адресов сообщений вызывают заморозку, лишь одно сообщение посылается. Если замораживание было автоматическим, причины замораживания могут быть найдены в логах. Если вы конфигурируете замораживание в фильтре, или ACL, вы можете настроить любое логгирование, какое вам требуется.
Имя
Использование
Тип
Дефолтовое значение
gecos_name
main
string†
unset
Некоторые операционные системы, особенно HP-UX, используют поле “gecos” в системном файле паролей, для хранения иной информации, в дополнение к рельным именам пользователя. Exim ищет эту область для использования при создании заголовков “Sender:” и “From:”. Если “gecos_pattern” или “gecos_name” незаданы, используется неизменное содержимое этого поля, за тем исключением, что при столкновении со знаком “&”, он заменяется логином пользователя с первым заглавным символом, т.к. это - соглашение, соблюдаемое во многих системах.
Когда эти опции установлены, “gecos_pattern” обрабатывается как регулярное выражение, которое должно быть применено к полю (снова с “&” заменяемым именем пользователя), и, если оно совпадает, “gecos_name” раскрывается, и используется как имя пользователя.
Числовые переменные, типа “
$1
”, “
$2
” и т.д., могут использоваться в раскрытии для собирания субполей, которые совпадают с паттерном В HP-UX, где имя пользователя заканчивается в первой запятой, может использоваться следующее:
gecos_pattern = ([^,]*)
gecos_name = $1
Имя
Использование
Тип
Дефолтовое значение
gecos_pattern
main
string
unset
Смотрите выше, опцию “gecos_name”.
Имя
Использование
Тип
Дефолтовое значение
headers_charset
main
string
смотрите ниже
Эта опция задаёт дефолтовую кодировку для трансляции из закодированных MIME “слов”, в строках заголовков, когда ссылаются из раскрытия “
$h_xxx
”. Дефолтовое значение - значение HEADERS_CHARSET в “Local/Makefile”. Окончательное значение по умолчанию - ISO-8859-1. Для дополнительных деталей, смотрите описание вставки заголовков в разделе 11.5.
Имя
Использование
Тип
Дефолтовое значение
header_maxsize
main
integer
смотрите ниже
Эта опция контролирует полный максимальный размер секции заголовков сообщения. Дефолт - значение HEADER_MAXSIZE в “Local/Makefile”; значение по умолчанию - 1M. Сообщения с большим размером заголовков, отклоняются.
Имя
Использование
Тип
Дефолтовое значение
header_line_maxsize
main
integer
0
Эта опция ограничивает длинну любой индивидуальной строки заголовка, после того, как были объединены все продолжения. Сообщения, в которых отдельные строки длиннее этого ограничения, отклоняются. Значение по умолчанию - ноль, означающее “нет ограничений”.
Имя
Использование
Тип
Дефолтовое значение
helo_accept_junk_hosts
main
host list†
незадана
Exim проверяет синтаксис команд HELO и EHLO, для входящей SMTP почты, и выдаёт ошибочный ответ для недопустимых данных. К сожалению, есть SMTP-клиенты, посылающие синтаксических хлам. Они могут быть обработаны, путём установки этой опции. Отметтьте - что это лишь синтаксическая проверка. Смотрите “helo_verify_hosts”, если вам необходимо провести и семантическую проверку. Также смотрите “helo_allow_chars”, для возможности расширить набор разрешённых символов.
Имя
Использование
Тип
Дефолтовое значение
helo_allow_chars
main
string
незадана
В этой опции могут быть установлены запрещённые символы, которые будут разрешены во всех HELO и EHLO именах, в дополнение к стандартным буквам, цифрам, дефисам и точкам. Если вам реально необходимо разрешить символы подчёркивания, вы можете усановить:
helo_allow_chars = _
Отметтьте, что значение - одна строка, а не список.
Имя
Использование
Тип
Дефолтовое значение
helo_lookup_domains
main
domain list†
@:@[]
Если домен, данный клиентом в команде HELO или EHLO совпадает с этим списком, производится обратный поиск, для установления истинного имени хоста. Дефолтовое значение вызывает поиск, если клиентом даётся имя сервера, или любой из его IP-адресов (в скобках), что, как замечено, делают кривые клиенты.
Имя
Использование
Тип
Дефолтовое значение
helo_try_verify_hosts
main
host list†
незадано
По умолчанию, exim лишь проверяет синтаксис команд HELO и EHLO (смотрите “helo_accept_junk_hosts” и “helo_allow_chars”). Однако, некоторые домены любят делать более расширенную проверку данных, предоставленных этими командами. Условие ACL “verify = helo” предоставляется, для возможности это сделать. Прежде, также было необходимо установить эту опцию (“helo_try_verify_hosts”) для принудительной проверки. Начиная с релиза 4.53, это более не требуется. Если проверка не была сделана до встречи с “verify = helo”, она делается в момент встречи. Следовательно, эта опция является устаревшей. Её спецификация, здесь, сохранена для совместимости.
При получении команды HELO или EHLO, если вызывающий хост соответствует “helo_try_verify_hosts”, exim проверяет что имя хоста, данное в команде HELO или EHLO, также:
является IP-литералом, совпадающим с адресом вызывающего хоста, или
совпадает с именем хоста, которое exim получает, произведя обратный поиск адреса вызывающего хоста, или
когда поиск путём “
gethostbyname()
” (или “
getipnodebyname()
”, когда доступна) приводит к адресу вызывающего хоста.
Однако, команда 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-адреса, а не имена хостов). Дефолтовый конфигурационный файл содержит
host_lookup = *
что вызывает поиск для всех хостов. Если накладные расходы на этот поиск очень велики, установка может быть изменена, или удалена.
После успешного обратного поиска, 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). Для примера, если
не будет заставлять добавлять заголовок “Sender:”, если “[email protected]” фактически соответствует адресу отправителя, созданному из имени логина и квалификационного домена.
Имя
Использование
Тип
Дефолтовое значение
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`a, обычно, уникальны только в пределах локального хоста. Если требуется уникальность среди ряда хостов, на каждом хосте необходимо установить различное значение для опции “localhost_number”. Строка раскрывается немедленно после чтения конфигурационного файла (таким образом, чтобы число могло быть вычислено из имени хоста, например), и результат раскрытия должен быть числом в диапазоне 0-16 (или 0-10, если файловая система нечувствительна к регистру букв). Это доступно в последующих раскрытиях строк через переменную “
$localhost_number
”. Когда “localhost_number” установлена, два финальных символа идентификатора сообщения, вместо того, чтобы просто быть дробной частью от времени, вычисляются из времени и номера локального хоста, как описано в разделе 3.4.
Имя
Использование
Тип
Дефолтовое значение
log_file_path
main
string list†
устанавливается при компиляции
Эта опция устанавливает путь, используемый для определения имён лог-файлов exim`a, или индикации что логгинг осуществляется через syslog, или и того и другого. Это раскрывается при входе exim`a, и она может, например, содержать ссылку на имя хоста. Если путь для ведения логов не установлен при компиляции или в рабочей конфигурации, они пишутся в субдиректорию, называемую “log”, в директории спула exim`a. Раздел 48 содержит дальнейшие детали о логгинге exim`a, и раздел 48.1 описывает, как используется содержимое “log_file_path”. Если эта строка установлена при инсталляции (не содержит никаких раскрываемых переменных), рекомендуется, чтобы вы не станавливали эту опцию в файле конфигурации, но предоставляли путь, используя LOG_FILE_PATH в “Local/Makefile”, чтобы она сразу была доступна exim`y для логгинга ошибок, в частности ошибок чтения конфигурационного файла.
Имя
Использование
Тип
Дефолтовое значение
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, вы должны уменьшить (непонял, по идее, надо увеличить же? - прим. lissyara) значение “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 создаёт если локально сгенерённое сообщение его не имеет. Текст этого заголовка требуется согласно RFC2822, для принятия формы адреса. По дефолту, exim использует его внутренние идентификаторы сообщений как локальную часть, и превичное имя хоста как домен. Если эта опция задана, она раскрывается, и если раскрытие не было неудачным, и не привело к пустой строке, результат вставляется в заголовок непосредственно до “@”, отделяясь от внутреннего идентификатора точкой. Любые символы, которые недопустимы в адресах, автоматически преобразуются в дефисы. Это означает, что могут использоваться переменные типа “
$tod_log
”, поскольку все пробелы и двоеточия станут дефисами
Имя
Использование
Тип
Дефолтовое значение
message_logs
main
boolean
true
Если эта опция выключена, логи на каждое сообщение не создаются в субдиректории спула “msglog”. Это уменьшает дисковый ввод-вывод, требуемый exim`y, уменьшает число файлов вовлечённых в обработку сообщенияот минимум четырёх (заголовок в файле спула, тело в файле спула, журнал доставки, и лог на каждое сообщение) до трёх. Другая причина активности ввода-вывода - главный лог-файл exim`a, не затрагиваемый этой опцией.
Имя
Использование
Тип
Дефолтовое значение
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`e или стандартных утилитах нет поддержки, для обработки таких сообщений, и они не показывются в списках сгенерённых опцией “-bp”, или монитором exim`a.
Имя
Использование
Тип
Дефолтовое значение
mua_wrapper
main
boolean
false
Установка этой опции в истину заставляет exim выполняться в очень ограниченном режиме, в котором он передаёт сообщения синхронно, на интелектуальный хост. Раздел 47 содержит полное описание этого средства.
Имя
Использование
Тип
Дефолтовое значение
mysql_servers
main
string list
незадана
Эта опция предоставляет список MySQL серверов, и ассоциированных данных подключения, для использования с поиском “mysql” (смотрите раздел 9.20). Опция доступна только если exim собран с поддержкой MySQL.
Имя
Использование
Тип
Дефолтовое значение
never_users
main
string list†
незадана
Эта опция раскрывается лишь раз, в начале старта процесса exim`a. Локальные доставки сообщений, обычно, в процессах, выполняющихся от получателя, и удалённые доставки, обычно, работают под uid и gid exim`a. Из предосторожности, следует избегать любых доставок производимых от пользователя root.
При сборке exim`a, опция с именем 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 адрес, с процентом, заменённым “@”. Иногда, это называют маршрутизацией источника, хотя этот термин также применим к адресам RFC2822, начинающимся с символа “@”. Если эта опция задана, exim применяет феню с процентом для перечисленных доменов, но не для других. Это происходит до проверки SMTP-адреса при помощи ACL. Предупреждение: “percent hack” часто используется людьми, пробующими обойти ограничения релеинга. Поэтому, лучше его избегать, если это возможно. К сожалению, много MTA не заботящихся о безопасности, применяют его безоговорочно. Если вы используете exim на межсетевом хосте, и роутите почту к внутреннему MTA, без обработки локальной части, то хорошей идеей будет отклонить адреса получателей с символами процента в локальной части. Дефолтовая конфигурация exim`a так и делает.
Имя
Использование
Тип
Дефолтовое значение
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`a записывает свой pid процесса. Строка раскрывается, таким образом она может содержать ссылку на имя хоста:
Если путь не задан, pid пишется в файл “exim-daemon.pid” в директории спула exim`a. Значение установленное опцией может быть перезадано путём опции командной строки “-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`a. Возможность задать имя явно может быть полезной в окружении где запущены два различных exim`a, используя различные директории spool`a.
Имя
Использование
Тип
Дефолтовое значение
prod_requires_admin
main
boolean
true
Опции командной строки “-M”, “-R” и “-q” требуют, чтобы вызывающий был административным пользователем, если опция “prod_requires_admin” не установлена в ложь. Смотрите также “queue_list_requires_admin”.
Имя
Использование
Тип
Дефолтовое значение
qualify_domain
main
string
смотрите ниже
Эта опция определяет имя домена, которое добавляется к любому алресу отправителя конверта, не имеющему доменной части. Также она применяется к адресам получателей, если не установлена опция “qualify_recipient”. Дисквалифицированые (без доменной части - прим. lissyara) адреса, по умолчанию, принимаются только для сгенерённых локально сообщений. Квалификация, также, применяется к адресам в строках заголовков, типа “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†
незадана
Эта опция - список доменов, для которых немедленная доставка не требуется. Процесс доставки начинается при получении каждого сообщения, но обрабатываются лишь те домены, которые не соответствуют (этой опции, видимо - прим. lissyara). Все иные доставки ждут следующего запуска очереди. Смотрите также “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`a может выполнять однвоременно. Это не значит, что он запускает их одновременно, а скорее, что если всё ещё работает максимальное число, когда приходит время запускать другой, он задерживает старт следующего. Это может случиться с очень большими очередями, и/или с очень медленными доставками. Однако, эта опция не блокирует другие процессы, таким образом дополнительные обработчики очереди могут быть запущены другими средствами, или уничтожением и перезапуском даемона.
Установка этой опции в ноль не подавляет выполнение очереди; вместо этого, это отключает лимит, разрешая выполняться любому числу одновременных процессов обработчика очереди. Если вы не хотите чтобы обработки очереди пересекались, опустите опцию “-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:”, и соответствовать спецификации RFC2822 для строк заголовка “Received:”. Значение по умолчанию:
Ссылка на шифрование 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 <[email protected]>)
id 16IOWa-00019l-
00
for [email protected]; 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`a. Поскольку exim не имеет центрального менеджера очереди, нет способа управлять общим числом одновременных доставок, если конфигурация позволяет попытку доставки сразу после получения сообщения.
Если вы хотите контролировать общее число доставок на систему, вам необходимо установить опцию “queue_only”. Это гарантирует, что все входящие сообщения сановятся в очередь, без запуска процесса доставки. Затем, настройте даемон exim`a на запуск процесса обработчика очереди в соответствующих интервалах (скорей всего часто, например, раз в минуту), и ограничьте общее чило обработчиков очереди путём установки параметра “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`a. Любые более старые данные повторов - игнорируются. Таким образом, это значит, что, например, если хост не был проверен в течение 7 дней, exim ведёт себя так, будто прошлых неудач не было.
Имя
Использование
Тип
Дефолтовое значение
retry_interval_max
main
time
24h
Раздел 32 описывает механизмы exim`a, для контроля интервалов между попытками доставки сообщения, которое не может быть доставлено немедленно. Эта опция устанавливает полный предел временного отрезка между повторами. Она не может быть установлена более 24 часов; любая попытка так сделать приведёт к значению по умолчанию.
Имя
Использование
Тип
Дефолтовое значение
return_path_remove
main
boolean
истина
RFC2821, секция 4.4, заявляет, что сервер SMTP должен вставить строку заголовка “Return-path:” в сообщение, когда он совершает “финальную доставку”. Заголовок “Return-path:” сохраняет адрес отправителя, как он был передан в команде MAIL. Это описание подразумевает, что этот заголовок не должен присутствовать во входящих сообщениях. Если опция “return_path_remove” истинна, любой существующий заголовок “Return-path:” удаляется из сообщения при его приёме. Транспорты exim`a имеют опции для добавления заголовка “Return-path:” во время доставки. Обычно они используются только для заключительных локальных доставок.
Имя
Использование
Тип
Дефолтовое значение
return_size_limit
main
integer
100K
Эта опция - устаревший синоним для “bounce_return_size_limit”.
Имя
Использование
Тип
Дефолтовое значение
rfc1413_hosts
main
host list†
*
Идентификационные запросы RFC1413, производимые к любому клентскому хосту, который совпадает с элементом в списке.
Имя
Использование
Тип
Дефолтовое значение
rfc1413_query_timeout
main
time
5s
Эта опция устанавливает таймаут для идентификационных вызовов RFC1413. Если она установлена в ноль, вызовы RFC1413 не производятся.
Имя
Использование
Тип
Дефолтовое значение
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 занимает несколько часов lzk обнаружения недостижимых хостов.
Имя
Использование
Тип
Дефолтовое значение
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`a. Опция раскрывается, для обнаружения различных ограничений применяемых к различным хостам, по “
$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`a при перезапуске сервера после простоя, и есть много почты ожидающей его на других системах. На больших системах, значение по умолчанию вероятно, должно быть увеличено, и на системах с дозвоном по делефону (модему), оно, вероятно, должно быть равно нулю (т.е. - отключено).
Имя
Использование
Тип
Дефолтовое значение
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 - лучше не перевёл - прим. lissyara) серверов, которые могут выдавать себя за несколько различных хостов. В начале SMTP соединения, это значение раскрывается, и используется в SMTP-ответах, вместо значения “
$primary_hostname
”. Например, это используется как имя домена в ответ на входящую команду HELO или EHLO.
Также это используется в командах HELO, для проверки обратным вызовом. Активное имя хоста помещается в переменную “
$smtp_active_hostname
”, которая сохраняется с любыми полученными сообщениями. Поэтому она доступна для использования в роутерах и транспортах, когда сообщение доставляется позднее.
Если эта опция незаданна, или раскрытие принудительно неудачно, или раскрытие вернуло пустую строку, используется значение “
$primary_hostname
”. Другие ошибки раскрытия вызывают запись сообщения в главный лог и лог паники, и SMTP-командой передаётся временная ошибка. Обычно, значение “smtp_active_hostname” зависит от адреса интерфейса, с которого идёт сообщение. Например:
Эта строка, которая раскрывается каждый раз при использовании, выводится как начальный положительный ответ на SMTP подключение. Значение по умолчанию такое:
Ошибка раскрытия строки вызывает пническую ошибку. Если вы хотите создать многостроковую ответ на начальное 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 защищает от этого, путём отклонения сообщения, если клиент посылал будущий ввод (команды - прим. lissyara), когда этого не должно было быть.Посылается ответ о ошибке “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, и проверок её синтаксиса не производится. Например:
Для запуска команды создаётся новый процесс, но 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`e, тут разрешены цифры с десятичными дробными частями.
Фактор, по которому каждый раз увеличивается время задержки.
Максимальное значение для задержки. Оно, обычно, должно быть менее пяти минут, поскольку после этого времени, клиент подвергает SMTP-команду таймауту.
Например, эти установки успешно использовались на сервере, который первым предложил эту деталь, для контролирования почты от клиентов:
Первая установка определяет задержки, применяемые к командам 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: <[email protected]
Имя
Использование
Тип
Дефолтовое значение
spamd_address
main
string
смотрите ниже
Эта опция доступна лишь если exim собран с поддержкой расширения контентного сканирования. Этим определяется, как exim коннектится к даемону SpamAssassin`a. Дефолтовое значение:
127
.
0
.
0
.
1
783
Для получения дополнительных деталей, смотрите раздел 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`a без использования стандартного спула.
Имя
Использование
Тип
Дефолтовое значение
sqlite_lock_timeout
main
time
5s
Эта опция контролирует таймаут, который используется поисками “sqlite”, когда пытаются обратиться к БД SQLite. Для получения дополнительных деталей, смотрите раздел 9.24.
Имя
Использование
Тип
Дефолтовое значение
strip_excess_angle_brackets
main
boolean
ложь
Если эта опция задана, из элемента адреса “route-addr”, удаляются избыточные пары угловых скобок. Например, <<[email protected]>> обрабатывается как <[email protected]>. Если это в конверте, и сообщение передаётся другому 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`a смотрите раздел 48.
Имя
Использование
Тип
Дефолтовое значение
syslog_processname
main
string
exim
эта опция устанавливает имя “ident” syslog`a, используемое когда exim пишет логи в syslog. Значение может быть не более 32-х символов. Для дополнительных деталей о логгинге exim`a смотрите раздел 48.
Имя
Использование
Тип
Дефолтовое значение
syslog_timestamp
main
boolean
истина
Если опция “syslog_timestamp” установлена в ложь, штампы времени в строках логов exim`a опущены, когда эти строки посылаются в syslog. Для дополнительных деталей о логгинге exim`a смотрите раздел 48.
Имя
Использование
Тип
Дефолтовое значение
system_filter
main
string†
незадана
Эта опция определяет фильтр exim`a, применяемый ко всем сообщениям в начале каждой попытки доставки, до завершения любого роутинга. Системные фильтры должны быть фильтрами exim`a; они не могут быть фильтрами 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
незадана
Если эта опция незадана, системный фильтр работает d главном процессе доставки exim, как root. Когда эта опция установлена, системный фильтр работает в отдельном процессе, под заданным пользователем. Если строка не состоит полностью из цифр, она ищется в БД паролей. Ошибка нахождения имени пользователя вызывает конфигурационную ошибку. Идентификатор группы - gid, или берётся из занных БД паролей, или определяется опцией “system_filter_group”. Когда uid задан в цифровом виде, “system_filter_group” должна быть установлена.
Если системный фильтр генерит доставку “pipe”, “file”, или “reply”, для транспортировки используется uid под которым работает системный фильтр, если опции транспотра не переопределяют этого. Обычно, вам необходимо устанавливать “system_filter_user” если системный фильтр производит эти виды доставок.
Имя
Использование
Тип
Дефолтовое значение
tcp_nodelay
main
boolean
истина
Если эта опция установлена в ложь, это останавливает настройку опции TCP_NODELAY, даемона exim`a, на слушаемых сокетах. Установка TCP_NODELAY выключает “Nagle algorithm”, являющийся способом улучшить сетевую производительность в интерактивных (познаковых) ситуациях. Выключение его, должно немного улучшить работосопособность exim`a, таким образом, это и установлено по умолчанию. Однако, выявляются некоторые кривые клиенты, с которыми невозможно совладать, и происходит таймаут. Поэтому присутствует эта опция. Она имеет эффект только на те сокеты, которые установлены для слушающего даемона. Сокеты создаваемые транспортом smtp для доставки почты, всегда устанавливают TCP_NODELAY.
Имя
Использование
Тип
Дефолтовое значение
timeout_frozen_after
main
time
0s
Если опция “timeout_frozen_after” установлена во время большее нуля, замороженные сообщения любого вида, которые находятся в очереди больше данного времени, автоматически отменяются в следующую работу очереди. Если это рикошеты, они просто удаляются; иначе, отправителю посылается рикошет, в манере, подобной отмене опцией командной строки “-Mg”. Если вы хотите сделать таймаут замороженных рикошетов меньше, чем других видов замороженных сообщений, смотрите опцию “ignore_bounce_errors_after”.
Имя
Использование
Тип
Дефолтовое значение
timezone
main
string
незадана
Значение опции “timezone” используется для установки переменной окружения TZ, при работе exim`a (если она отличается от той, что была при входе). Это гарантирует, что все штампы времени, созданные exim`ом, находятся в нужном часовом поясе. Если вы хотите, чтобы все штампы времени были в UTC (т.е. - GMT), вы должны установить
timezone = UTC
Дефолтовое значение берётся из TIMEZONE_DEFAULT в “Local/Makefile”, или, если оно не задано, из значения переменной окружения TZ, при сборке exim`a. Если “timezone” установлено в пустую строку, или строится при выполнении, любая существующая переменная TZ удаляется из переменных окружения, при работе exim`a. Это соответствующее поведение для получения текущегов ремени на некоторых, но к сожалению не на всех, операционных системах.
Имя
Использование
Тип
Дефолтовое значение
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`a. Если она задана, доверенным является любой процесс, работающий в одной из перечисленных групп, или у которого одна из них является дополнительной. Группы могут быть заданы в цифровой форме, или по именам. Смотрите раздел 5.2, для получения дополнительной информации о том, что разрешено делать вызывающим доверенным группам. Если не установлены ни “trusted_groups”, ни “trusted_users”, доверие будет лишь к root и пользователю exim`a.
Имя
Использование
Тип
Дефолтовое значение
trusted_users
main
string list†
незадана
Эта опция раскрывается лишь один раз, при старте процесса exim`a. Если она задана, доверенным является любой процесс, работающий под перечисленным пользователем. Пользователи могут быть заданы в цифровой форме, или по именам. Смотрите раздел 5.2, для получения дополнительной информации о том, что разрешено делать вызывающим доверенным пользователям. Если не установлены ни “trusted_groups”, ни “trusted_users”, доверие будет лишь к root и пользователю exim`a.
Имя
Использование
Тип
Дефолтовое значение
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`y используя стандартный ввод, exim, обычно, создаёт адрес отправителя конверта из логина пользователя и дефолтового квалификационного домена. Данные из опции “-f” (для установки отправителей конверта не-SMTP сообщений) или команды SMTP MAIL (если используются “-bs” или “-bS”), игнорируются.
Однако, недоверенным пользователям разрешено устанавливать пустой адрес конверта, для объявления, что сообщение никогда не должно генерить рикошетов. Например:
Опция “untrusted_set_sender” разрешает вам позволить недоверенным пользователям устанавливать иного отправителя конверта, управляемым способом. Когда она установлена, недоверенным пользователям разрешено устанавливать адрес отправителя конверта, который совпадает с любым паттерном в этом списке. Как и все списки адресов, строка раскрывается. Идентичность пользователя находится в “
$sender_ident
”, таким образом, вы можете, например, ограничить пользователей установкой отправителей начинающихся с их логинов, сопровождаемых дефисом, путём установки похожей на эту:
untrusted_set_sender = ^$sender_ident-
Если вы хотите разрешить недоверенным пользователям без ограничений устанавливать адрес отправителя конверта, вы можете использовать:
untrusted_set_sender = *
Опция “untrusted_set_sender” применяется ко всем формам локального воода, но лишь к установке отправителя конверта. Она не позволяет недоверенным пользователям устанавливать иные опции, которые доверенные пользователи могут использовать для переопределения параметров сообщений. Кроме этого, она не мешает exim`y удалить из сообщения существующий заголовок “Sender:”, или добавить заголовок “Sender:”, если имеется необходимость. Смотрите опции “local_sender_retain” и “local_from_check”, для способов перезадания этих действий. Обработка заголовка “Sender:” также описана в разделе 43.16.
Строки логов, для прибывших сообщений, показывают отправителя конверта сопровождаемого “<=”. Для локальных сообщений, логин пользователя всегда показан, после “U=”. В отображении “-bp”, и в мониторе exim`a, если недоверенный пользователь устанавливает адрес отправителя конверта, логин пользователя показан, в круглых скобках, после адреса отправителя.
Имя
Использование
Тип
Дефолтовое значение
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 пишет в свои логи.