Перевод выполнен Алексеем Паутовым в рамках
некоммерческого проекта RussianLDP
(http://www.rldp.ru/). Именно на этом сайте
и надлежит искать новые версии, если таковые будут.
14. Главная конфигурация
Первая часть файла рабочей конфигурации содержит три типа элементов:
- Макроопределения: Эти строки начинаются с символа в верхнем регистре.
Смотрите раздел 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
- mua_wrapper работать в режиме MUA wrapper
- print_topbitchars печатать символы верхних битов
- timezone принудительная установка часового пояса
14.2. Параметры exim
- exim_group переопределяет вкомпилированное значение
- exim_path переопределяет вкомпилированное значение
- exim_user переопределяет вкомпилированное значение
- primary_hostname умолчание из uname()
- split_spool_directory использовать много каталогов
- spool_directory переопределяет вкомпилированное значение
14.3. Настройки привелегий
- admin_groups не протоколировать подключения
- deliver_drop_privilege отказ от root прав при доставке
- local_from_check вставлять Sender:, если необходимо
- local_from_prefix для проверки From:
для локального отправителя
- local_from_suffix для проверки From:
для локального отправителя
- local_sender_retain оставлять Sender:
для недоверенных пользователей
- never_users не запускать доставки под этими пользователями
- prod_requires_admin принудительная доставка
требует административного пользователя
- queue_list_requires_admin листинг очереди
требует административного пользователя
- trusted_groups группы, которым доверяют
- trusted_users пользователи, которым доверяют
14.4. Протоколирование
- hosts_connection_nolog не протоколировать соединения
- log_file_path переопределяет вкомпилированные значения
- log_selector установить/сбросить опциональное протоколирование
- log_timezone добавлять в строки протоколов временную зону
- message_logs создавать протоколы для каждого сообщения
- preserve_message_logs оставлять протоколы каждого
сообщения после обработки
- process_log_path для SIGUSR1 и exiwhat
- syslog_duplication контролировать повторяющиеся
строки протоколов в syslog
- syslog_facility установка поля facility в syslog
- syslog_processname установка поля ident в syslog
- syslog_timestamp временная метка в строках syslog
- write_rejectlog контролирует использование протокола сообщений
14.5. Замороженные сообщения
- auto_thaw устанавливает время повтора
для замороженного сообщения
- freeze_tell посылка сообщения, когда происходит заморозка
- move_frozen_messages в другой каталог
- timeout_frozen_after как долго хранить замороженные сообщения
14.6. Поиск данных
- ldap_default_servers используется,
если нет сервера в запросе
- ldap_version устанавливает версию протокола
- lookup_open_max сколько файлов держать открытыми
- mysql_servers смысл соответствует названию опции
- oracle_servers смысл соответствует названию опции
- pgsql_servers смысл соответствует названию опции
- sqlite_lock_timeout смысл соответствует названию опции
14.7. Идентификаторы сообщений
- message_id_header_domain используется для построения
заголовка Message-ID:
- message_id_header_text смысл соответствует названию опции
14.8. Запуск встроенного perl
- perl_at_start всегда запускать интерпретатор
- perl_startup код для выполнения при запуске perl
14.9. Демон
- daemon_smtp_ports порты по умолчанию
- daemon_startup_retries число повторов при неудачном запуске
- daemon_startup_sleep время ожидания между повторными запусками
- extra_local_interfaces какие интерфейсы необязательно слушать
- local_interfaces какие интерфейсы слушать с
опциональным номером порта
- pid_file_path перезадаёт вкомпилированное значение
- queue_run_max
максимальное число одновременных обработчиков очереди
14.10. Контроль ресурсов
- check_log_inodes до приёма сообщения
- check_log_space до приёма сообщения
- check_spool_inodes до приёма сообщения
- check_spool_space до приёма сообщения
- deliver_queue_load_max не обрабатывать очередь
при высокой загрузке
- queue_only_load при высокой загрузке входящие сообщения
только класть в очередь
- queue_run_max максимальное число
одновременных обработчиков очереди
- remote_max_parallel параллельных SMTP-доставок на сообщение
- smtp_accept_max одновременных входящих соединений
- smtp_accept_max_nommail не почтовых команд
- smtp_accept_max_nonmail_hosts
хосты, к которым применяются ограничения
- smtp_accept_max_per_connection сообщений за соединение
- smtp_accept_max_per_host соединений с одного хоста
- smtp_accept_queue при большом числе соединений класть сообщения в
очередь, а не доставлять
- smtp_accept_queue_per_connection класть в очередь при большом
числе сообщений за одно соединение
- smtp_accept_reserve принимать только от зарезервированных
хостов, если много соединений
- smtp_check_spool_space проверять свободное место, исходя из
SIZE в команде MAIL
- smtp_connect_backlog передаётся стеку TCP/IP
- smtp_load_reserve SMTP с зарезервированных хостов
при высокой загрузке
- smtp_reserve_hosts список зарезервированных хостов
14.11. Управление политиками
- acl_not_smtp ACL для не-SMTP сообщений
- acl_not_smtp_mime ACL для не-SMTP частей MIME
- acl_smtp_auth ACL для AUTH
- acl_smtp_connect ACL для соединений
- acl_smtp_data ACL для DATA
- acl_smtp_etrn ACL для ERTN
- acl_smtp_expn ACL для EXPN
- acl_smtp_helo ACL для HELO или EHLO
- acl_smtp_mail ACL для MAIL
- acl_smtp_mailauth ACL для команды AUTH в команде MAIL
- acl_smtp_mime ACL для чaстей MIME
- acl_smtp_predata ACL для начала данных
- acl_smtp_quit ACL для QUIT
- acl_smtp_rcpt ACL для RCPT
- acl_smtp_starttls ACL для STARTTLS
- acl_smtp_vrfy ACL для VRFY
- av_scanner определяет сканер вирусов
- check_rfc2047_length проверяет длину закодированных
слов (по RFC 2047)
- dns_csa_search_limit контролирует вложенность поисков CSA
- dns_csa_use_reverse включение/выключение реверсивных
поисков IP CSA
- header_maxsize полный размер заголовка сообщения
- header_line_maxsize ограничения строки одного заголовка
- helo_accept_junk_hosts позволить синтаксические ошибки
для этих хостов
- helo_allow_chars разрешить неправильные символы в HELO
- helo_lookup_domains искать имя хоста для этих имён в HELO
- helo_try_verify_hosts мягкая проверка HELO для этих хостов
- helo_verify_hosts жёсткая проверка HELO для этих хостов
- host_lookup искать имя хоста в DNS для этих хостов
- host_lookup_order порядок поиска имён в DNS и локально
- host_reject_connection отклонить соединения с этих хостов
- hosts_treat_as_local полезно для некоторых кластерных конфигураций
- local_scan_timeout таймаут для local_scan()
- message_size_limit для всех сообщений
- percent_hack_domains распознавать %-хак для этих доменов
- spamd_address указать интерфейс к SpamAssassin
14.12. Кэш обратных вызовов
- callout_domain_negative_expire
таймаут для элементов негативного кэша доменов
- callout_domain_positive_expire таймаут для элементов
позитивного кэша доменов
- callout_negative_expire таймаут для элементов
негативного кэша адресов
- callout_positive_expire таймаут для элементов
позитивного кэша адресов
- callout_random_local_part строка используемая
для случайного тестирования
14.13. TLS
tls_advertise_hosts информировать о TLS эти хосты
tls_certificate расположение сертификата сервера
tls_crl список аннулированых сертификатов
tls_dhparam параметры DH для сервера
tls_on_connect_ports задание порта SSMTP (SMTPS)
tls_privatekey расположение приватного ключа сервера
tls_remember_esmtp не сбрасывать после начала TLS
tls_require_ciphers определить разрешённые цифры
tls_try_verify_hosts пробовать проверить сертификаты клиента
tls_verify_certificates ожидаемые сертификаты клиентов
tls_verify_hosts обязательная проверка сертификатов клиента
14.14.
Локальная обработка пользователей
- finduser_retries полезна в окружении NIS
- gecos_name используется при создании Sender:
- gecos_pattern смысл соответствует названию опции
- max_username_length для систем, укорачивающих имена
- unknown_login используется, когда не найден логин
- unknown_username смысл соответствует названию опции
- uucp_from_pattern для распознания строк From
- uucp_from_sender смысл соответствует названию опции
14.15. Все входящие сообщения (SMTP и не-SMTP)
- header_maxsize полный размер заголовка сообщения
- header_line_maxsize ограничение отдельной строки заголовка
- message_size_limit применяется ко всем сообщениям
- percent_hack_domains распознавать %-хак для этих доменов
- received_header_text раскрывать для создания Received:
- received_headers_max для детектирования зациклиания почты
- recipients_max ограничение на сообщение
- recipients_max_reject отклонять сообщения, у которых
слишком много получателей
14.16.
Входящие не-SMTP сообщения
- receive_timeout для не-SMTP сообщений
14.17. Входящие SMTP сообщения
Также смотрите выше раздел Управление политиками.
- host_lookup поиск имени хоста для этих хостов
- host_lookup_order порядок поиска имени в DNS и локально
- recipient_unqualified_hosts может
слать с неквалифицированным получателем
- rfc1413_hosts создаёт вызов ident к этим хостам
- rfc1413_query_timeout ноль отключает вызовы ident
- sender_unqualified_hosts может
слать с неквалифицированным отправителем
- smtp_accept_keepalive немного магии TCP/IP
- smtp_accept_max число одновременных входящих соединений
- smtp_accept_max_nonmail количество не почтовых команд
- smtp_accept_max_nonmail_hosts хосты,
к которым применяются ограничения
- smtp_accept_max_per_connection сообщений через соединение
- smtp_accept_max_per_host соединений с одного хоста
- smtp_accept_queue оставлять в очереди, если много соединений
- smtp_accept_queue_per_connection оставлять в очереди, если
много сообщений в соединении
- smtp_accept_reserve только зарезервированные хосты,
если много соединений
- smtp_active_hostname имя хоста для использования в сообщении
- smtp_banner текст для приветственного баннера
- smtp_check_spool_space сведения из SIZE в команде MAIL
- smtp_connect_backlog передаётся стеку TCP/IP
- smtp_enforce_sync синхронизация SMTP команд/ответов
- smtp_etrn_command что запускать для ETRN
- smtp_etrn_serialize лишь один одновременно
- smtp_load_reserve только зарезервированные хосты,
если такая загрузка
- smtp_max_unknown_commands до разрыва соединения
- smtp_ratelimit_hosts применять ограничения частоты
для этих хостов
- smtp_ratelimit_mail ограничения частоты для команд MAIL
- smtp_ratelimit_rcpt ограничения частоты для команд RCPT
- smtp_receive_timeout для команды или строки данных
- smtp_reserve_hosts список зарезервированных хостов
- smtp_return_error_details выдавать детали об отклонении
14.18. Расширения SMTP
- accept_8bitmime информировать о 8BITMIME
- auth_advertise_hosts информировать эти хосты об AUTH
- ignore_fromline_hosts разрешить From для этих хостов
- ignore_fromline_local разрешить From для локальных SMTP
- pipelining_advertise_hosts информировать эти
хосты о конвейерной обработке
- tls_advertise_hosts информировать эти хосты о TLS
14.19. Обработка сообщений
- allow_domain_literals распознавать
синтаксис доменных литералов
- allow_mx_to_ip разрешить MX указывать на IP-адрес
- allow_utf8_domains в адресе
- check_rfc2047_length проверяет длину закодированных
слов (по RFC 2047)
- delivery_date_remove из входящих сообщений
- envelope_to_remote из входящих сообщений
- extract_addresses_remove_arguments затрагивает обработку -t
- headers_charset значение по умолчанию для переводов
- qualify_domain значение по умолчанию для отправителей
- qualify_recipient значение по умолчанию для получателей
- return_path_remove из входящих сообщений
- strip_excess_angle_brackets в адресах
- strip_trailing_dot в конце адресов
- untrusted_set_sender недоверенные могут
устанавливать отправителя конверта
14.20. Системный фильтр
- system_filter расположение системного фильтра
- system_filter_directory_transport
транспорт для доставки в каталог
- system_filter_file_transport транспорт для доставки в файл
- system_filter_group группа, от которой работает фильтр
- system_filter_pipe_transport транспорт для доставки в канал
- system_filter_reply_transport транспорт для доставки автоответа
- system_filter_user пользователь, от которого
работает системный фильтр
14.21. Маршрутизация и доставка
- disable_ipv6 не обрабатывать IPv6
- dns_again_means_nonexist для битых доменов
- dns_check_names_pattern предварительная синтаксическая проверка DNS
- dns_ipv4_lookup для этих доменов поиск только v4
- dns_retrans параметр для ресолвера
- dns_retry параметр для ресолвера
- hold_domains задержать доставку для этих доменов
- local_interfaces для проверок роутинга
- queue_domains нет немедленной доставки для этих доменов
- queue_only нет немедленной доставки для всех
- queue_only_file нет немедленной доставки, если файл существует
- queue_only_load нет немедленной доставки, если высокая загрузка
- queue_only_override позволить отменять из командной строки
- queue_run_in_order порядок доставки
- queue_run_max одновременных обработчиков очереди
- queue_smtp_domains нет немедленной SMTP-доставки для этих доменов
- remote_max_parallel параллельных SMTP-доставок на сообщение
- remote_sort_domains порядок удалённых доставок
- retry_data_expire таймаут для данных повторов
- retry_interval_max безопасная сеть для правил повторов
14.22.
Рикошеты и предупрждающие сообщения
- bounce_message_file содержимое рикошета
- bounce_message_text содержимое рикошета
- bounce_return_body включать тело, если сообщение возвращается
- bounce_return_message включать оригинальное сообщение в рикошет
- bounce_return_size_limit ограничение на возвращаемые сообщения
- bounce_sender_authentication посылать
аутентифицированному отправителю с рикошетом
- errors_copy копировать рикошеты
- errors_reply_to Reply-to: в рикошетах
- delay_warning планирование времени
- delay_warning_condition условие для предупреждающих сообщений
- ignore_bounce_errors_after уничтожать недоставленные рикошеты
- 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 |
не задана |
Эта опция определяет ACL, выполняемый до начала
приёма не-SMTP-сообщения. Для дополнительных деталей смотрите
раздел 39.
Имя |
Использование |
Тип |
Значение по умолчанию |
acl_not_smtp_mime |
main | string |
не задана |
Эта опция определяет ACL, выполняемый для
индивидуальных частей MIME не-SMTP-сообщений. Она работает таким же
образом, как и acl_smtp_mime для SMTP-сообщений.
Имя |
Использование |
Тип |
Значение по умолчанию |
acl_smtp_auth |
main | string |
не задана |
Эта опция определяет ACL, выполняемую при
получении команды SMTP AUTH. Для дополнительных деталей смотрите раздел
39.
Имя |
Использование |
Тип |
Значение по умолчанию |
acl_smtp_connect |
main | string |
не задана |
Эта опция определяет ACL, выполняемую при
получении команды SMTP. Для дополнительных деталей смотрите
раздел 39.
Имя |
Использование |
Тип |
Значение по умолчанию |
acl_smtp_data |
main | string |
не задана |
Эта опция определяет ACL, выполняемую после обработки
команды SMTP DATA и получения самого сообщения, но до посылки заключительного
подтверждения. Для дополнительных деталей смотрите
раздел 39.
Имя |
Использование |
Тип |
Значение по умолчанию |
acl_smtp_etrn |
main | string |
не задана |
Эта опция определяет ACL, выполняемую при
получении команды SMTP ETRN. Для дополнительных деталей смотрите
раздел 39.
Имя |
Использование |
Тип |
Значение по умолчанию |
acl_smtp_expn |
main | string |
не задана |
Эта опция определяет ACL, выполняемую при
получении команды SMTP EXPN. Для дополнительных деталей смотрите
раздел 39.
Имя |
Использование |
Тип |
Значение по умолчанию |
acl_smtp_helo |
main | string |
не задана |
Эта опция определяет ACL, выполняемую при получении
команды SMTP HELO или EHLO. Для дополнительных деталей смотрите
раздел 39.
Имя |
Использование |
Тип |
Значение по умолчанию |
acl_smtp_mail |
main | string |
не задана |
Эта опция определяет ACL, выполняемую при
получении команды SMTP MAIL. Для дополнительных деталей смотрите
раздел 39.
Имя |
Использование |
Тип |
Значение по умолчанию |
acl_smtp_mailauth |
main | string |
не задана |
Эта опция определяет ACL, выполняемую при получении
команды AUTH с командой MAIL. Для дополнительных деталей ACL смотрите
разделы 39 и 33
для деталей аутентификации.
Имя |
Использование |
Тип |
Значение по умолчанию |
acl_smtp_mime |
main | string |
не задана |
Эта опция доступна, когда exim собран с
расширением контентного сканирования. Это задаёт ACL, запускаемую для каждой
MIME-части в сообщении. Смотрите раздел 40.4
для получения дополнительных деталей.
Имя |
Использование |
Тип |
Значение по умолчанию |
acl_smtp_predata |
main | string |
не задана |
Эта опция определяет ACL, выполняемую при получении
команды SMTP DATA, до получения самого сообщения.
Для дополнительных деталей смотрите раздел 39.
Имя |
Использование |
Тип |
Значение по умолчанию |
acl_smtp_quit |
main | string |
не задана |
Эта опция определяет ACL, выполняемую
при получении команды SMTP QUIT. Для дополнительных деталей смотрите
раздел 39.
Имя |
Использование |
Тип |
Значение по умолчанию |
acl_smtp_rcpt |
main | string |
не задана |
Эта опция определяет ACL, выполняемую
при получении команды SMTP RCPT. Для дополнительных деталей смотрите
раздел 39.
Имя |
Использование |
Тип |
Значение по умолчанию |
acl_smtp_starttls |
main | string |
не задана |
Эта опция определяет ACL, выполняемую при получении
команды SMTP STARTTLS. Для дополнительных деталей смотрите
раздел 39.
Имя |
Использование |
Тип |
Значение по умолчанию |
acl_smtp_vrfy |
main | string |
не задана |
Эта опция определяет ACL, выполняемую
при получении команды SMTP VRFY. Для дополнительных деталей смотрите
раздел 39.
Имя |
Использование |
Тип |
Значение по умолчанию |
admin_groups |
main | string |
не задана |
Эта опция раскрывается один раз в процессе старта exim.
Если текущая группа или любая из дополнительных групп вызвавшего
exim пользователя находятся в этом списке, разделённом двоеточиями,
вызывающий имеет административные привилегии. Если все Ваши системные
программисты находятся в определённой группе, например, Вы можете дать им
всем привилегии администратора exim, поместив их группу в
admin_groups. Однако, это не разрешает читать им читать файлы
спула exim (группа которых является группой exim). Для разрешения этого Вы
должны добавить пользователей в группу exim.
Имя |
Использование |
Тип |
Значение по умолчанию |
allow_domain_literals |
main | boolean |
false |
Если эта опция установлена, формат буквальных
адресов (с иcпользованием IP-адреса вместо домена), в
соответствии с RFC 2822, разрешён в e-mail адресах. По умолчанию эта
опция не задана, поскольку доменные литералы не требуются в наши дни, и
немногие люди знают о них. Однако это эксплуатируется спамерами.
К сожалению, некоторые люди, осуществляющие поддержку
чёрных списков 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
экспериментировать, если они этого желают.
Если она установлена в истину, функция парсинга доменов
exim разрешает появляение допустимых мультисимволов UTF-8 в компонентах
доменного имени, в дополнение к буквам, цифрам и дефисам.
Однако, лишь установки этой опции недостаточно: если Вы хотите искать такие
имена в DNS, Вы также должны скорректировать значение
dns_check_names_pattern
для соответствия расширенной форме. Вот подходящая настройка:
dns_check_names_pattern = (?i)^(?>(?(1)\.|())[a-z0-9\xc0-\xff] \
(?>[-a-z0-9\x80-\xff]*[a-z0-9\x80-\xbf])?)+$
|
Вы можете только отключить эту возможность, установив:
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, Вы можете использовать тот
факт, что значение этой опции раскрывается, установкой типа такой:
auth_advertise_hosts = ${if eq{$tls_cipher}{}{}{*}}
|
Если $tls_cipher пуста, сессия не шифрованная, и результат
раскрытия пуст, таким образом, не соответствуя никаким хостам.
Иначе, разультат раскрытия *, соответствующая всем хостам.
Имя |
Использование |
Тип |
Значение по умолчанию |
auto_thaw |
main | time |
0s |
Если в этой опции будет время большее нуля, то
обработчик очереди будет пробовать произвести новую попытку доставки
для любых замороженных сообщений, кроме рикошетов, если прошло много
времени с того момента, как они заморожены. Это может привести к повторной
заморозке сообщения, если ничего не изменилось с момента
последней попытки доставки.
Отметьте: это старая опция, которая предшествовала
timeout_frozen_after и ignore_bounce_errors_after.
Она сохранена для совместимости, но она не многим полезна и лучше
избегать её использования.
Имя |
Использование |
Тип |
Значение по умолчанию |
av_scanner |
main | string |
смотрите ниже |
Эта опция доступна, если exim собран с
расширением контентного сканирования. Она задаёт, какой антивирусный
сканер будет использоваться. Значение по умолчанию:
Если значение 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 |
не задана |
Когда задана эта опция, её содержимое включается
в рикошет сразу после "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.
Имя |
Использование |
Тип |
Значение по умолчанию |
bounce_sender_authentication |
main | string |
не задана |
Эта опция предоставляет адрес аутентифицированного
отправителя, который шлёт любые сообщения рикошета, сгенерированные exim,
посылаемые через аутентифицированное SMTP-соединение.
Типичная установка такая:
bounce_sender_authentication = mailer-daemon@my.domain.example
|
которая вынудила бы посылать рикошеты с использованием такой SMTP-команды:
MAIL FROM:<> AUTH=mailer-daemon@my.domain.example
|
Значение 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 |
RFC 2047 определяет способ кодирования не-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. Смотрие раздел 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 часов, поскольку этот интервал между двумя прошлыми временами в списке.
Если Вы зададите лишь одно время, оно
определяет интервал повторения. Например, при:
сообщения повторяются каждые 6 часов. Для остановки предупреждений
после этого времени установите в конце списка
очень большое время. Например:
delay_warning = 2h:12h:99d
|
Имя |
Использование |
Тип |
Значение по умолчанию |
delay_warning_condition |
main | string |
смотрите ниже |
Строка раскрывается в то время, когда могло бы
быть послано сообщение. Если все отсроченные адреса имеют одинаковый домен,
он устанавливается в $domain в процессе раскрытия.
Иначе, переменная $domain пуста. Если результат раскрытия принудительный
отказ, пустая строка или строка, соответствующая 0, no или false (сравнение
производится регистронезависимо), тогда предупреждающее
сообщение не посылается. Значение по умолчанию:
delay_warning_condition = \
${if match{$h_precedence:}{(?i)bulk|list|junk}{no}{yes}}
|
подавляющая посылку предупреждений о сообщениях содержащих bulk,
list или junk в заголовке Precedence:.
Имя |
Использование |
Тип |
Значение по умолчанию |
deliver_drop_privilege |
main | boolean |
false |
Если эта опция истинна, exim отказывается от
root-привилегий при запуске процесса доставки и повсюду работает
как пользователь exim. Это строго ограничивает возможные виды
локальной доставки, но жизнеспособно лишь в определённых типах конфигурации.
Имеется обсуждение об использовании root-привилегий в
разделе 51.
Имя |
Использование |
Тип |
Значение по умолчанию |
deliver_queue_load_max |
main | fixed-point |
не задана |
Если эта опция установлена, обработка очереди
останавливается, если средняя загрузка системы больше значения этой опции.
Опция не имеет эффекта на древних ОС, в которых exim не может
определить среднюю загрузку. Смотрите также опции queue_only_load и
smtp_load_reserve.
Имя |
Использование |
Тип |
Значение по умолчанию |
delivery_date_remove |
main | boolean |
true |
Транспорты exim имеют опцию для добавления заголовка
Delivery-date: в сообщение, когда оно доставляется, точно также
обрабатывается Return-path:. Delivery-date: делает запись
фактического времени доставки. Такие заголовки не должны присутствовать во
входящих сообщениях, и эта опция вызывает их удаление во время получения
сообщения для избежания любых возможных проблем, которые могли бы произойти
при пересылке сообщения другому адресату.
Имя |
Использование |
Тип |
Значение по умолчанию |
disable_ipv6 |
main | boolean |
false |
Если эта опция истинна, даже если exim имеет поддержку
IPv6, не будет никакой активности IPv6. Записи AAAA никогда не ищутся, и
любые адреса IPv6, которые перечисленны в local_interfaces, данные для
маршрутизатора manualroute и т.п. игноруруются. Если IP-литералы
включены, роутер ipliteral отказывается обрабатывать
литеральные адреса IPv6.
Имя |
Использование |
Тип |
Значение по умолчанию |
dns_again_means_nonexist |
main | domain list |
не задана |
Поиски в 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, и ресолвер не вызывается.
Проверка делается путём сравнения доменного имени с регулярным выражением,
являющимся значением этой опции. Шаблон по умолчанию такой:
dns_check_names_pattern = \
(?i)^(?>(?(1)\.|())[^\W_](?>[a-z0-9/-]*[^\W_])?)+$
|
разрешающий лишь буквы, цифры, слэши и дефисы в компонентах, но
они должны начинаться и заканчиваться буквой или цифрой. Дефисы не разрешены,
фактически, в именах хостов, но они находятся в определённых NS-записях (к
которым можно обратится в exim, используя поиск 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 |
не задана |
Когда 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 выше.
Имя | Использование |
Тип | Значение по умолчанию |
dns_use_edns0 | main | integer |
-1 |
Если эта опция будет установлена в неотрицательное число, то Exim
инициализирует библиотеку DNS, чтобы или использовать или не использовать
расширения EDNS0, переопределяя системное значение по умолчанию. Значение 0
принуждает 0 блокирует EDNS0, значение 1 включает. Если библиотека DNS не
поддерживает EDNS0, эта опция не имеет никакого эффекта.
Имя |
Использование |
Тип |
Значение по умолчанию |
drop_cr |
main | boolean |
false |
Это устаревшая опция, которая сейчас не используется.
Она использовалась для изменения способа обработки exim символов CR и LF
во входящих сообщениях. Что происходит сейчас,
описано в разделе 43.2.
Имя |
Использование |
Тип |
Значение по умолчанию |
dsn_from |
main | string |
См. ниже |
Эта опция может использоваться, чтобы изменить содержание строки заголовка
From: в возвратах и других автоматически произведенных сообщениях (Delivery
Status Notifications, отсюда имя опции). Настройка по умолчанию:
dsn_from = Mail Delivery System <Mailer-Daemon@$qualify_domain>
Значение раскрыто каждый раз, когда оно необходимо. Если раскрытие терпит
неудачу, будет зарегистрирована ошибка, и используется значение по умолчанию.
Имя |
Использование |
Тип |
Значение по умолчанию |
envelope_to_remove |
main | boolean |
true |
Траспорты exim имеют опцию для добавления заголовка
Envelope-to: в сообщение при его доставке, точно таким же образом
обрабатывается Return-path:. Envelope-to: делает запись
оригинального адреса получателя из конверта сообщения, вызвавшего доставку.
Такие заголовки не должны присутствовать во входящих сообщениях, и эта опция
вызывает их удаление во время получения сообщения для избежания возможных
проблем, если доставленное сообщение впоследствии
пересылается другому получателю.
Имя |
Использование |
Тип |
Значение по умолчанию |
errors_copy |
main | string list |
не задана |
Установка этой опции заставляет exim посылать копии
генерируемых рикошетов по другим адресам. Отметьте: это не применяется
к рикошетам, приходящим из других мест. Значение опции: список
элементов, разделеённый двоеточиями. Каждый элемент
содержит шаблон, завершаемый пробелом и сопровождаемый списком почтовых
адресов, разделенных запятыми. Если сам шаблон содержит пробелы, он должен
быть заключён в двойные кавычки.
Каждый шаблон обрабатывается так же, как единичный пункт в
списке адресов (смотрите раздел 10.18).
Когда шаблон совпадает с получателем рикошета, сообщение копируется
на адреса в списке. Элементы просматриваются по порядку, и как только
найдено совпадение, дальнейшие элементы не сравниваются. Например:
errors_copy = spqr@mydomain postmaster@mydomain.example :\
rqps@mydomain hostmaster@mydomain.example,\
postmaster@mydomain.example
|
Список адресов раскрывается до использования.
Переменные раскрытия $local_part и $domain устанавливаются из
оригинального получателя сообщения о ошибке, и если был какой-либо
подстановочный знак в шаблоне, переменные раскрытия $0, $1 и т. д.
устанавливаются обычным способом.
Имя |
Использование |
Тип |
Значение по умолчанию |
errors_reply_to |
main | string |
не задана |
По умолчанию в exim предупреждающие сообщения о
рикошетах и доставке содержат строку заголовка:
From: Mail Delivery System <Mailer-Daemon@qualify-domain>
|
где qualify-domain значение опции qualify_domain.
Предупреждеющее сообщение, созданное опцией quota_warn_message в
транспорте appendfile, может содержать его собственный заголовок
From:, отменяющий значение по умолчанию.
Опыт показывает, что люди отвечают
на сообщения о рикошете. Если установлена опция errors_reply_to,
в предупреждающие сообщения и рикошеты добавляется заголовок
Reply-To:, например:
errors_reply_to = postmaster@my.domain.example
|
Значение этой опции не раскрывается. Оно должно быть
правильным адресом в соответствии с RFC 2822. Однако, если предупреждающее
сообщение, созданное опцией quota_warn_message в транспорте
appendfile, содержит собственный заголовок Reply-To:,
значение опции errors_reply_to не используется.
Имя |
Использование |
Тип |
Значение по умолчанию |
exim_group |
main | string |
сконфигурировано при компиляции |
Эта опция изменяет gid, под которым exim работает
после отказа от привилегий суперпользователя. Значение по умолчанию
вкомпилировано в исполняемый модуль. Значение этой опции используется лишь
когда также задано exim_user. Если значение не состоит полностью из
цифр, ищется строка, используя getgrnam(), а ошибка поиска
вызывает ошибку конфигурации. Смотрите главу 51 для
обсуждения проблем безопасности.
Имя |
Использование |
Тип |
Значение по умолчанию |
exim_path |
main | string |
смотрите ниже |
Эта опция определяет путь к исполняемому файлу exim,
который используется когда exim надо перезапустить самого себя.
По умолчанию это установлено на файл exim в каталоге,
сконфигурированном при компиляции установкой BIN_DIRECTORY.
Изменить exim_path бывает необходимо, если нужно запускать exim
из другого места. Предупрежедние: не используйте макрос для установки
значения этой опции, поскольку Вы прервёте те утилиты exim, которые сканируют
конфигурационный файл для находжения местоположения исполняемого модуля.
Тогда они используют опцию -bP для извлечения настройки опции, типа
значения spool_directory.
Имя |
Использование |
Тип |
Значение по умолчанию |
exim_user |
main | string |
сконфигурировано при компиляции |
Эта опция изменяет uid, под которым работает exim,
после отказа от root-привилегий. Значение по умолчанию
вкомпилировано в исполняемый модуль. Владелец файла рабочей конфигурации при
использование опций командной строки -C и -D сверяется с
исполняемым файлом, а не с тем, что установлено тут.
Если значение не состоит полностью из цифр, ищется строка,
используя getgrnam(), а ошибка поиска вызывает ошибку конфигурации.
Если exim_group также не установлена, gid берётся из разультата
getgrnam(), если оно используется. Смотрите главу 51
для обсуждения проблем безопасности.
Имя |
Использование |
Тип |
Значение по умолчанию |
extra_local_interfaces |
main | string list |
не задана |
Эта опция задаёт сетевые интерфейсы, которые нужно
считать местными при маршрутизации, но которые не слушаются демоном.
Смотрите раздел 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 |
не задана |
Некоторые операционные системы, особенно 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 |
не задана |
Смотрите выше опцию gecos_name.
Имя |
Использование |
Тип |
Значение по умолчанию |
gnutls_require_kx |
main | string |
не задана |
Эта опция управляет ключевыми обменными механизмами, когда GnuTLS
используется в сервере Exim. Для деталей читайте раздел
38.
Имя |
Использование |
Тип |
Значение по умолчанию |
gnutls_require_mac |
main | string |
не задана |
Эта опция управляет алгоритмами MAC, когда GnuTLS
используется в сервере Exim. Для деталей читайте раздел
38.
Имя |
Использование |
Тип |
Значение по умолчанию |
gnutls_require_protocols |
main | string |
не задана |
Эта опция управляет протоколами, когда GnuTLS
используется в сервере Exim. Для деталей читайте раздел
38.
Имя |
Использование |
Тип |
Значение по умолчанию |
gnutls_compat_mode |
main | boolean |
не задана |
Эта опция управляет, используется ли GnuTLS в режиме эмуляции сервером
Exim. Это немного уменьшает безопасность, но улучшает взаимодействование с
более старыми реализациями TLS.
Имя |
Использование |
Тип |
Значение по умолчанию |
headers_charset |
main | string |
смотрите ниже |
Эта опция задаёт кодировку для трансляции из
закодированных MIME-слов в строках заголовков, когда
ссылаются из раскрытия $h_xxx. Значение по умолчанию: HEADERS_CHARSET в
Local/Makefile. Окончательное значение по умолчанию: ISO-8859-1.
Для дополнительных деталей смотрите описание вставки заголовков в
разделе 11.5.
Имя |
Использование |
Тип |
Значение по умолчанию |
header_maxsize |
main | integer |
смотрите ниже |
Эта опция контролирует полный максимальный размер
секции заголовка сообщения. Значение по умолчанию HEADER_MAXSIZE в
Local/Makefile или 1 MБ. Сообщения с большим размером заголовка отклоняются.
Имя |
Использование |
Тип |
Значение по умолчанию |
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_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-адреса, а
не имена хостов). Конфигурационный файл по умолчанию содержит:
что вызывает поиск для всех хостов. Если накладные расходы на
этот поиск очень велики, установка может быть
изменена или удалена.
После успешного обратного поиска 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_ca_cert_dir | main | string |
не задана |
Эта опция указывает, какой каталог содержит CA-сертификаты для того, чтобы
проверить сертификат TLS, представленный сервером LDAP. В то время как Exim
не обеспечивает значение по умолчанию, Ваша библиотека SSL может это делать.
Аналог tls_verify_certificates, но как клиентская опция для LDAP и должна
указывать на каталог.
Имя | Использование |
Тип | Значение по умолчанию |
ldap_ca_cert_file | main | string |
не задана |
Эта опция указывает, какой файл содержит CA-сертификаты для того, чтобы
проверить сертификат TLS, представленный сервером LDAP. В то время как Exim
не обеспечивает значение по умолчанию, Ваша библиотека SSL может это делать.
Аналог tls_verify_certificates, но как клиентская опция для LDAP и должна
указывать на файл.
Имя | Использование |
Тип | Значение по умолчанию |
ldap_cert_file | main | string |
не задана |
Эта опция указывает, какой файл содержит сертификат TLS, который Exim
должен представить серверу LDAP во время переговоров TLS. Должен
использоваться вместе с ldap_cert_key.
Имя | Использование |
Тип | Значение по умолчанию |
ldap_cert_key | main | string |
не задана |
Эта опция указывает, который файл содержит секретный ключ, чтобы
использовать для удостоверения на сервере LDAP во время переговоров TLS.
Должен использоваться вместе с ldap_cert_file.
Имя | Использование |
Тип | Значение по умолчанию |
ldap_cipher_suite | main | string |
не задана |
Это управляет переговорами выбора шифра TLS во время переговоров TLS с
сервером LDAP. См. раздел 38.4 для большего
количества деталей формата опций OpenSSL
(используется библиотеками клиента LDAP).
Имя | Использование |
Тип | Значение по умолчанию |
ldap_default_servers | main | string list |
не задана |
Эта опция указывает список серверов LDAP, которые пробуются по очереди,
когда запрос LDAP не содержит явное указание сервера. Эта опция доступна
только, когда Exim был собран с поддержкой LDAP.
Имя | Использование |
Тип | Значение по умолчанию |
ldap_require_cert | main | string |
не задана |
Это должно быть одним из значений hard, demand, allow, try или never.
Значение кроме одного из них не интерпретируется как never. См. TLS_REQCERT
на man-странице для ldap.conf(5). Хотя Exim не устанавливает значение по
умолчанию, библиотека LDAP, вероятно, поставит в качестве значения по
умолчанию hard/demand.
Имя | Использование |
Тип | Значение по умолчанию |
ldap_start_tls | main | boolean |
false |
Если установлено, Exim попытается договориться о TLS с сервером LDAP,
соединяясь на регулярном порту LDAP. Это эквивалент LDAP STARTTLS SMTP.
Это отлично от использования "ldaps", который является формой LDAP
SSL-on-connect. В случае отказа договориться о TLS, предпринятыми мерами
управляет ldap_require_cert.
Имя | Использование |
Тип | Значение по умолчанию |
ldap_version | main | integer |
не задана |
Эта опция может использоваться для принудительной
установки использования exim определённой версии протокола для LDAP.
Если эта опция не задана, она отображается при опции командной строки
-bP как равная -1. В этом случае значение по умолчанию 3, если в
заголовках LDAP задано LDAP_VERSION3, иначе оно 2. Эта опция доступна лишь в
случае, если exim собран с поддержкой LDAP.
Имя | Использование |
Тип | Значение по умолчанию |
local_from_check | main | boolean |
true |
Когда сообщение передаётся локально (то есть, не через
TCP/IP-соединение) недовереным пользователем, exim удаляет любые
существующие заголовки Sender: и проверяет, что строка заголовка
From: совпадает с логином вызывающего пользователя, а домен
соответсвует qualify_domain.
Отметьте: неквалифицированный адрес (без домена) в
заголовке From: в локально переданных сообщениях автоматически
квалифицируется exim, кроме как при использовании опции командной строки
-bnq. Вы можете использовать опции local_from_prefix и
local_from_suffix для разрешения суффиксов и
префиксов в локальных частях. Если строка заголовка From:
не совпадает, exim добавляет заголовок Sender: с адресом,
сконструированным из логина вызывающего пользователя и домена по умолчанию.
Если local_from_check установлена в ложь, проверка
заголовока From: отключена и не добавляется заголовок Sender:.
Кроме того, если Вы хотите сохранить строку заголовка Sender:,
переданную недоверенным пользователем, Вы также должны сделать истинной опцию
local_sender_retain. Эти опции имеют эффект лишь для
строк заголовков в сообщении. Отправитель конверта продолжает оставаться
идентификатором логина с квалификационным доменом, если
untrusted_set_sender не разрешает пользователю
передавать отправителя конверта.
Для сообщений, переданных через TCP/IP, ACL может
определить режим подачи для запроса подобной проверки строки заголовка.
Смотрите раздел 43.16, содержащий
больше деталей об обработке Sender:.
Имя | Использование |
Тип | Значение по умолчанию |
local_from_prefix | main | string |
не задана |
Когда exim проверяет строку заголовка From:
локально переданных сообщений на совпадение с идентификатором логина
(смотрите выше опцию local_from_check), он может быть сконфигурирован
для игнорирования определённых приставок и суффиксов в
локальной части адресов. Это делается установкой local_from_prefix
и/или local_from_suffix для подходящих списков в такой же форме, как
опции роутера local_part_prefix и local_part_suffix
(смотрите раздел 15). Для примера, если
установлено, строка From: содержит
From: anything-user@your.domain.example
|
не будет заставлять добавлять заголовок Sender:, если
user@your.domain.example фактически соответствует адресу отправителя,
созданному из имени логина и квалификационного домена.
Имя | Использование |
Тип | Значение по умолчанию |
local_from_suffix | main | string |
не задана |
Смотрите опцию local_from_prefix выше.
Имя | Использование |
Тип | Значение по умолчанию |
local_interfaces | main | string list |
смотрите ниже |
Эта опция конторлирует, какие сетевые интерфейсы
используются демоном для прослушивания, также они используются для
идентификации локального хоста при маршрутизации.
Раздел 13 содержит полное описание этой опции и
связанных с ней опций daemon_smtp_ports,
extra_local_interfaces, hosts_treat_as_local и
tls_on_connect_ports. Значение по умолчанию для
local_interfaces такое:
local_interfaces = 0.0.0.0
|
когда exim собран без поддержки IPv6. Иначе, оно
local_interfaces = <; ::0 ; 0.0.0.0
|
Имя |
Использование |
Тип |
Значение по умолчанию |
local_scan_timeout |
main | time |
5m |
Этот таймаут применяется к функции local_scan()
(смотрите раздел 41).
Нулевое значение: нет таймаута. Если таймаут истёк, входящее сообщение
отвергается с временной ошибкой, если это SMTP-сообщение. Для не-SMTP
сообщения, сообщение уничтожается, и exim завершается с ненулевым кодом.
Инцидент отмечается в протоколах: главном и отклонённых.
Имя |
Использование |
Тип |
Значение по умолчанию |
local_sender_retain |
main | boolean |
ложь |
Когда сообщение передаётся локально (то есть, не через
TCP/IP-соединение) недоверенным пользователем, exim удаляет любые
существующие строки заголовка Sender:. Если Вы не хотите, чтобы это
происходило, Вы должны установить local_sender_retain и также
установить local_from_check в ложь (exim будет ругаться, если
этого не сделать). Смотрите также ACL-модификатор
control = suppress_local_fixups и
раздел 43.16 для получения дополнительных
деталей об обработке Sender:.
Имя |
Использование |
Тип |
Значение по умолчанию |
localhost_number |
main | string |
не задана |
Идентификаторы сообщений exim обычно уникальны
только в пределах локального хоста. Если требуется уникальность среди
ряда хостов, на каждом хосте необходимо установить различное значение
для опции localhost_number. Строка раскрывается немедленно после
чтения конфигурационного файла (таким образом, чтобы число могло быть
вычислено из имени хоста, например), и результат раскрытия должен быть
числом в диапазоне 0-16 (или 0-10, если файловая система
нечувствительна к регистру букв). Это доступно в последующих раскрытиях
строк через переменную $localhost_number. Когда localhost_number
установлена, два финальных символа идентификатора сообщения вместо того,
чтобы просто быть дробной частью от времени, вычисляются из времени и номера
локального хоста, как описано в разделе 3.4.
Имя |
Использование |
Тип |
Значение по умолчанию |
log_file_path |
main | string list |
устанавливается при компиляции |
Эта опция устанавливает путь, используемый для
определения имён файлов протоколов exim, индикации, что протоколирование
осуществляется через syslog или того и другого. Это раскрывается при
входе exim, и она может, например, содержать ссылку на имя хоста.
Если путь для ведения протоколов не установлен при компиляции или в рабочей
конфигурации, они пишутся в субкаталог log каталога спула exim.
Раздел 48 содержит дальнейшие детали о
протоколировании exim, а раздел 48.1 описывает,
как используется содержимое log_file_path. Если эта строка установлена
при инсталляции (не содержит никаких раскрываемых переменных), рекомендуется,
чтобы Вы не устанавливали эту опцию в файле конфигурации, но предоставляли
путь, используя LOG_FILE_PATH в Local/Makefile, чтобы она сразу была
доступна exim для записи ошибок, в частности ошибок
чтения конфигурационного файла.
Имя |
Использование |
Тип |
Значение по умолчанию |
log_selector |
main | string |
не задана |
Эта опция может использоваться для уменьшения или
сокращения числа событий, которые exim пишет в протоколы.
Его параметр составлен из имён, которым предшествуют символы
плюса или минуса. Например:
log_selector = +arguments -retry_defer
|
Список возможных имён и что они контролируют
дан в части о протоколах, в разделе 48.15.
Имя |
Использование |
Тип |
Значение по умолчанию |
log_timezone |
main | boolean |
ложь |
По умолчанию временная метка в строках протоколов в
локальном времени, без временной зоны. Это означает, что если Ваша
временная зона меняется дважды в год, временная метка неоднозначна в течение
того часа, когда часы возвращаются назад. Один способ избежать этой проблемы:
установить временную зону в UTC.
Альтернатива: установить log_timezone в истину.
Это включает дополнение временной зоны в строки протоколов.
Включение этой опции может добавить довольно много к размеру протоколов,
поскольку каждая строка становиться больше на 6 символов.
Отметьте, что переменная $tod_log содержит временную метку без зоны, но есть
другая переменная, называемая $tod_zone, которая содержит
смещение часового пояса.
Имя |
Использование |
Тип |
Значение по умолчанию |
lookup_open_max |
main | integer |
25 |
Эта опция ограничивает число одновременно открытых
файлов для одноключевого поиска, которые используют регулярные файлы
(то есть, lsearch, dbm и cdb). Обычно exim оставляет эти
файлы открытыми в течение маршрутизации, поскольку часто один и тот же файл
требуется несколько раз. Если предел достигнут, exim закрывает самый
давно использовавшийся файл. Отметьте, что если Вы используете библиотеку
ndbm, она фактически открывает два файла для каждой логической
DBM базы данных, хотя для lookup_open_max он всё ещё
считается как один. Если Вы получаете ошибку "too many open files" с NDBM,
Вы должны уменьшить значение lookup_open_max.
Имя |
Использование |
Тип |
Значение по умолчанию |
max_username_length |
main | integer |
0 |
Некоторые операционные системы кривые
в том, что они усекают длинный аргумент getpwnam()
до восьми символов вместо того, чтобы вернуть "no such user".
Если эта опция установлена в число больше нуля, любые попытки вызова
getpwnam() с более длинным аргументом ведут себя так, будто вызов
getpwnam() был неудачен.
Имя | Использование |
Тип | Значение по умолчанию |
message_body_newlines | main | bool |
false |
Эта опция может использоваться, чтобы управлять, присутствуют ли символы
новой строки в $message_body и $message_body_end. Если эта опция установлена
в false (по умолчанию это так, для обратной совместимости),
они будут заменены пробелами.
Имя | Использование |
Тип | Значение по умолчанию |
message_body_visible | main | integer |
500 |
Эта опция определяет, как много тела сообщения
будет включено в переменные раскрытия $message_body и $message_body_end.
Имя | Использование |
Тип | Значение по умолчанию |
message_id_header_domain | main | string |
не задана |
Если эта опция задана, строка раскрывается и
используется как правая сторона (домен) в заголовке Message-ID:,
который создаёт exim, если локально сгенерированное
сообщение приходит без него. Локально сгенерированное значит не полученное
через TCP/IP. Иначе используется первичное имя хоста. Разрешены только буквы,
цифры, точки и дефисы, любые другие символы заменяются дефисами.
Если раскрытие принудительно неудачно, или если
результат пустая строка, опция игнорируется.
Имя | Использование |
Тип | Значение по умолчанию |
message_id_header_text | main | string |
не задана |
Если эта опция задана, строка раскрывается и используется
для увеличения текста заголовка Message-id:, который exim создаёт,
если локально сгенерированное сообщение его не имеет. Текст этого заголовка
требуется, согласно RFC 2822, для принятия формы адреса. По умолчанию exim
использует внутренние идентификаторы сообщений как локальную часть, а
первичное имя хоста как домен. Если эта опция задана, она раскрывается и,
если раскрытие не было неудачным, и не привело к пустой строке, результат
вставляется в заголовок непосредственно до @, отделяясь от
внутреннего идентификатора точкой. Любые символы, которые недопустимы в
адресах, автоматически преобразуются в дефисы. Это означает, что могут
использоваться переменные типа $tod_log, поскольку все пробелы и
двоеточия станут дефисами.
Имя |
Использование |
Тип |
Значение по умолчанию |
message_logs |
main | boolean |
true |
Если эта опция выключена, протоколы на каждое сообщение не
создаются в субкаталоге спула msglog. Это уменьшает дисковый
ввод-вывод, требуемый exim, уменьшает число файлов, вовлечённых в обработку
сообщения от минимум четырёх (заголовок в файле спула, тело в файле спула,
журнал доставки и протокол на каждое сообщение) до трёх.
Другая причина активности ввода-вывода: главный протокол exim,
не затрагиваемый этой опцией.
Имя |
Использование |
Тип |
Значение по умолчанию |
message_size_limit |
main | string |
50M |
Эта опция ограничивает максимальный размер
сообщения, обрабатываемого exim. Значение раскрывается для каждого
входящего сообщения, таким образом, например, оно может зависеть от
IP-адреса удалённого хоста для сообщений, передаваемых через TCP/IP.
Отметьте: Эти ограничения не могут быть зависимы от отправителя
сообщения или других свойств индивидуального сообщения, поскольку оно должно
фигурировать в ответе сервера HELO. Ошибка раскрытия строки
приводит к временной ошибке. Значение ноль означает, что нет лимитов, но оно
не рекомендуется для использования. Смотрите также опцию
bounce_return_size_limit.
Входящим SMTP-сообщениям выдаётся ошибка 552,
если лимит исчерпан. Сообщения, сгенерированные локально, получают сообщение
на стандартный вывод ошибок или сообщение об ошибке доставки
отправителю сообщения, в зависимости от установки -oe.
Отклонение сообщений с превышенным размером записывается в об
а протокола: главный и отклонённых. Смотрите также общую опцию транспортов
message_size_limit, которая ограничивает размер сообщения, которое
может обработать индивидуальный транспорт.
Имя |
Использование |
Тип |
Значение по умолчанию |
move_frozen_messages |
main | boolean |
false |
Эта опция, которая доступна лишь, если exim собран с установкой
SUPPORT_MOVE_FROZEN_MESSAGES=yes
|
в Local/Makefile вызывает перемещение замороженных сообщений и их
протоколов из каталогов input и msglog в спуле в
Finput и Fmsglog, соответсвенно. В настоящее время в exim или
стандартных утилитах нет поддержки для обработки таких сообщений, и
они не показывются в списках сгенерированных опцией -bp
или монитором exim.
Имя | Использование |
Тип | Значение по умолчанию |
mua_wrapper | main | boolean |
false |
Установка этой опции в истину заставляет exim
выполняться в очень ограниченном режиме, в котором он передаёт
сообщения синхронно на интеллектуальный хост.
Раздел 47 содержит полное описание этого средства.
Имя |
Использование |
Тип |
Значение по умолчанию |
mysql_servers |
main | string list |
не задана |
Эта опция предоставляет список MySQL-серверов и ассоционированных
данных подключения для использования с поиском mysql
(смотрите раздел 9.20). Опция доступна только,
если exim собран с поддержкой MySQL.
Имя |
Использование |
Тип |
Значение по умолчанию |
never_users |
main | string list |
не задана |
Эта опция раскрывается лишь раз, в начале
старта процесса exim. Локальные доставки сообщений обычно в процессах,
выполняющихся от получателя, а удалённые доставки обычно работают под
uid и gid exim. Из предосторожности следует избегать любых доставок,
производимых от пользователя root.
При сборке exim опция с именем FIXED_NEVER_USERS может
быть установлена в список пользователей, которые не могут использоваться
для локальной доставки. Этот список установлен в исполняемом файле и не может
быть перезадан конфигурационны файлом. По умолчанию он содержит лишь одно
имя пользователя: root. Рабочая опция never_users может использоваться
для добавления большего количества пользователей к фиксированному списку.
Если сообщение необходимо доставить от одного из
пользователей жёсткого списка или списка never_users, происходит
ошибка, а доставка задерживается. Обычный пример:
never_users = root:daemon:bin
|
Включение root избыточно, если он также находится
в фиксированном списке, но вреда не причиняет. Эта опция перезадаёт
опцию pipe_as_creator драйвера транспорта pipe.
Имя |
Использование |
Тип |
Значение по умолчанию |
openssl_options |
main | string list |
+dont_insert_empty_fragments |
Эта опция позволяет администратору корректировать опции SSL, примененные
OpenSSL к соединениям. Это задано как разделенный пробелом список элементов,
причем каждый должен быть +добавлен или -вычтен из текущего значения.
Значение по умолчанию: одна опция, которая, оказывается, была установлена
исторически. Вы можете удалить все опции с помощью:
openssl_options = -all
Эта опция доступна только, если Exim собран с поддержкой OpenSSL.
Значения, доступные для этой опции, изменяются согласно возрасту Вашей версии
OpenSSL. Значение all управляет подмножеством флагов, которые доступны, как
правило опции обходного решения ошибки. Страница man-справочника
SSL_CTX_set_options перечисляет значения, известные на Вашей системе, а Exim
должен поддерживать все опции обходного решения ошибки и многие из опций
изменения. Имена опций в Exim теряют префикс SSL_OP_ и
печатаются строчными буквами.
Заметьте, что корректировка опций может оказать серьезное влияние на
безопасность SSL. Возможно отключить проверки безопасности и получить кучу
проблем. Эта опция не должна быть скорректирована как попало. Нераспознанный
элемент будет обнаружен вызовом Exim -bV. Пример:
openssl_options = -all +microsoft_big_sslv3_buffer
Имя |
Использование |
Тип |
Значение по умолчанию |
oracle_servers |
main | string list |
не задана |
Эта опция предоставляет список Oracle серверов
и ассоциированных данных подключения для использования с поиском
oracle (смотрите раздел 9.20).
Опция доступна только, если exim собран с поддержкой Oracle.
Имя | Использование |
Тип | Значение по умолчанию |
percent_hack_domains | main | domain list |
не задана |
percent hack является соглашением, посредством которого,
локальная часть, содержащая символ процента, интерпретируется как
новый e-mail адрес, с % заменённым на @. Иногда это называют маршрутизацией
источника, хотя этот термин также применим к адресам
RFC 2822, начинающимся с символа @. Если эта опция задана, exim применяет
работу с процентом для перечисленных доменов, но не для других.
Это происходит до проверки SMTP-адреса при помощи ACL.
Предупреждение: percent hack часто используется людьми,
пробующими обойти ограничения релеинга.
Поэтому лучше его избегать, если это возможно. К сожалению, много MTA,
не заботящихся о безопасности, применяют его безоговорочно.
Если Вы используете exim на межсетевом хосте и маршрутизируете почту к
внутреннему MTA без обработки локальной части, то хорошей идеей будет
отклонить адреса получателей с символами процента в локальной части.
Стандартная конфигурация exim так и делает.
Имя |
Использование |
Тип |
Значение по умолчанию |
perl_at_start |
main | boolean |
ложь |
Эта опция доступна лишь, когда exim собран со
встроенным интерпретатором perl.
Смотрите раздел 12 для получения деталей
об его использовании.
Имя |
Использование |
Тип |
Значение по умолчанию |
perl_startup |
main | string |
не задана |
Эта опция доступна лишь, когда exim собран со
встроенным интерпретатором perl.
Смотрите раздел 12 для получения деталей
об его использовании.
Имя |
Использование |
Тип |
Значение по умолчанию |
pgsql_servers |
main | string list |
не задана |
Эта опция предоставляет список PostgreSQL-серверов
и ассоциированных данных подключения для использования с поиском pgsql
(смотрите раздел 9.20). Опция доступна только,
если exim собран с поддержкой PostgreSQL.
Имя |
Использование |
Тип |
Значение по умолчанию |
pid_file_path |
main | string |
устанавливается при компиляции |
Эта опция задаёт имя файла, в который демон exim
записывает свой pid процесса. Строка раскрывается, таким образом она может
содержать ссылку на имя хоста:
pid_file_path = /var/log/$primary_hostname/exim.pid
|
Если путь не задан, pid пишется в файл
exim-daemon.pid в каталоге спула exim. Значение, установленное опцией,
может быть перезадано путём опции командной строки -oP. Файл pid не
записывается нестандартным демоном, запущенным при помощи опции -oX,
если путь явно не задан опцией -oP.
Имя |
Использование |
Тип |
Значение по умолчанию |
pipelining_advertise_hosts |
main | host list |
* |
Эта опция может использоваться для подавления
объявления расширения SMTP PIPELINING для определённых хостов.
Когда PIPELINING не объявляется, а smtp_enforce_sync истинна, сервер
exim требует строгую синхронизацию для каждой SMTP-команды и ответа.
Когда объявлено PIPELINING, exim предполагает, что клиенты будут его
использовать: ожидаются команды не по порядку, и они не считаются ошибками
протокола (смотрите smtp_max_synprot_errors).
Имя |
Использование |
Тип |
Значение по умолчанию |
preserve_message_logs |
main | boolean |
ложь |
Если эта опция задана, протоколы сообщений не удаляются
по окончании обработки сообщения. Вместо этого они перемещаются в субкаталог
спула с именем msglog.OLD, где они и остаются доступными для
статистики и процесса отладки. Это опсная опция для установки на системах с
заметным объёмом почты. Используйте с осторожностью!
Имя |
Использование |
Тип |
Значение по умолчанию |
primary_hostname |
main | string |
смотрите ниже |
Эта опция задаёт имя текущего хоста.
Она используется в командах HELO или EHLO для исходящих SMTP
сообщений (изменяется опцией helo_data в транспорте smtp),
и как значение по умолчанию для qualify_domain.
Значение также используется по умолчанию в некоторых сообщениях
SMTP-ответов сервера exim. Она может быть динамически изменена установкой
smtp_active_hostname.
Если primary_hostname не задана, exim вызывает
uname() для нахождения имени хоста. Если вызов неудачен, exim свалится.
Если имя, возвращённое uname(), содержит лишь один компонент, exim передаёт
его gethostbyname() (или getipnodebyname(), когда доступна), чтобы получить
полностью квалифицированную версию. Переменная $primary_hostname
содержит имя хоста, полученное этой опцией, или заданное по умолчанию.
Имя |
Использование |
Тип |
Значение по умолчанию |
print_topbitchars |
main | boolean |
ложь |
По умолчанию exim рассматривает лишь те символы,
которые закодированы в диапазоне 32-126, печатные символы.
Во многих обстоятельствах (например, при записи протоколов), непечатные
символы конвертируются в прослэшенные последовательности, прежде всего, чтобы
не испортить размещение. Если print_topbitchars установлена,
предполагается, что значения кодов более 128 задают печатные символы.
Имя |
Использование |
Тип |
Значение по умолчанию |
process_log_path |
main | string |
не задана |
Эта опция устанавливает имя файла, в который exim
записывает свой протокол процесса (process log), когда
посылается сигнал USR1. Это используется скриптом утилиты exiwhat.
Если эта опция не задана, используется файл с именем exim-process.info
в каталоге спула exim. Возможность задать имя явно может быть полезной в
окружении, где запущены два различных exim,
используя различные каталоги спула.
Имя |
Использование |
Тип |
Значение по умолчанию |
prod_requires_admin |
main | boolean |
true |
Опции командной строки -M, -R и -q
требуют, чтобы вызывающий был административным пользователем, если опция
prod_requires_admin не установлена в ложь.
Смотрите также queue_list_requires_admin.
Имя |
Использование |
Тип |
Значение по умолчанию |
qualify_domain |
main | string |
смотрите ниже |
Эта опция определяет имя домена, которое
добавляется к любому алресу отправителя конверта, не имеющему доменной части.
Также она применяется к адресам получателей, если не установлена
опция qualify_recipient. Неквалифицированые (без доменной части)
адреса по умолчанию принимаются только для
сгенерированных локально сообщений. Квалификация также применяется к
адресам в строках заголовков, типа From: и To:
для локально сгенерированных сообщений, если не
используется опция командной строки -bnq.
Сообщения из внешних источников
всегда должны содержать полностью квалифицированный адрес, если
посылающий хост не соответствует sender_unqualified_hosts или
recipient_unqualified_hosts (соответственно), в этих случаях входящие
адреса квалифицируются с qualify_domain или с
qualify_recipient, по необходимости. Внутри себя exim всегда работает
с полностью квалифицированными адресами конвертов. Если qualify_domain
не задана, по умолчанию используется значение primary_hostname.
Имя | Использование |
Тип | Значение по умолчанию |
qualify_recipient | main | string |
смотрите ниже |
Эта опция позволяет Вам задать иной домен
для квалификации адреса получателя. Смотрите qualify_domain выше.
Имя | Использование |
Тип | Значение по умолчанию |
queue_domains | main | domain list |
не задана |
Эта опция определяет список доменов для которых
немедленная доставка не требуется. Процесс доставки начинается при получении
каждого сообщения, но обрабатываются лишь те домены, которые не
соответствуют этой опции. Все иные доставки ждут следующего запуска очереди.
Смотрите также hold_domains и queue_smtp_domains.
Имя | Использование |
Тип | Значение по умолчанию |
queue_list_requires_admin |
main | boolean | true |
Опция командной строки -bp, выводящая список
сообщений в очереди, требует, чтобы вызывающий был административным
пользователем, если queue_list_requires_admin не установлена в ложь.
Также смотрите опцию prod_requires_admin.
Имя | Использование |
Тип | Значение по умолчанию |
queue_only | main | boolean |
ложь |
Если queue_only задана, процесс доставки не
стартует автоматически, когда получено сообщение. Вместо этого сообщение ждёт
в очереди следующего запуска очереди. Даже если queue_only
ложна, входящие сообщения могут доставляться не сразу, когда происходят
определённые условия (например, большая загрузка).
Опция командной строки -odq
имеет такой же эффект, как и queue_only. Опции командной строки
-odb и -odi перезадают queue_only, если не ложна
queue_only_override. Смотрите также queue_only_file,
queue_only_load и smtp_accept_queue.
Имя | Использование |
Тип | Значение по умолчанию |
queue_only_file | main | string |
не задана |
Эта опция может быть установлена в список,
разделённый двоеточием, абсолютных имён путей, каждому из которых,
опционально, предшествует smtp. Когда exim получает сообщение, эта опция
проверяет существование каждого перечисленного пути, используя вызов stat().
Для каждого пути, что существует, устанавливается опция очереди передачи.
Для путей без префикса queue_only установлена, для путей с префиксом
smtp queue_smtp_domains устанавливается в совпадение
со всеми доменами. Таким образом, например:
queue_only_file = smtp/some/file
|
заставляет exim вести себя так, как будто queue_smtp_domains
установлена в *, когда существует файл /some/file.
Имя | Использование |
Тип | Значение по умолчанию |
queue_only_load | main | fixed-point |
не задана |
Если средняя загрузка системы выше этого значения,
входящие сообщения из всех источников ставятся в очередь, и автоматическая
доставка не запускается. Если это происходит во время локального или
SMTP-ввода, все последующие сообщения в том же соединении ставятся в очередь.
Доставки будут выполнены впоследствии процессами обработчика очереди.
Эта опция не имеет эффекта на старых операционных системах, в которых exim не
может определить среднюю загрузку системы.
Также смотрите deliver_queue_load_max и smtp_load_reserve.
Имя | Использование |
Тип | Значение по умолчанию |
queue_only_load_latch | main | boolean |
истина |
Когда эта опция выставлена в false, а queue_only_load больше 0, то
значение среднего числа загрузки будет переоценено для каждого входящего
сообщения в SMTP-сеансе. Это преднамеренный выбор: даже при том, что среднее
число загрузки может упасть ниже порога, не кажется правильным передавать
сначала более поздние сообщения на том же самом соединении, чем полученные
раньше. Однако, есть особые обстоятельства, такие как очень долговечные
соединения от драйверов. Там надо решать по ситуации.
Имя | Использование |
Тип | Значение по умолчанию |
queue_only_override | main | boolean |
истина |
Когда эта опция истинна, опция командной строки
-odx перезадаёт установки queue_only или
queue_only_file в конфигурационном файле.
Если queue_only_override установлена в ложь, опция -odx
не может использоваться для перезадания: они принимаются, но игнорируются.
Имя | Использование |
Тип | Значение по умолчанию |
queue_run_in_order | main | boolean |
ложь |
Если эта опция установлена, работа очереди происходит в
порядке прибытия сообщений вместо произвольного порядка.
Для того чтобы это случилось, до начала доставки должен быть создан
полный список всей очереди. Когда очередь находится в единственном
каталоге (по умолчанию), создаётся единственный список для упорядоченных и
не упорядоченных случаев. Однако, если установлена опция
split_spool_directory, единственный список не создаётся,
когда опция queue_run_in_order ложна. В этом случае субкаталоги
обрабатываются по одному (в случайном порядке), и это позволяет избежать
создания одного огромного списка для всей очереди. Таким образом, установка
queue_run_in_order с split_spool_directory
может ухудшить производительность, когда очередь большая, поскольку будет
производиться дополнительная работа по созданию одного большого списка.
В большинстве случаев queue_run_in_order не должна быть установлена.
Имя | Использование |
Тип | Значение по умолчанию |
queue_run_max | main | integer |
5 |
Эта опция контролирует максимальное число процессов
обработчика очереди, которые демон exim может выполнять однвоременно.
Это не значит, что он запускает их одновременно, а скорее, что если всё
ещё работает максимальное число, когда приходит время запускать другой,
он задерживает старт следующего. Это может случится с очень большими
очередями и/или с очень медленными доставками. Однако, эта опция не
блокирует другие процессы, таким образом дополнительные обработчики
очереди могут быть запущены другими средствами или
уничтожением и перезапуском демона.
Установка этой опции в ноль не подавляет выполнение
очереди: вместо этого это отключает лимит, разрешая выполняться любому числу
одновременных процессов обработчика очереди. Если Вы не хотите, чтобы
обработки очереди пересекались, опустите опцию -qxx
в командной строке демона.
Имя | Использование |
Тип | Значение по умолчанию |
queue_smtp_domains | main | domain list |
не задана |
Когда эта опция установлена, процесс доставки
запускается каждый раз, когда получено сообщение, роутинг выполнен и
имеют место локальные доставки. Однако, если SMTP-доставки требуются
для доменов, совпадающих с queue_smtp_domains, они не происходят
немедленно, вместо этого сообщение ждёт в очереди следующего запуска очереди.
С момента роутинга сообщения exim знает, к каким удалённым хостам его нужно
доставить и, таким образом, когда происходит обработка очереди, много
сообщений для одного хоста доставляются через одно SMTP-соединение.
В таком случае опция командной строки -odqs заставляет все
SMTP-доставки становится в очередь, и это эквивалентно установке
queue_smtp_domains в *. Также смотрите hold_domains и queue_domains.
Имя | Использование |
Тип | Значение по умолчанию |
receive_timeout | main | time |
0s |
Эта опция устанавливает таймаут для приёма не-SMTP
сообщений, то есть, максимальное время, которое exim ждёт, читая сообщение
на стандартном вводе. Если это значение равно нулю, он будет ждать вечно.
Эта опция перезадаётся опцией командной строки -or.
Таймаут для входящих SMTP-сообщений контролируется опцией
smtp_receive_timeout.
Имя | Использование |
Тип | Значение по умолчанию |
received_header_text | main | string |
смотрите ниже |
Эта опция задаёт содержимое заголовка сообщения
Received:, который добавляется к каждому собщению, за
исключением штампа времени, который добавляется автоматчески в конце (с
предшествующей точкой с запятой). Строка раскрывается каждый
раз при использовании. Если раскрытие приводит к пустой строке, заголовок
Received: к сообщению не добавляется. Иначе строка должна начинаться с
текста Received: и соответствовать спецификации RFC 2822 для
строк заголовка Received:. Значение по умолчанию:
received_header_text = Received: \
${if def:sender_rcvhost {from $sender_rcvhost\n\t}\
{${if def:sender_ident \
{from ${quote_local_part:$sender_ident} }}\
${if def:sender_helo_name {(helo=$sender_helo_name)\n\t}}}}\
by $primary_hostname \
${if def:received_protocol {with $received_protocol}} \
${if def:tls_cipher {($tls_cipher)\n\t}}\
(Exim $version_number)\n\t\
${if def:sender_address \
{(envelope-from <$sender_address>)\n\t}}\
id $message_exim_id\
${if def:received_for {\n\tfor $received_for}}
|
Ссылка на шифрование TLS опущена, когда exim собран
без поддержки TLS. Использование условных раскрытий гарантирует, что
это работает для локально сгенерированных сообщений и для сообщений,
полученных с удалённых хостов, давая строки заголовка, типа таких:
Received: from scrooge.carol.example ([192.168.12.25] ident=root)
by marley.carol.example with esmtp (Exim 4.00)
(envelope-from <bob@carol.example>)
id 16IOWa-00019l-00 for chas@dickens.example;
Tue, 25 Dec 2001 14:43:44 +0000
Received: by scrooge.carol.example with local (Exim 4.00)
id 16IOWW-000083-00; Tue, 25 Dec 2001 14:43:41 +0000
|
Пока тело сообщения не получено, штамп времени время
начала приёма сообщения. Как только получено тело сообщения, и
все проверки политик произошли, штамп времени обновляется до времени, в
которое было принято сообщение.
Имя | Использование |
Тип | Значение по умолчанию |
received_headers_max | main | integer |
30 |
Когда сообщение должно быть доставлено, подсчитывается число заголовков
Received: и, если оно больше этого параметра, предполагается, что произошло
зацикливание почты, доставка прерывается и генерируется сообщение об ошибке.
Это применяется к локальной и удалённой доставкам.
Имя | Использование |
Тип | Значение по умолчанию |
recipient_unqualified_hosts | main | host list |
не задана |
Эта опция задает список тех хостов, от которых exim
готов принять неквалифицированные адреса получателей в конвертах сообщений.
Адреса полностью квалифицируются путём дополнения значением
qualify_recipient. Эта опция также применяется к строкам заголовков.
Exim не отклоняет неквалифицированные адреса получателей в заголовках, но он
их квалифицирует только, когда сообщение пришло с хоста, совпадаюшего с
recipient_unqualified_hosts, или если сообщение было переданно
локально (не используя TCP/IP), и не была установлена опция -bnq.
Имя | Использование |
Тип | Значение по умолчанию |
recipients_max | main | integer |
0 |
Если эта опция установлена более, чем в ноль, она
определяет максимальное число оригинальных получателей для любого сообщения.
Дополнительные получатели, которые сгенерированы алиасингом или
форвардингом не считаются. SMTP-сообщения дают 452-й ответ для всех
получателей, превышающих предел, более ранние
получатели доставляются нормально. Не-SMTP сообщения со слишком большим
числом получателей неуспешны, и никаких дотавок не происходит.
Отметьте: RFC определяет, что
SMTP-сервер должен
принять по крайней мере 100 команд RCPT в одном сообщении.
Имя | Использование |
Тип | Значение по умолчанию |
recipients_max_reject | main | boolean |
ложь |
Если эта опция установлена в истину, exim отклоняет
SMTP-сообщения, содержащие слишком много получателей, выдавая ошибку 552
на избыточные команды RCPT и ошибку 554 на возможную команду DATA.
Иначе (по умолчанию) он выдаёт ошибку 452 на избыточные команды RCPT и
принимает сообщение от имени начального набора получателей.
Удалённый сервер должен снова послать сообщение для оставшихся получателей в
более позднее время.
Имя | Использование |
Тип | Значение по умолчанию |
remote_max_parallel | main | integer |
2 |
Эта опция контролирует параллельные доставки одного
сообщения к множеству удалённых хостов. Если значение меньше чем 2,
параллельная доставка отключена, и exim делает все удалённые доставки
для сообщения по одной. Иначе, если единичное сообщение нужно доставить
более, чем одному удалённому хосту, или если несколько копий необходимо
доставить на один и тот же удалённый хост, одновременно производятся до
remote_max_parallel доставок. Если требуется более, чем
remote_max_parallel доставок, запускается максимальное число
процессов, и как только заканчивается один, начинается другой.
Порядок запуска процессов точно такой же, как при последовательной доставке,
и может управляться опцией remote_sort_domains.
Если параллельная доставка имеет место, когда включена работа с отладкой,
отладочный вывод для каждого процесса доставки отмечается
его идентификатором процесса.
Эта опция контролирует только максимальное число
параллельных доставок для одного сообщения в одном процессе доставки exim.
Поскольку exim не имеет центрального менеджера очереди, нет способа управлять
общим числом одновременных доставок, если конфигурация позволяет попытку
доставки сразу после получения сообщения.
Если Вы хотите контролировать общее число доставок на
систему, Вам необходимо установить опцию queue_only.
Это гарантирует, что все входящие сообщения ставятся в очередь без
запуска процесса доставки. Затем настройте демон exim на запуск процесса
обработчика очереди в соответствующих интервалах (скорей всего, часто,
например, раз в минуту) и ограничьте общее число обработчиков очереди путём
установки параметра queue_run_max. Поскольку каждый обработчик очереди
доставляет лишь одно сообщение за раз, максимальное число доставок, которые
смогут происходить одновременно, это queue_run_max, умноженное на
remote_max_parallel.
Если Вы просто хотите контролировать удалённые доставки,
используйте queue_smtp_domains вместо queue_only.
Это добавляет примущества от использования SMTP-роутинга до очереди таким
образом, чтобы несколько сообщений для одного хоста доставлялись
за одно соединение.
Имя |
Использование |
Тип |
Значение по умолчанию |
remote_sort_domains |
main | domain list |
не задана |
Когда существует много удалённых доставок для
сообщения, они сортируются по доменам в порядке,
заданном этим списком. Например,
remote_sort_domains = *.cam.ac.uk:*.uk
|
вызвала бы попытку вначале доставить все адреса в домен cam.ac.uk,
затем в домен uk, а затем к остальным доменам.
Имя |
Использование |
Тип |
Значение по умолчанию |
retry_data_expire |
main | time |
7d |
Эта опция устаналивает время использовать до (use before),
в информации повторов в базе данных подсказок (hints) exim.
Любые более старые данные повторов игнорируются. Таким образом, это значит,
что, например, если хост не был проверен в течение 7 дней, exim ведёт
себя так, будто прошлых неудач не было.
Имя |
Использование |
Тип |
Значение по умолчанию |
retry_interval_max |
main | time |
24h |
Раздел 32 описывает механизмы exim
для контроля интервалов между попытками доставки сообщения, которое не может
быть доставлено немедленно. Эта опция устанавливает полный предел временного
отрезка между повторами. Она не может быть установлена более 24 часов, любая
попытка так сделать приведёт к значению по умолчанию.
Имя |
Использование |
Тип |
Значение по умолчанию |
return_path_remove |
main | boolean |
истина |
RFC 2821, секция 4.4, заявляет, что сервер SMTP
должен вставить строку заголовка Return-path: в сообщение, когда он
совершает финальную доставку. Заголовок Return-path: сохраняет адрес
отправителя, как он был передан в команде MAIL. Это описание подразумевает,
что этот заголовок не должен присутствовать во входящих сообщениях.
Если опция return_path_remove истинна, любой существующий заголовок
Return-path: удаляется из сообщения при его приёме.
Транспорты exim имеют опции для добавления заголовка Return-path:
во время доставки. Обычно они используются только для
заключительных локальных доставок.
Имя |
Использование |
Тип |
Значение по умолчанию |
return_size_limit |
main | integer |
100K |
Эта опция устаревший синоним для bounce_return_size_limit.
Имя |
Использование |
Тип |
Значение по умолчанию |
rfc1413_hosts |
main | host list |
* |
Идентификационные запросы RFC 1413, производимые к
любому клентскому хосту, который совпадает с элементом в списке.
Имя |
Использование |
Тип |
Значение по умолчанию |
rfc1413_query_timeout |
main | time |
5s |
Эта опция устанавливает таймаут для
идентификационных вызовов RFC 1413. Если она установлена в ноль, вызовы
RFC 1413 не производятся.
Имя |
Использование |
Тип |
Значение по умолчанию |
sender_unqualified_hosts |
main | host list |
не задана |
Эта опция список тех хостов, от которых exim
готов принять неквалифицированные адреса получателей.
Адреса квалифицируются опцией qualify_domain.
Эта опция также затрагивает строки заголовков.
Exim не отклоняет неквалифицированные адреса в заголовках, которые
содержат адрес отправителя, но он их квалифицирует лишь в случае, если
сообщение пришло с хоста, совпадающего с sender_unqualified_hosts, или
если сообщение было передано локально (не используя TCP/IP), и не была
задана опция -bnq.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_accept_keepalive |
main | boolean |
истина |
Эта опция управляет установкой опции SO_KEEPALIVE
для входящих соединений сокетов TCP/IP. Когда она установлена, это
говорит ядру периодически пробовать неактивные соединения путём посыла пакета
со старыми номерами последовательности. Другой конец соединеия должен послать
подтверждение, если соединение всё ещё существует, или сброс,
если соединение было прервано. Причина, по которой это делается, в том, что
это вызывает полезный эффект освобождения определённых типов подключений,
которые могут застревать, когда удалённый хост отсоединился без
соответсвующего запроса TCP/IP. Механизм keepalive занимает
несколько часов для обнаружения недостижимых хостов.
Имя | Использование |
Тип | Значение по умолчанию |
smtp_accept_max | main | integer |
20 |
Эта опция определяет максимальное число
одновременных входящих вызовов SMTP, которые exim примет.
Это применяется только к слушающему демону: она не управляет exim,
когда входящие SMTP-подключения обрабатываются inetd.
Если значение установлено в ноль, ограничения снимаются. Однако, она обязана
быть отличной от нуля, если установлена опция smtp_accept_max_per_host
или smtp_accept_queue. Также смотрите опцию
smtp_accept_reserve.
Имя | Использование |
Тип | Значение по умолчанию |
smtp_accept_max_nonmail |
main | integer | 10 |
Exim считает число непочтовых (non-mail) команд в
SMTP-сессии и разрывает её, если их слишком много. Эта опция задаёт, что
такое "слишком много". Проверка ловит некоторые атаки отказ-в-обслуживании,
повторяющиеся неправильные AUTH или сумашедшее зацикливание клиента,
например, посылая HELO. Проверка применяется лишь, если клиентский хост
совпадает с smtp_accept_max_nonmail_hosts.
Когда ожидается новое сообщение,
не подсчитывается одно RSET. Это позволяет клиентам посылать одну
команду RSET до сообщения (это не нужно, но некотрые клиенты так делают).
Exim также разрешает одну неподсчитываемую команду HELO или EHLO и одну
STARTTLS между сообщениями. После запуска TLS-сессии ожидается иное HELO,
таким образом, оно тоже не считается. Первая команда AUTH в соединении или
сразу после STARTTLS также не считается. Иначе, подсчитываются все команды,
кроме MAIL, RCPT, DATA и QUIT.
Имя | Использование |
Тип | Значение по умолчанию |
smtp_accept_max_nonmail_hosts |
main | host list | * |
Вы можете контролировать, какие хосты подчиняются проверке
smtp_accept_max_nonmail путём установки этой опции.
Значение по умолчанию применяет её ко всем хостам. Изменяя значение, Вы
можете исключить любые хосты с неправильным поведением, с которыми
Вам надо переписываться.
Имя | Использование |
Тип | Значение по умолчанию |
smtp_accept_max_per_connection |
main | integer | 1000 |
Значение этой опции ограничивает число команд MAIL,
которые exim готов принять в течение одного SMTP-подключения вне
зависимости от того, приводит ли каждая команада к передаче сообщения.
После исчерпания лимита выдаётся 421 ответ на последующие команды MAIL.
Этот предел предосторожность против неадекватных клиентов
(были замечены такие инциденты).
Имя | Использование |
Тип | Значение по умолчанию |
smtp_accept_max_per_host | main | string |
не задана |
Эта опция ограничивает число одновременных IP-подключений
с одного хоста (строго с одного IP-адреса) к демону exim.
Опция раскрывается для обнаружения различных ограничений,
применяемых к различным хостам, по $sender_host_address.
Когда лимит исчерпан, дополнительные попытки подключения с того же хоста
отклоняются с кодом ошибки 421. Значение по умолчанию, ноль,
не налагает никаких ограничений. Если опция установлена, она требует, чтобы
smtp_accept_max была ненулевой.
Предупреждение: при установке этой опции Вы
не должны использовать любые конструкции
раскрытия, которые занимают заметное время. Раскрытие и проверка происходят в
цикле главного демона для отклонения дополнительных подключений без запуска
лишнего процесса (иначе атака отказ-в-обслуживании может вызвать создание
большого числа процессов). Во время выполнения этой обработки демон не может
принимать другие входящие подключения.
Имя | Использование |
Тип | Значение по умолчанию |
smtp_accept_queue | main | integer |
0 |
Если число одновременных входящих SMTP-подключений,
обрабатываемых слушающим демоном, превысит это значение, сообщения,
передаваемые через SMTP, лишь помещаются в очередь: процессы доставки
автоматически не запускаются. Значение ноль означает отсутствие
лимитов и ясно, что полезны лишь значения, отличные от нуля, лишь если
оно меньше, чем smtp_accept_max (если оно не ноль).
Также смотрите опции командной строки queue_only, queue_only_load,
queue_smtp_domains и различные -odx.
Имя | Использование |
Тип | Значение по умолчанию |
smtp_accept_queue_per_connection |
main | integer | 10 |
Эта опция ограничивает число процессов доставки,
которые exim запускает автоматически, когда получает сообщение по SMTP
через демона или путём использования -bs или -bS.
Если значение опции больше нуля, и число сообщений, передаваемых в одной
SMTP-сессии, превышает это число, последующие сообщения помещаются в очередь,
но процессы доставки не запускаются. Это помогает ограничить число процессов
exim при перезапуске сервера после простоя, и есть много почты ожидающей его
на других системах. На больших системах значение по умолчанию, вероятно,
должно быть увеличено, а на системах с дозвоном по модему, оно, вероятно,
должно быть равно нулю (отключено).
Имя | Использование |
Тип | Значение по умолчанию |
smtp_accept_reserve | main | integer |
0 |
Когда smtp_accept_max установлено в значение,
больше нуля, эта опция определяет число SMTP-соединений, которые
зарезервированы для хостов, перечисленных в smtp_reserve_hosts.
Значение в smtp_accept_max включает это резервирование.
Указанные хосты не ограничены этим числом подключений: опция определяет
минимальное число соединений для них, но не максимум. Это гарантирует, что
группа хостов всегда может получить по крайней мере
smtp_accept_reserve число подключений.
Например, если smtp_accept_max установлена в 50, а
smtp_accept_reserve установлена в 5, как только будет 45 активных
соединений (от любых хостов), новые соединения будут приниматься лишь
для хостов, перечисленных в smtp_reserve_hosts.
Также смотрите smtp_accept_max_per_host.
Имя | Использование |
Тип | Значение по умолчанию |
smtp_active_hostname | main | string |
не задана |
Эта опция предоставлена для многодомашних (multi-homed)
серверов, которые могут выдавать себя за несколько различных хостов.
В начале SMTP-соединения это значение раскрывается и используется в
SMTP-ответах вместо значения $primary_hostname. Например, это используется
как имя домена в ответ на входящую команду HELO или EHLO.
Также это используется в командах HELO для
проверки обратным вызовом. Активное имя хоста помещается в переменную
$smtp_active_hostname, которая сохраняется с любыми полученными сообщениями.
Поэтому она доступна для использования в роутерах и
транспортах, когда сообщение доставляется позднее.
Если эта опция не задана, раскрытие принудительно
неудачно или раскрытие вернуло пустую строку, используется значение
$primary_hostname. Другие ошибки раскрытия вызывают запись сообщения
в главный и тревожный протоколы, а SMTP-командой передаётся временная ошибка.
Обычно значение smtp_active_hostname зависит от адреса
интерфейса, с которого идёт сообщение. Например:
smtp_active_hostname = ${if eq{$interface_address}{10.0.0.1}\
{cox.mydomain}{box.mydomain}}
|
Имя | Использование |
Тип | Значение по умолчанию |
smtp_banner | main | string |
смотрите ниже |
Эта строка, которая раскрывается каждый раз при
использовании, выводится как начальный положительный ответ
на SMTP-подключение. Значение по умолчанию такое:
smtp_banner = $smtp_active_hostname ESMTP Exim \
$version_number $tod_full
|
Ошибка раскрытия строки вызывает глобальную ошибку.
Если Вы хотите создать многостроковый ответ на начальное SMTP-соединение,
используйте \n в соответствующих точках строки, но не в конце.
Отметьте, что код 220 не включен в строку. Exim добавляет его автоматически
(многократно в случае многострочного ответа).
Имя | Использование |
Тип | Значение по умолчанию |
smtp_check_spool_space | main | boolean |
истина |
Когда эта опция установлена, если во входящем SMTP-сеансе
будет опция SIZE в команде MAIL, она проверяет, что есть
достаточно свободного места в каталоге спула для приёма сообщения
этого размера, где всё ещё остаётся свободным количество, заданное
check_spool_space (даже если это значение ноль).
Если нет достаточного количества свободного места, возвращается
код временной ошибки.
Имя | Использование |
Тип | Значение по умолчанию |
smtp_connect_backlog | main | integer |
20 |
Эта опция задаёт максимальное число
ожидающих SMTP-соединений. Exim передаёт это значение системе TCP/IP,
когда он устанавливает её слушателя. Тогда это число соединений, ожидающих
внимания демона, последующим попыткам подключения отказывается на
уровне TCP/IP. В некоторых ситуациях наблюдались таймауты этих попыток
соединения. Для больших систем стоит увеличить это значение (хотя бы до 50).
Также это даёт некоторую защиту против атак типа
отказ-в-ослуживании, SYN-флуда.
Имя | Использование |
Тип | Значение по умолчанию |
smtp_enforce_sync | main | boolean |
истина |
Спецификация протокола SMTP требует, чтобы клиент
ждал ответа сервера в определённых точках диалога. Без PIPELINING эти
точки синхронизации после каждой команды: а вот с PIPELINING их меньше, но
они всё ещё существуют.
Некоторые спамеры высылают полный набор команд SMTP без
ожидания какого-либо ответа. Exim защищает от этого, путём отклонения
сообщения, если клиент посылал будущий ввод команды, когда этого не должно
было бы быть. Посылается ответ об ошибке 554 SMTP synchronization
error, и соединение обрывается. Тестирование на эту ошибку не может быть
идеальным, поскольку задержки передачи (неожиданный ввод может
находиться в пути, но не получен при проверках exim).
Однако, этим детектируется много случаев.
Эта проверка может быть глобально отключена путём
установки smtp_enforce_sync в ложь. Если Вы хотите выборочно отключить
эту проверку (например, только для определённых хостов), можете это
сделать путём соответствующего использования модификатора control
в ACL (смотрите раздел 39.18 и
опцию pipelining_advertise_hosts).
Имя | Использование |
Тип | Значение по умолчанию |
smtp_etrn_command | main | string |
не задана |
Если эта опция установлена, данная команда
выполняется каждый раз при получении команды SMTP ETRN с хоста,
которому разрешено давать такие команды (смотрите
раздел 39). Строка разделяется на отдельные
аргументы, которые раскрываются независимо. Переменная раскрытия $domain
устанавливается из аргумента команды ETRN, проверок её
синтаксиса не производится. Например:
smtp_etrn_command = /etc/etrn_command $domain $sender_host_address
|
Для запуска команды создаётся новый процесс, но exim не
ждёт его завершения. Следовательно, его статус не может быть проверен.
Если команда не может быть запущена, это пишется в протокол тревоги, но
вызывающему ETRN всё равно передаётся успешный код 250.
Exim обычно запускается под собственным uid, когда получает SMTP,
таким образом, невозможно сменить uid до выполнения команды.
Имя | Использование |
Тип | Значение по умолчанию |
smtp_etrn_serialize | main | boolean |
истина |
Когда эта опция установлена, она предотвращает
одновременное выполнение более, чем одной идентичной команды, как
результат ERTN в SMTP-соединении. Для получения дополнительных деталей
смотрите раздел 44.8.
Имя | Использование |
Тип | Значение по умолчанию |
smtp_load_reserve | main | fixed-point |
не задана |
Если средняя загрузка системы становиться выше, чем
тут указано, входящие SMTP-соединения принимаются только от тех хостов,
которые совпадают с smtp_reserve_hosts. Если smtp_reserve_hosts
не задана, входящие SMTP-вызовы не принимаются, когда
загрузка превышает лимит. Опция не имеет эффекта на старых
операционных системах, в которых exim не может определить среднюю загрузку.
Также смотрите deliver_queue_load_max и queue_only_load.
Имя | Использование |
Тип | Значение по умолчанию |
smtp_max_synprot_errors | main | integer |
3 |
Exim отклоняет команды SMTP, содержащие ошибки
синтаксиса или протокола. В частности, синтаксически неправильный адрес
электронной почты в этой команде:
приводит к немедленному отклонению команды до других проверок.
ACL не могут быть запущены, если нет допустимого адреса для его установки.
Пример ошибки протокола: передача RCPT до MAIL. Если происходит слишком много
синтаксических ошибок или ошибок протокола в одной
SMTP-сессии, соединение разрывается. Ограничение устанавливается этой опцией.
Когда используется расширение SMTP PIPELINING, некоторые
ошибки протокола ожидаемы, например, команда RCPT после
отклонённой команды MAIL. Exim предполагает, что PIPELINING будет
использоваться, если он информировал о нём (смотрите
pipelining_advertise_hosts), и в этой ситуации ожидаемые ошибки
не суммируются к лимиту.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_max_unknown_commands |
main | integer |
3 |
Если слишком много нераспознанных команд во
входящей SMTP-сессии, сервер exim обрывает соединение. Это защита от
некоторых спамеров, ломающих сайты, заставляя их создавать соединения
на SMTP-порты. В этих случаях сначала посылается много команд не-SMTP.
Имя |
Использование |
Тип |
Значение по умолчанию |
smtp_ratelimit_hosts |
main | host list |
не задана |
Некоторые серверы считают полезным ограничивать
частоту, с которой определённые хосты могут им посылать письма, и
частоту, с которой индивидуальные сообщения могут определять получателей.
Exim имеет два фактора, ограничивающих частоту.
Эта секция описывает старое средство, которое может ограничивать
частоту в одном соединении. Более новое условие ACL может ограничивать
частоту для всех соединений. Для получения деталей о новом
средстве смотрите раздел 39.30.
Когда хост совпадает с smtp_ratelimit_hosts,
используются значения smtp_ratelimit_mail и smtp_ratelimit_rcpt
для контроля частоты приёма команд MAIL и RCPT в
единственной SMTP-сессии, соответственно. Каждая опция, если задана,
должна содержать четыре значения, разделённых запятыми:
- Порог, до которого нет ограничений частоты.
- Начальная задержка времени. В отличие от других времён в exim, тут
разрешены цифры с десятичными дробными частями.
- Фактор, по которому каждый раз увеличивается время задержки.
- Максимальное значение для задержки. Оно обычно должно быть
менее пяти минут, поскольку клиент после этого времени подвергает
SMTP-команду таймауту. Например, эти установки успешно
использовались на сервере, который первым предложил эту деталь,
для контроля почты от клиентов:
smtp_ratelimit_mail = 2,0.5s,1.05,4m
smtp_ratelimit_rcpt = 4,0.25s,1.015,4m
|
Первая установка определяет задержки, применяемые к
командам MAIL после того, как две были переданы по одному соединению.
Начальная задержка 0.5 секунды, увеличивающаяся по фактору 1.05 каждый раз.
Вторая установка применяет задержки к командам RCPT, когда их
бывает более четырёх в одном сообщении.
Имя | Использование |
Тип | Значение по умолчанию |
smtp_ratelimit_mail | main | string |
не задана |
Смотрите выше опцию smtp_ratelimit_hosts.
Имя | Использование |
Тип | Значение по умолчанию |
smtp_ratelimit_rcpt | main | string |
не задана |
Смотрите выше опцию smtp_ratelimit_hosts.
Имя | Использование |
Тип | Значение по умолчанию |
smtp_receive_timeout | main | time |
5m |
Этим устанавливается значение таймаута для приёма SMTP.
Это применяется ко всем формам ввода SMTP, включая пакетный SMTP.
Если строка ввода (включая команды SMTP или строки данных) не получена
в пределах этого времени, подключение SMTP
разрывается, а сообщение отбрасывается.
В протокол пишутся строки, содержащие одно из следующих сообщений:
SMTP command timeout on connection from...
SMTP data timeout on connection from...
|
Первая означает, что exim ожидал чтения SMTP-команды.
Последняя означает, что он был в фазе данных, читая содержимое сообщения.
Значение этой опции может быть перезадано путём опции из командной строки
-os. Установка значения времени в ноль отключает таймаут, но это
никогда не должно использоваться для SMTP через TCP/IP. Это может быть
полезным в некоторых случаях локального ввода, используя -bs
или -bS. Для не-SMTP ввода таймаутом приёма управляет опция
receive_timeout или -or.
Имя | Использование |
Тип | Значение по умолчанию |
smtp_reserve_hosts | main | host list |
не задана |
Эта опция задаёт хосты, для которых
резервируются SMTP-соединения. Смотрите выше опции
smtp_accept_reserve и smtp_load_reserve.
Имя | Использование |
Тип | Значение по умолчанию |
smtp_return_error_details | main | boolean |
ложь |
В состоянии по умолчанию, когда происходит отклонение
команд SMTP по настройкам политик, exim использует вежливые собщения,
типа Administrative prohibition. Это нравится многим системным
администраторам, поскольку даёт мало информации спамерам.
Однако, некоторые другие системные администраторы, применяющие жёсткую
политику проверки, хотят выдавать намного более полную информацию об ошибках.
Установка smtp_return_error_details в истину заставляет exim
быть более приветливым. Например, вместо Administrative prohibition
он мог бы выдать:
550-Rejected after DATA: '>' missing at end of address:
550 failing address in "From" header is: <user@dom.ain
|
Имя |
Использование |
Тип |
Значение по умолчанию |
spamd_address |
main | string |
смотрите ниже |
Эта опция доступна лишь, если exim собран с
поддержкой расширения контентного сканирования. Этим определяется, как
exim присоединяется к демону SpamAssassin. Значение по умолчанию:
Для получения дополнительных деталей
смотрите раздел 40.2.
Имя | Использование |
Тип | Значение по умолчанию |
split_spool_directory | main | boolean |
ложь |
Если эта опция установлена, это заставляет exim
разбить свой входной каталог на 62 субкаталога, каждый с именем в
виде одного буквенно-цифрового символа. Шестой символ идентификатора
сообщения используется для распределения сообщений по
субкаталогам: это наименее значащая из цифра, по основанию 62,
времени прибытия сообщения.
Разделение спула позволяет
увеличить производительность в системах, где длинные почтовые очереди,
уменьшая число файлов в одном каталоге. Каталог msglog делится таким же
способом, как и input, однако, если preserve_message_logs установлена,
все старые протоколы всё равно помещаются в один каталог msglog.OLD.
Нет необходимости предпринимать какие-то действия для
существующих сообщений, когда изменяется split_spool_directory.
Exim замечает сообщения, находящиеся в неверном месте, и
продолжает обрабатывать их. Если опция будет отключена, то
после периода обработки субкаталоги, в конечном счёте, опустеют и
будут автоматически удалены.
Когда опция split_spool_directory
установлена, изменяется поведение обработчика очереди. Вместо создания списка
всех сообщений в очереди и последующей попытки доставить каждое из них, он
создаёт их список в одном субкаталоге и пробует доставить их до перехода к
следующему подкаталогу. Подкаталоги обрабатываются в случайном порядке.
Это разворачивает сканирование входных каталогов и использует меньше памяти.
Особенно это выгодно, когда в очереди много сообщений.
Однако, если установлена опция queue_run_in_order,
не происходит ни одна из новых обработок. Вся очередь должна быть просмотрена
и отсортирована до того, как начнутся какие бы то ни было доставки.
Имя |
Использование |
Тип |
Значение по умолчанию |
spool_directory |
main | string |
Устанавливается при компиляции |
Эта опция задаёт каталог, в который exim
сохраняет обрабатываемые сообщения, то есть, сообщения, ожидающие доставки.
Значение по умолчанию берётся из компиляционных настроек, если они есть.
Если нет, эта опция должна быть задана. Строка раскрывается, таким
образом она может содержать, например, ссылку на $primary_hostname.
Если имя каталога спула задано
при инсталляции, рекомендуется, чтобы Вы использовали настройки из
инсталляции, а не из этой опции, особенно, если протоколы пишутся в каталог
спула (смотрите log_file_path). Иначе протоколы не могут
использоваться для ошибок, детектируемых на ранней стадии,
типа ошибок в файле конфигурации.
Путём использования этой опции для отмены
вкомпилированного пути, можно запускать тесты exim без
использования стандартного спула.
Имя |
Использование |
Тип |
Значение по умолчанию |
sqlite_lock_timeout |
main | time |
5s |
Эта опция контролирует таймаут, который используется
поисками sqlite, когда пытаются обратиться к БД SQLite.
Для получения дополнительных деталей смотрите
раздел 9.24.
Имя |
Использование |
Тип |
Значение по умолчанию |
strip_excess_angle_brackets |
main | boolean |
ложь |
Если эта опция задана, из элемента адреса route-addr,
удаляются избыточные пары угловых скобок.
Например, <<xxx@a.b.c.d>> обрабатывается как <xxx@a.b.c.d>.
Если это в конверте, и сообщение передаётся другому MTA, лишние угловые
скобки не передаются. Если эта опция не задана, несколько пар угловых
скобок вызывают ошибку синтаксиса.
Имя |
Использование |
Тип |
Значение по умолчанию |
strip_trailing_dot |
main | boolean |
ложь |
Если эта опция установлена, завершающая точка в
конце домена, в адресе, игнорируется. Если это в конверте, и точка с
сообщением передаётся другому MTA, то точка не передаётся. Если эта опция
не задана, точка в конце домена вызывает синтаксическую ошибку.
Однако, адреса в строках заголовков проверяются только, когда ACL запрашивает
проверку синтаксиса заголовков.
Имя |
Использование |
Тип |
Значение по умолчанию |
syslog_duplication |
main | boolean |
истина |
Когда exim пишет протоколы в syslog, он пишет строки
для трёх своих отдельных протоколов с различным приоритетом таким образом,
чтобы они в принципе могли быть разделены на хосте протоколирования.
Некоторые инсталляции не требуют этого разделения, и в этих случаях
дублирование определённых строк представляет собой неприятность.
Если syslog_duplication установлена в ложь, лишь одна копия любых
специфических строк протоколов пишется в syslog. Для строк, обычно идущих в
оба протокола (главный и отклонённых), версия для протокола отклонённых
(возможно, содержащая строки заголовков сообщения) записывается с
приоритетом LOG_NOTICE. Строки, обычно идущие в оба протокола, главный и
тревоги, пишутся с приоритетом LOG_ALERT.
Имя |
Использование |
Тип |
Значение по умолчанию |
syslog_facility |
main | string |
не задана |
Эта опция устанавливает имя средства syslog, используемого
когда exim пишет протоколы в syslog. Значение может быть одной из строк mail,
user, news, uucp, daemon или localx, где x число между 0 и 17.
Если эта опция не задана, используется mail. Для дополнительных деталей о
протоколировании exim смотрите раздел 48.
Имя |
Использование |
Тип |
Значение по умолчанию |
syslog_processname |
main | string |
exim |
Эта опция устанавливает имя ident syslog,
используемое когда exim пишет протоколы в syslog. Значение может быть
не более 32-х символов. Для дополнительных деталей о протоколировании
exim смотрите раздел 48.
Имя |
Использование |
Тип |
Значение по умолчанию |
syslog_timestamp |
main | boolean |
истина |
Если опция syslog_timestamp установлена в ложь,
штампы времени в строках протоколов exim опущены, когда эти
строки посылаются в syslog. Для дополнительных деталей о протоколировании в
exim смотрите раздел 48.
Имя |
Использование |
Тип |
Значение по умолчанию |
system_filter |
main | string |
не задана |
Эта опция определяет фильтр exim, применяемый ко всем
сообщениям в начале каждой попытки доставки, до завершения любого роутинга.
Системные фильтры должны быть фильтрами exim: они не могут
быть фильтрами Sieve. Если системный фильтр генерирует любую доставку в
файл или в канал, либо любое новое почтовое сообщение, должна быть
установлена соответствующая опция system_filter_..._transport
для определения, какие транспорты должны использоваться. Детали об этом
средстве даны в разделе 42.
Имя |
Использование |
Тип |
Значение по умолчанию |
system_filter_directory_transport |
main | string |
не задана |
Эта опция устанавливает драйвер транспорта,
который будет использоваться, когда команда save в системном фильтре
сообщений определяет путь, заканчивающийся на /, подразумевая доставку
каждого сообщения в отдельный файл в какой-то каталог.
В течение доставки переменная $address_file содержит имя пути.
Имя |
Использование |
Тип |
Значение по умолчанию |
system_filter_file_transport |
main | string |
не задана |
Эта опция устанавливает драйвер транспорта,
который будет использоваться, когда команда save в системном фильтре
сообщений определяет путь, не заканчивающийся на /.
В течение доставки переменная $address_file содержит имя пути.
Имя |
Использование |
Тип |
Значение по умолчанию |
system_filter_group |
main | integer |
не задана |
Эта опция используется лишь когда задана опция
system_filter_user. Она устанавливает gid, под которым работает
системный фильтр, перезадавая любой gid, ассоциированный с пользователем.
Значение может быть цифровым или символьным.
Имя |
Использование |
Тип |
Значение по умолчанию |
system_filter_pipe_transport |
main | string |
не задана |
Эта опция определяет драйвер транспорта,
который будет использоваться при использовании команды
pipe в системном фильтре. В процессе доставки переменная
$address_pipe содержит команду канала (pipe).
Имя |
Использование |
Тип |
Значение по умолчанию |
system_filter_reply_transport |
main | string |
не задана |
Эта опция определяет драйвер транспорта,
который будет использоваться при использовании команды
mail в системном фильтре.
Имя |
Использование |
Тип |
Значение по умолчанию |
system_filter_user |
main | string |
не задана |
Если эта опция не задана, системный фильтр работает в главном процессе
доставки exim как пользователь, от имени которого запущен exim. Внимание! Это
может привести к проблемам конфигурации. Раньше это был root.
Когда эта опция установлена, системный фильтр работает в отдельном
процессе под заданным пользователем. Если строка не состоит полностью из
цифр, она ищется в БД паролей. Ошибка нахождения имени пользователя
вызывает конфигурационную ошибку. Идентификатор группы gid, берётся из
БД паролей или определяется опцией system_filter_group.
Когда uid задан в цифровом виде, system_filter_group
должна быть установлена.
Если системный фильтр генерирует доставку pipe, file или
reply, для транспортировки используется uid, под которым работает системный
фильтр, если опции транспорта это не переопределяют. Обычно Вам необходимо
устанавливать system_filter_user, если системный фильтр
производит эти виды доставок.
Имя |
Использование |
Тип |
Значение по умолчанию |
tcp_nodelay |
main | boolean |
истина |
Если эта опция установлена в ложь, это
останавливает настройку опции TCP_NODELAY демона exim на слушаемых сокетах.
Установка TCP_NODELAY выключает Nagle algorithm, являющийся способом улучшить
сетевую производительность в интерактивных (познаковых) ситуациях.
Выключение его должно немного улучшить
работосопособность exim, таким образом это и установлено по умолчанию.
Однако, выявляются некоторые клиенты, с которыми
невозможно совладать, и происходит таймаут. Поэтому присутствует эта опция.
Она имеет эффект только на те сокеты, которые установлены
для слушающего демона. Сокеты, создаваемые транспортом smtp для доставки
почты, всегда устанавливают TCP_NODELAY.
Имя |
Использование |
Тип |
Значение по умолчанию |
timeout_frozen_after |
main | time |
0s |
Если опция timeout_frozen_after
установлена во время, большее нуля, замороженные сообщения любого вида,
которые находятся в очереди больше данного времени, автоматически отменяются
в следующую работу очереди. Если это рикошеты, они просто удаляются.
Иначе отправителю посылается рикошет в манере, подобной отмене опцией
командной строки -Mg. Если Вы хотите сделать таймаут замороженных
рикошетов меньше, чем других видов замороженных сообщений, смотрите опцию
ignore_bounce_errors_after.
Имя |
Использование |
Тип |
Значение по умолчанию |
timezone |
main | string |
не задана |
Значение опции timezone используется для
установки переменной окружения TZ при работе exim (если она отличается от
той, что была при входе). Это гарантирует, что все штампы времени, созданные
exim, находятся в нужном часовом поясе. Если Вы хотите, чтобы все штампы
времени были в UTC (то есть, GMT), Вы должны установить:
Значение по умолчанию берётся из TIMEZONE_DEFAULT в
Local/Makefile или, если оно не задано, из значения переменной
окружения TZ при сборке exim. Если timezone установлено в пустую
строку или строится при выполнении, любая существующая переменная TZ
удаляется из переменных окружения при работе exim.
Это соответствующее поведение для получения текущего времени на некоторых,
но, к сожалению, не на всех операционных системах.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_advertise_hosts |
main | host list |
не задана |
Когда exim собран с поддержкой
шифрованных соединений TLS, доступность команды STARTTLS
для установки шифрованных сессий сообщается в EHLO лишь тем клиентским
хостам, которые совпадают с этой опцией. Для подробной информации о поддержке
exim TLS смотрите раздел 38.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_certificate |
main | string |
не задана |
Значение этой опции раскрывается и должно быть
абсолютным путём к файлу, содержащему серверные сертификаты.
Секретный ключ сервера, как предполагается, также находится в этом файле,
если не задана опция tls_privatekey.
Для дополнительных деталей смотрите раздел 38.
Отметьте: сертификаты, заданные этой опцией,
используются лишь, когда exim получает входящие сообщения как сервер.
Если Вы хотите предлагать для использования, когда сообщение посылается
как клиент, Вы должны установить опцию tls_certificate в
подходящем транспорте smtp.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_crl |
main | string |
не задана |
Эта опция определяет список аннулирования сертификатов.
Раскрытое значение может быть файлом, содержащим CLR в формате PEM.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_dhparam |
main | string |
не задана |
Значение этой опции раскрывается и должно быть
абсолютным путём к файлу, содержащему значения параметра DH сервера.
Это используется только для OpenSSL. Когда exim скомпонован с GnuTLS,
эта опция игнорируется. Для дополнительных деталей смотрите
раздел 38.2.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_on_connect_ports |
main | string list |
не задана |
Эта опция определяет список входящих SSMTP
(то есть, SMTPS) портов, которые должны управляться устаревшим SSMTP (SMTPS)
протоколом, где сессии TLS устанавливается немедленно, без ожидания пока
клиент даст команду STARTTLS. Для дополнительных деталей смотрите
раздел 13.4.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_privatekey |
main | string |
не задана |
Значение этой опции раскрывается и должно быть
абсолютным путём к файлу, который содержит секретные ключи сервера.
Если эта опция не задана, её раскрытие принудительно неудачно или
результат пустая строка предполагается, что частный ключ находится в
том же файле, что и сертификаты сервера. Для дополнительных
деталей смотрите раздел 38.2.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_remember_esmtp |
main | boolean |
ложь |
Если эта опция установлена в истину,
exim нарушает RFC помня, что он в состоянии esmtp, после успешных переговоров
о TLS-сессии. Это предоставляет поддержку клиентов, которые
не в состоянии послать новую команду HELO, после начала сессии TLS.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_require_ciphers |
main | string |
не задана |
Эта опция контролирует, какие шифры
могут использоваться для входящей сессии TLS. Транспорт smtp имеет
опцию с тем же самым именем для контроля исходящих соединений.
Эта опция раскрывается для каждого соединения,
таким образом может изменяться для различных клиентов, если это требуется.
Значение этой опции должно быть списком разрешённых наборов шифров.
Библиотеки OpenSSL и GnuTLS обрабатывают управление шифрами
несколько различными способами. Если используется GnuTLS, клиент
управляет предпочтительным порядком доступных шифров.
Детали даны в разделах 38.4 и
38.5.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_try_verify_hosts |
main | host list |
не задана |
Смотрите ниже опциюtls_verify_hosts.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_verify_certificates |
main | string |
не задана |
Значение этой опции раскрывается и должно быть
абсолютным путём к файлу, содержащему разрешённые сертификаты для
клиентов, которые совпадают с tls_verify_hosts или tls_try_verify_hosts.
Альтернативно, если Вы используете OpenSSL, можете установить
tls_verify_certificates в имя каталога, содержащего файлы сертификатов.
Это не работает с GnuTLS: опция должны быть установлена в имя одного
файла, если Вы используете GnuTLS.
Имя |
Использование |
Тип |
Значение по умолчанию |
tls_verify_hosts |
main | host list |
не задана |
Эта опция, наряду с tls_try_verify_hosts,
контролирует проверку сертификатов клиентов. Ожидаемые сертификаты заданы
опцией tls_verify_certificates, которая должна быть установлена.
Если установлена tls_verify_hosts или tls_try_verify_hosts
и не задана tls_verify_certificates,
происходит конфигурационная ошибка.
Любые клиенты, совпадающие с tls_verify_hosts,
принудительно подвергаются tls_verify_certificates.
Клиент должне предоставить один из перечисленных сертификатов.
Если он этого не делает, соединение разрывается.
Более слабая форма проверки предоставялется опцией
tls_try_verify_hosts. Если клиент совпадает с этой опцией (но не с
tls_verify_hosts), exim запрашивает сертификат и проверяет, что он
соотетствует tls_verify_certificates, но не разрывает соединение, если
сертификата нет или он не совпадает. Это может быть определено в ACL,
делающей возможной осуществление политики типа принимать для релея лишь если
был передан проверенный сертификат, но принимать для локальной доставки, если
зашифрованное, даже без подтверждённого сертификата. У хостов, не совпадающих
ни с одним из этих списков, не запрашиваются сертификаты.
Имя |
Использование |
Тип |
Значение по умолчанию |
trusted_groups |
main | string list |
не задана |
Эта опция раскрывается лишь один раз,
при старте процесса exim. Если она задана, доверенным является любой процесс,
работающий в одной из перечисленных групп, или у которого одна из них
является дополнительной. Группы могут быть заданы в цифровой форме
или по именам. Смотрите раздел 5.2 для
получения дополнительной информации о том, что разрешено делать
вызывающим доверенным группам. Если не установлены ни trusted_groups,
ни trusted_users, доверие будет лишь к root и пользователю exim.
Имя | Использование |
Тип | Значение по умолчанию |
trusted_users | main | string list |
не задана |
Эта опция раскрывается лишь один раз, при
старте процесса exim. Если она задана, доверенным является любой процесс,
работающий под перечисленным пользователем. Пользователи могут быть
заданы в цифровой форме или по именам. Смотрите
раздел 5.2 для получения дополнительной информации о том, что разрешено
делать вызывающим доверенным пользователям. Если не установлены ни
trusted_groups, ни trusted_users, доверие будет
лишь к root и пользователю exim.
Имя | Использование |
Тип | Значение по умолчанию |
unknown_login | main | string |
не задана |
Это специальная особенность для
использования в необычных конфигурациях. По умолчанию, если используя
getpwuid() не может быть найден uid того, кто вызывает exim, exim отключается.
Опция unknown_login может использоваться для задания логина,
использующегося в таких случаях. Эта опция раскрывается, таким образом,
может быть задано значение типа user $caller_uid.
Когда используется опция unknown_login, значение
unknown_username используется для реального имени пользователя (поле
geos), если оно не было задано путём опции -F.
Имя | Использование |
Тип | Значение по умолчанию |
unknown_username | main | string |
не задана |
Смотрите unknown_login.
Имя |
Использование |
Тип |
Значение по умолчанию |
untrusted_set_sender |
main | address list |
не задана |
Когда недоверенный пользователь передаёт сообщение
exim используя стандартный ввод, exim обычно создаёт адрес
отправителя конверта из логина пользователя и дефолтового
квалификационного домена. Данные из опции -f
(для установки отправителей конверта не-SMTP сообщений) или команды SMTP MAIL
(если используются -bs или -bS), игнорируются.
Однако, недоверенным пользователям разрешено устанавливать
пустой адрес конверта, для объявления, что сообщение никогда не должно
генерировать рикошетов. Например:
exim -f '<>' user@domain.example
|
Опция untrusted_set_sender
разрешает Вам позволить недоверенным пользователям
устанавливать иного отправителя конверта, управляемым способом. Когда
она установлена, недоверенным пользователям разрешено устанавливать
адрес отправителя конверта, который совпадает с любым шаблоном в этом
списке. Как и все списки адресов, строка раскрывается. Идентичность
пользователя находится в $sender_ident, таким образом, Вы можете, например,
ограничить пользователей установкой отправителей начинающихся с их логинов,
сопровождаемых дефисом, путём установки похожей на эту:
untrusted_set_sender = ^$sender_ident-
|
Если Вы хотите разрешить недоверенным пользователям
без ограничений устанавливать адрес отправителя конверта,
Вы можете использовать:
Опция untrusted_set_sender
применяется ко всем формам локального ввода, но
лишь к установке отправителя конверта. Она не позволяет недоверенным
пользователям устанавливать иные опции, которые доверенные пользователи
могут использовать для переопределения параметров сообщений.
Кроме того, она не мешает exim удалить из сообщения существующий заголовок
Sender: или добавить заголовок Sender:,
если имеется необходимость. Смотрите опции local_sender_retain и
local_from_check для способов перезадания этих действий.
Обработка заголовка Sender:
также описана в разделе 43.16.
Строки протоколов для прибывших сообщений показывают
отправителя конверта, сопровождаемого <=. Для локальных сообщений логин
пользователя всегда показан после U=. В отображении -bp и в мониторе
exim, если недоверенный пользователь устанавливает адрес отправителя
конверта, логин пользователя показан в круглых скобках
после адреса отправителя.
Имя |
Использование |
Тип |
Значение по умолчанию |
uucp_from_pattern |
main | string |
смотрите ниже |
Некоторые приложения, которые передают сообщения
MTA через интерфейс командной строки, используют начальную строку,
начинающуюся с From, для передачи конверта сообщения.
В частности, это используется софтом UUCP. Exim распознаёт такую строку
регулярным выражением, которое задано в uucp_from_pattern.
Когда шаблон совпадает, адрес отправителя конструируется путём раскрытия
содержимого uucp_from_sender при условии, что exim
вызывает доверенный пользователь. Шаблон по умолчанию
распознаёт строки в следующих двух формах:
From ph10 Fri Jan 5 12:35 GMT 1996
From ph10 Fri, 7 Jan 97 14:00:00 GMT
|
Шаблон можно увидеть путём запуска:
exim -bP uucp_from_pattern
|
Он проверяет только с точностью до часов и минут и
разрешает двух или четырёх цифровой год во втором случае. Первое слово после
From совпадает с регулярным выражением с субшаблоном. Значение по умолчанию
для uucp_from_sender $1, использующее лишь первое слово
(ph10 в примере выше), как отправтеля сообщения. Также смотрите опцию
ignore_fromline_hosts.
Имя | Использование |
Тип | Значение по умолчанию |
uucp_from_sender | main | string |
$1 |
Смотрите выше опцию uucp_from_pattern.
Имя |
Использование |
Тип |
Значение по умолчанию |
warn_message_file |
main | string |
не задана |
Эта опция задаёт файл шаблона, содержащий параграфы
текста, используемого для составления предупреждающего сообщения,
посылаемого exim, когда сообщение пробыло в очереди указанное время,
как задано в delay_warning. Детали о содержимом этого
файла даны в разделе 45. Также смотрите опцию
bounce_message_file.
Имя |
Использование |
Тип |
Значение по умолчанию |
write_rejectlog |
main | boolean |
истина |
Если эта опция установлена в ложь, exim ничего не пишет
в соответствующий протокол отклонённых. Смотрите раздел
48 для получения деталей о том, что exim пишет в свои протоколы.
|