RussianLDP Рейтинг@Mail.ru
WebMoney: 
WMZ Z294115950220 
WMR R409981405661 
WME E134003968233 
YandexMoney: 
41001198119846 
E-gold:
5128052

Перевод выполнен Алексеем Паутовым в рамках некоммерческого проекта RussianLDP (http://www.rldp.ru/). Именно на этом сайте и надлежит искать новые версии, если таковые будут.

5. Командная строка Exim

Командная строка exim имеет стандартную UNIX-форму последовательности опций, которые начинаются с символа дефиса, за которым следует несколько параметров. Опции совместимы с основными опциями Sendmail, а также есть дополнительные опции, некоторые из которых совместимы с Smail 3. Определённые комбинации опций не имеют смысла, при попытке их использования происходит ошибка. Формат параметров зависит от того, какие опции заданы.

5.1. Установка опций именем программы

Если exim вызывается под именем mailq, он ведёт себя как будто перед другими опциями присутствует опция -bp. Опция -bp запрашивает список содержимого почтовой очереди и выводит его на стандартный вывод. Эта возможность имеется для совместимости с некоторыми системами, содержащими команды с использованием этого имени в одной из стандартных библиотек, символически связанных с /usr/sbin/sendmail или /usr/lib/sendmail.

Если exim вызывается под именем rsmtp, он ведёт себя, как будто перед другими опциями присутствует опция -bS, для совместимости с Smail. Опция -bS используется для подсчёта числа сообщений в пакетном SMTP-формате.

Если exim вызывается под именем rmail, он ведёт себя, как будто перед другими опциями присутствуют опции -i и -oee, для совместимости с Smail. Имя rmail используется как интерфейс некоторыми UUCP-системами.

Если exim вызывается под именем runq, он ведёт себя, как будто перед другими опциями присутствует опция -q, для совместимости с Smail. Опция -bS используется для запуска одиночного процесса обработчика очереди.

Если exim вызывается под именем newaliases, он ведёт себя, как будто перед другими опциями присутствует опция -bi для совместимости с Sendmail. Эта опция используется для пересборки файла алиасов Sendmail. Exim понятия не имеет об одиночном файле алиасов, но может быть сконфигурирован для выполнения с опцией -bi.

5.2 Доверенные и административные пользователи

Некоторые опции exim доступны только для доверенных пользователей (trusted users), и другие доступны лишь для административных пользователей (admin users). В описании ниже фразы "пользователь exim" (Exim user) и "группа Exim" (Exim group) означают пользователя и группу, заданных как EXIM_USER и EXIM_GROUP в Local/Makefile, или установленных опциями exim_user и exim_group конфигурационного файла. Они не обязательно должны использовать имя exim.

Доверенные пользователи это root, пользователь exim любой пользователь, перечисленный в конфигурационной опции trusted_users, и любой пользователь, текущая или дополнительная группа которого перечислена в конфигурационной опции trusted_groups. Обратите внимание, что группе exim доверие автоматически не устанавливается.

Доверенным пользователям всегда разрешено использовать опцию -f или продолжение строки From для определения отправителя конверта сообщения, принятого exim через локальный интерфейс (смотрите ниже опции -bm и -f). Смотрите опцию untrusted_set_sender для способа разрешить недоверенным пользователям устанавливать отправителя конверта.

Для доверенных пользователей никогда не проверяется содержимое заголовков From: и никогда не добавляется строка заголвка Sender:. Кроме того, любые существующие строки Sender: во входящих локальных (не по TCP/IP) сообщениях не удаляются.

Также доверенные пользователи могут задать имя хоста, адрес хоста, адрес интерфейса, имя протокола, значение ident и аутентификационные данные при отправке сообщения локально. Таким образом, они могут вставить в локальную очередь exim сообщения, которые имеют характеристики сообщений, полученных с удалённых хостов. Недоверенные пользователи, при некоторых обстоятельствах, используют -f, но никогда не могут устанавливать другие значения, доступные для доверенных пользователей.

Административный пользователь: root, пользователь exim, любые другие пользователи, которые являются членами группы exim или любой группы, перечисленной в конфигурационной опции admin_groups. Текущая группа не должна быть одной из этих групп.

Административным пользователям разрешено просматривать список очереди и выполнять определённые операции над сообщениями, например, вызывать принудительную ошибку доставки сообщения. Также необходимо быть административным пользователем, чтобы видеть полную информацию, предоставляемую монитором exim и полную отладочную информацию.

По умолчанию использование опций -M, -q, -R и -S для попытки доставки доставки сообщения в очереди, доступно только административным пользователям. Однако, это ограничение может быть ослаблено установкой опции prod_requires_admin в false (то есть, задав no_prod_requires_admin).

Точно так же использование опции -bp для получения списка всех сообщений в очереди доступно лишь административным пользователям, если queue_list_requires_admin не установлена в false.

Предупреждение: Если Вы конфигурируете Вашу систему так, чтобы административные пользователи имели возможность редактировать конфигурационный файл exim, Вы даёте этим пользователям простой способ получить root-доступ. Дальнейшее обсуждение этой проблемы в начале главы 6.

5.3 Опции командной строки

Командные опции описаны в алфавитном порядке, ниже.

  • --: Это псевдоопция, назначение которой указать конец опций и обработать последующие параметры как параметры, а не опции, даже если они начинаются с дефисов.
  • --help: Эта опция заставляет exim вывести несколько фраз о том, что он такое (какой он). Тот же самый вывод генерируется при запуске бинарного файла exim без опций и параметров.
  • -B type: Это опция sendmail для выбора 7-ми или 8-ми битной обработки. Exim полностью 8-ми битный, он игнорирует эту опцию.
  • -bdЭта опция запускает exim как демон, ожидающий входящих SMTP-соединений. Обычно опция -bd комбинируется с опцией -q time для задания, что демон обработчика очереди также должен периодически выполняться.

    Опция -bd может использоваться только административными пользователями. Если установлены опции -d (отладка) или -v (проверка), демон не отключается от контрольного терминала. При работе таким способом он может быть остановлен нажатием Ctrl+C.

    По умолчанию exim ждёт входящие подключения на стандартном SMTP-порту на всех работающих интерфейсах хоста. Однако, он может слушать на других портах, на нескольких портах и только на определённых интерфейсах. Раздел 13 содержит описание опций, управляющих этим.

    Когда слушающий демон запущен без использования -oX (то есть, не отменяя нормальную конфигурацию), он пишет идентификатор процесса в файл с именем exim-daemon.pid, находящийся в каталоге спула exim. Это местоположение может быть перезадано установкой PID_FILE_PATH в Local/Makefile. Файл записывается в то время, когда exim всё ещё работает от пользователя root.

    Когда -oX используется в командной строке для запуска слушающего демона, идентификатор процесса не записывается в pid-файл, находящийся по нормальному пути. Однако, опция -oP может быть использована для задания пути в командной строке, если pid-файл необходим.

    Сигнал SIGHUP может быть использован для непосредственного перевызова демона. Это необходимо сделать всякий раз, когда конфигурационный файл exim или файл, непосредственно в него включенный посредством .include, изменён, а также всякий раз, когда установлена новая версия exim. Нет необходимости делать это, когда изменяются другие файлы, на которые ссылаются из конфигурации (например, файлы алиасов), поскольку они перечитываются при каждом использовании.

  • -bdf: Эта опция имеет такой же эффект, как и -bd за исключением, что процесс никогда не отключается от терминала, даже если отладка не задана.
  • -be: Запускает exim в режиме тестирования раскрытий. Exim снимает с себя root-привилегии, чтобы предотвратить использование этого режима обычными пользователями для чтения недоступных им файлов. Если не задано никаких аргументов, exim выполняется в интерактивном режиме, запрашивая строки данных. Иначе, он обрабатывает каждый параметр по очереди.

    Если exim собран с USE_READLINE=yes в Local/Makefile, то он пробует динамически загрузить библиотеку libreadline каждый раз, когда опция -be используется без параметров командной строки. В случае успеха он использует функцию readline(), которая предоставляет обширные средства редактирования строки, для чтения тестовых данных. История строк поддерживается.

    Длинные выражения раскрытия могут быть разбиты на несколько строк, используя продолжения с обратным слэшем. Как в рабочей конфигурации exim, пустые символы игнорируются в начале строк продолжения. Каждый аргумент или строка данных проходят через механизм раскрытия строк и результат выводится. Значения переменных из конфигурационного файла (например, $qualify_domain) доступны, но значения специфичные для сообщения (например, $domain) не установлены, поскольку нет сообщения в обработке. Примечание: если Вы используете этот механизм для тестирования поиска, и изменяете файлы данных или БД, которые используете, Вы должны выйти и рестартовать exim перед новой попыткой такого же поиска. Иначе, поскольку каждый процесс exim кэширует результаты поисков, Вы получите такой же результат, как и прежде.

  • -bem filename: Это функционирует подобно -be за исключением того, что это должно сопровождаться именем файла, который содержит сообщение.
  • -bF filename: Эта опция то же самое, что и -bf за тем исключением, что предполагается, что тестируемый фильтр системный. Дополнительные команды, которые доступны только в системном фильтре, также распознаются.
  • -bf filename: Эта опция запускает exim в режиме тестрования пользовательского фильтра: filename это файл фильтра, который будет тестироваться, и тестовое сообщение должно быть предоставлено на стандартном вводе. Если в фильтре нет зависимых от сообщения тестов, может быть предоставлен пустой файл.

    Если Вы хотите тестировать системный фильтр, используйте -bF вместо -bf. Вы можете использовать обе опции -bF и -bf в одной команде для проверки системного фильтра и пользовательского одновременно. Например:
    exim -bF /system/filter -bf /user/filter </test/message
    

    Это полезно, когда системный фильтр добавляет строки заголовка или устанавливает переменные фильтра, применяемые пользовательским фильтром.

    Если тестируемый файл фильтра не начинается с одной из специальных строк
    # Exim filter
    # Sieve filter
    
    то он берётся как нормальный файл .forward и проверяется на валидность в этой интерпретации. Смотрите секции 22.4 и 22.6 для описания возможного содержимого нефильтровых списков перенаправления.

    Результаты команды exim, использующей -bf, если не обнаружены ошибки, являются списком действий, которые exim попробовал бы предпринять, если бы это было реальное сообщение. Более подробное рассмотрение тестирования фильтров дано в отдельной главе 54, озаглавленной Интерфейс Exim для фильтрации почты.

    Когда тестируется файл фильтра, отправитель конверта может быть задан при помощи опции -f или при помощи строки From в начале тестового сообщения. Различные параметры, которые бы обычно брались из адреса получателя конверта сообщения, могут быть установлены посредством дополнительных опций командной строки (смотрите последующие четыре опции).

  • -bfd domain: Эта опция устанавливает домен адреса получателя, когда файл фильтра тестируется с использованием опции -bf. Значение по умолчанию $qualify_domain.
  • -bfl local part: Эта опция устанавливает локальную часть адреса получателя, когда файл фильтра тестируется с использованием опции -bf. По умолчанию имя пользователя процесса, вызвавшего exim. Локальная часть должна быть указана с любым префиксом или суффиксом, поскольку именно в таком виде он появляется в фильтре при фактической доставке сообщения.
  • -bfp prefix: Эта опция устанавливает префикс локальной части адреса получателя, когда файл фильтра тестируется с использованием опции -bf. Значение по умолчанию пустой префикс.
  • -bfs suffix: Эта опция устанавливает суффикс локальной части адреса получателя, когда файл фильтра тестируется с использованием опции -bf. Значение по умолчанию пустой суффикс.
  • -bh IP address: Эта опция запускает поддельную SMTP-сессию как будто от заданного IP-адреса с использованием стандартного ввода и вывода. IP-адрес может включать номер порта в конце после точки. Например:
    exim -bh 10.9.8.7.1234
    exim -bh fe80::a00:20ff:fe86:a061.5678
    

    Когда задан адрес IPv6, он конвертируется в каноническую форму. В случае второго примера, выше, значение $sender_host_address после преобразования будет fe80:0000:0000:0a00:20ff:fe86:a061.5678.

    Комментарии относительно происходящего пишутся в стандартный файл ошибок. Они включают строки, начинающиеся с LOG для того, что должно быть запротоколировано. Это средство предоставлено для того, чтобы тестировать конфигурационные опции входящих сообщений для удостверения, что они реализуют необходимую политику. Например, Вы можете тестировать элементы управления релеем, используя -bh.

    Предупреждение 1: Вы не можете тестировать конфигурационные возможности, которые зависят от обратных вызовов ident (RFC 1413). Их нельзя произвести в тестировании с использованием опции -bh, поскольку отсутсвует входящее SMTP-соединение.

    Предупреждение 2: обратные вызовы проверки адреса (смотрите раздел 39.32) также пропускаются при тестировании с использованием опции -bh. Если Вы хотите, чтобы эти обратные вызовы произошли, используйте опцию -bhc вместо -bh.

    Сообщения, доставленные в течение сессии тестирования, отбрасываются, и никакие данные не записываются ни в один из реальных протоколов. Могут быть паузы, когда присходит поиск в DNS (или другой), и они могут исчерпать лимит времени. Опция -oMi может использоваться для определения специфического IP-адреса и порта, если есть такая необходимость.

    Утилита exim_checkaccess, упакованная (packaged) версия -bh, чей вывод только лишь говорит, допустим ли данный адрес получателя для данного хоста или нет. Смотрите раздел 49.8.

  • -bhc IP address: Эта опция работает таким же образом, как и -bh исключая то, что обратный вызов проверки адреса выполняется, если требуется. Это включает запрос и обновление БД обратных вызовов.
  • -bi: Sendmail интерпретирует опцию -bi как запрос на ребилдинг своей БД алиасов. Exim не имеет представления об одиночном файле алиасов, и таким образом, он не может подражать такому поведению. Однако, вызовы /usr/lib/sendmail с опцией -bi имеют тенденцию появляться в различных скриптах, типа NIS make-файлах, таким образом, эта опция должна быть распознана.

    Если встречатеся опция -bi, то запускается команда, определённая как bi_command в конфигурационном файле, под uid и gid вызывашего exim. Если используется опция -oA, её значение передаётся команде как параметр. Команда, установленная bi_command, может не содержать аргументов. Команда может использовать exim_dbmbuild или другие срадства для перестройки файла алиасов, если это необходимо. Если опция bi_command не задана, вызов exim с -bi пустая команда.

  • -bm: Эта опция запускает процесс exim, принимающий входящие локально сгенерированные сообщения на текущем вводе. Получатели задаются как аргументы команды (кроме тех случаев, когда присутствует опция -t, см. ниже). Каждый аргумент может быть списком адресов, согласно RFC 2822, с разделителем в виде запятой. Это опция по умолчанию для выбора полного действия при вызове exim: предполагается, что не присутствует никакая другая конфликтующая опция.

    Если какие-либо адреса в сообщении неквалифицированные (не имеют домена), они квалифицируются значением опции qualify_domain или qualify_recipient. Опция -bnq (смотрите ниже) является способом подавить это для особых случаев.

    Проверки политик на содержимое локальных сообщений могут быть осуществлены при помощи не-SMTP ACL. Для дополнительных деталей смотрите главу 39.

    В случае упешного приёма сообщения, код возврата ноль. Иначе, действием управляет установка опции -oe x: смотрите ниже. Формат сообщения должна соответствовать RFC 2822 за тем исключением, что для совместимости с Sendmail и Smail строка в одной из форм:
    From sender Fri Jan  5 12:55 GMT 1997
    From sender Fri, 5 Jan 97 12:55:05
    
    (опционально с днём недели и, возможно, дополнительным текстом после даты) может присутствовать в начале сообщения. Тут форматом спецификации не описывается эта строка. Exim распознаёт её по совпадению с регулярным выражением, заданным опцией uucp_from_pattern, которая может быть изменена в случае необходимости.

    Указанный отправитель обрабатывается, как если бы он давался как параметр опции -f, но если опция -f присутствует, её параметр используется вместо адреса, взятого из сообщения. Вызывающая exim программа должна работать от доверенного пользователя для установки отправителя сообщения.

  • -bnq: По умолчанию exim автоматически квалифицирует неквалифицированные адреса (то есть, без домена), которые появляются в сообщениях, посылаемых локально (не по TCP/IP). Эта квалификация применяется к адресам конверта и к строкам заголовков. Адрес отправителя квалифицируется с использованием значения опции qualify_domain, а адрес получателя с использованием qualify_recipient (у которой значение по умолчанию qualify_domain).

    Иногда квалификация не требуется. Например, если используется -bS (пакетный SMTP) для повторной передачи сообщений, пришедших с удалённого хоста, после контентного сканирования Вы, вероятно, не хотите квалифицировать неполные адреса в строках заголовков. Такие строки будут присутствовать только, если Вы не захотели включить проверку синтаксиса заголовков в соответствующей ACL.

    Опция -bnq подавляет всю квалификацию неквалифицированных адресов в сообщениях, приходящих на локальный хост. Когда она используется, неполный адрес в конверте вызывает ошибки (вызывающие отклонение сообщения), а неполные адреса в строках заголовка оставляются как есть.

  • -bP: Если эта опция даётся без параметров, то она выводит все конфигурационные опции exim на стандартный вывод. Значения одного или нескольких специфических параметров можно запросить, задав их имена как аргументы, например:
    exim -bP qualify_domain hold_domains
    

    Однако, любой параметр настройки, которому в конфигурационном файле предшествует слово hide, не показывается полностью никому, кроме административного пользователя. Для других пользователей вывод как в этом примере:
    mysql_servers = value not displayable
    

    Если configure_file задан как аргумент, выводится имя конфигурационного файла работающей конфигурациию. Если список конфигурационных файлов был задан, выводимое значение: имя реально использующегося файла.

    Если дан log_file_path или pid_file_path, выводятся имена каталогов, где пишутся протоколы и pid демона, соответственно. Если эти значения не установлены, протоколы пишутся в субкаталог спула с именем log, а pid-файл пишется непосредственно в каталог спула.

    Если опция -bP сопровождается именем с предшествующим ему +, например:
    exim -bP +local_domains
    
    ищется соответствие именованного списка любого типа (доменов, хостов, адресов или локальных частей) и выводится найденное.

    Если дано одно из слов router, transport или authenticator, сопровождаемое именем соответствующего драйвера, выводятся параметры настройки этого драйвера. Например:
    exim -bP transport local_delivery
    

    Вначале выводятся общие опции драйверов, сопровождаемые частными опциями драйвера. Список имён драйверов специфического типа может быть получен использованием слов router_list, transport_list или authenticator_list, а полный список всех драйверов с их параметрами настройки можно получить, используя routers, transports или authenticators.

  • -bp: Эта опция запрашивает список содержимого почтовой очереди на стандартный вывод. Если опция -bp сопровождается списком идентификаторов сообщений, то показываются только эти сообщения.

    Каждое сообщение очереди отображается как в этом примере:
    25m   2.9K 0t5C6f-0000c8-00 <alice@wonderland.fict.example>
       red.king@looking-glass.fict.example
       <other addresses>
    

    Первая строка содержит временной отрезок, который сообщение находится в очереди (в данном случае 25 минут), размер сообщения (2,9 kb), уникальный локальный идентификатор сообщения и отправителя сообщения, как содержится в конверте. Для рикошетов адрес отправителя пуст и появляется как <>. Если сообщение послано локально недоверенным пользователем, который изменил адрес отправителя по умолчанию, логин пользователя показывается в круглых скобках перед адресом отправителя.

    Если сообщение заморожено (приостановлена попытка его доставки), тогда в конце этой строки показывается текст *** frozen ***. Получатели сообщения (взятые из конверта, а не из заголовков) показаны в последующих строках. Адреса, по которым сообщение уже доставлено, отмечены символом D. Если оригинальный адрес раскрывается в несколько адресов через файл псевдонимов или форвардов, оригинальный показывается с D только, когда завершены доставки для всех дочерних адресов.

  • -bpa: Эта опция работает так же, как и -bp, но кроме того, она показывает доставленные адреса, сгенерированные из оригинального адреса верхнего уровня в каждом сообщении при помощи алиасинга или форвардинга. Эти адреса помечены +D вместо просто D.
  • -bpc: Эта опция подсчитывает число сообщений в очереди и пишет общее количество на стандарный вывод. Пользование этим ключом разрешено только административным пользователям, если queue_list_requires_admin не является ложью.
  • -bpr: Эта опция работает так же, как и -bp, но вывод не сортируется в хронологическом порядке по прибытию сообщений. Это может ускорить вывод, когда в очереди много сообщений и особенно полезно, если вывод будет обработан способом, не нуждающимся в сортировке.
  • -bpra: Эта опция является комбинацией -bpr и -bpa.
  • -bpru: Эта опция является комбинацией -bpr и -bpu.
  • -bpu: Эта опция работает как -bp, но показывает только недоставленные адреса верхнего уровня для каждого отображённого сообщения. Адреса, сгенерированные алиасингом и форвардингом, не показываются, если сообщение не было задержано после обработки роутером с установленной опцией one_time.
  • -brt: Эта опция для тестирования правил повторов, и она должна сопровождаться до трёх параметров. Она заставляет exim искать правила повтора, которые совпадают со значением, и вывести их на стандартный вывод. Например:
    exim -brt bach.comp.mus.example
    Retry rule: *.comp.mus.example F,2h,15m; F,4d,30m;
    

    Смотрите раздел 32 для информации о правилах повторов exim. Первый аргумент, являющийся обязательным, может быть полным адресом в форме local_part@domain или только именем домена. Если второй аргумент содержит точку, он интерпретируется как опциональное второе имя домена, если не найдено правил повтора для первого аргумента, используется второй. Это связано с поведением exim, когда ищется правило повтора для удалённого хоста: если правило не найдено, используется общее совпадение с почтовым доменом. В конце можно дать для использования в правилах повторов параметр, являющийся именем для специфической ошибки доставки. Например:
    exim -brt haydn.comp.mus.example quota_3d
    Retry rule: *@haydn.comp.mus.example quota_3d F,1h,15m
    

  • -brw: Эта опция для тестирования правил перезаписи адресов, и она должна сопровождаться одним аргументом, состоящим из локальной части, без домена, или полным адресом с полным доменом. Exim выводит, как этот адрес был бы перезаписан для каждого возможного места его появления. Для дальнейших подробностей смотрите раздел 31.
  • -bS: Эта опция используется для пакетного ввода SMTP, который является альтернативным интерфейсом для локальной неинтерактивной передачи сообщений. Можно передавать много сообщений за один запуск. Однако, несмотря на его название, в действительности, это не SMTP-ввод. Exim читает конверт каждого сообщения из SMTP-команд со стандартного ввода, но не генерирует никаких ответов. Если вызывающему доверяют, или установлена опция untrusted_set_sender, то отправителям в командах SMTP MAIL верят. Иначе отправителем всегда будет пользователь, вызвавший exim.

    Само сообщение читается из стандартного ввода, содержимое входящих пакетных SMTP-сообщений может быть проверено, используя не-SMTP ACL (смотрите раздел 39). Неквалифицированные адреса автоматически квалифицируются с использованием qualify_domain и qualify_recipient, соответственно, если не используется опция -bnq.

    Некоторые другие SMTP-команды распознаются во вводе. HELO и EHLO действуют как RSET. VRFY, EXPN, ETRN и HELP как NOOP. QUIT задает выход, игнорируя остальную часть стандартного ввода.

    Если встречается какая-то ошибка, отчёт записывается на стандартный вывод и в потки ошибок, и exim прекращает обработку. Возвращаемый код равен 0, если ошибок не было, 1 если одно и более сообщение было принято до обнаружения ошибки, иначе он 2.

    Более подробно об использовании пакетного ввода SMTP рассказано в секции 44.11.

  • -bs: Эта опция заставляет exim принимать одно или более сообщений путём чтения SMTP-команд со стандатного ввода и создавать ответы на стандартный вывод. SMTP ACL применяются (смотрите раздел 39). Некоторые пользовательские агенты используют этот интерфейс как способ передать локально сгенерированные сообщения MTA.

    В этом использовании, если вызывающему доверяют или установлена опция untrusted_set_sender, то отправителям в командах SMTP MAIL верят. Иначе содержимое этих команд игнорируется и отправителем всегда будет пользователь, вызвавший exim. Неквалифицированные адреса автоматически квалифицируются с использованием qualify_domain и qualify_recipient, соответственно, если не используется опция -bnq.

    Опция -bs также используется для запуска exim из inetd, как альтернативу использованию слушающего демона. Exim может различать эти два случая проверяя, является ли стандартный ввод TCP/IP сокетом. Когда exim вызывается из inetd предполагается, что источник почты удалённый, и описанное выше относительно квалификации неполных адресов не применяется. В этой ситуации exim ведёт себя точно так же, как и слушающий демон при приёме сообщения.

  • -bt: Эта опция запускает exim в режиме тестирования адресов, в котором каждый параметр берётся как адрес, который будет тестироваться на доставку. Результаты пишутся на стандартный вывод. Если тест неудачен, и вызывающий не административный пользователь, детали об ошибке не выводятся, поскольку они могут содержать секретную информацию, типа имён пользователей и паролей для поиска в БД.

    Если аргументов не дано, exim запускается в интерактивной манере, запрашивая с правой угловой скобкой адреса для тестирования. В отличие от тестовой опции -be, Вы не можете заставить exim использовать функцию readline(), поскольку он запущен от root, и это вопрос безопасности.

    Каждый адрес обрабатыватся, как будто он адрес получателя сообщения (сравните опцию -bv). Он передаётся роутерам, а результат записывается на стандартный вывод. Однако, некоторые роутеры, у которых установлено no_address_test, обходятся. Это может сделать опцию -bt более лёгкой для использования в настоящих тестах роутеров, если первый маршрутизатор передаёт всё программе сканирования.

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

    Предупреждение: опция -bt может сделать только относительно простое тестирование. Если любой из маршрутизаторов проводит тестирование адреса отправителя сообщения, Вы можете использовать опцию -f для установки соответствующего отправителя. Без этого предполагается, что отправитель пользователь, вызывавший программу, квалифицируемый доменом по умолчанию. Однако, если Вы установили (например) маршрутизаторы, поведение которых зависит от содержимого входящего сообщения, Вы не сможете протестировать эти условия с использованием -bt. Опция -N предоставляет один из способов сделать такие тесты.

  • -bV: Эта опция заставляет exim вывести на стандартный вывод текущий номер версии, номер компиляции и дату компиляции исполняемого файла exim. Также перечисляются используемые DBM библиотеки, опциональные модули (типа специфических типов поиска), драйверы, непосредственно включенные в исполняемый файл, и имя используемого файла конфигурации.

    Как часть этой операции -bV заставляет exim читать и проверять синтаксис конфигурационного файла. Однако это лишь статическая проверка. Он не может проверить значения, которые должны быть раскрыты. Например, хотя ACL с орфографическими ошибками находится, ошибки в параметрах не находятся. Вы не можете положиться только на -bV для нахождения всех опечаток (например), необходимо более-менее реалистичное тестирование. Опции -bh и -N предоставляют более реалистичные средства тестирования.

  • -bv: Эта опция запускает exim в режиме тестирования адресов, в котором каждый параметр берётся как адрес, который будет проверяться. В нормальных условиях проверка обычно происходит обработкой условий verify в ACL (смотрите раздел 39). Если Вы хотите протестировать всю ACL, смотрите опцию -bh.

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

    Если аргументов не дано, exim запускается в интерактивном режиме с приглашением в виде правой угловой скобки, запрашивая адреса для проверки. В отличие от тестовой опции -be, Вы не можете заставить exim использовать функцию readline(), поскольку он запущен от пользователя exim, и это вопрос безопасности.

    Проверка отличается от тестирования адресов (опция -bt), к которой роутеры, имеющие no_verify, пропускаются, и если адрес принят роутером, имеющим установленную опцию no_verify, проверка не пройдена. Адрес проверяется как получатель, если используется опция -bv. Для тестирования проверки адреса отправителя должна использоваться опция -bvs.

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

    Возвращённый код 2, если любой адрес был напрямую неудачен, 1, если нет напрямую неудачных адресов, но по крайней мере один не мог быть разрешён в DNS по каким-либо причинам. Возвращённый код 0, если все адреса успешны.

    Если какой-то роутер в конфигурации производит какие-либо тесты для адресов отправителя сообщения, Вы должны использовать опцию -f для установки соответствующего отправителя при запуске тестов с опцией -bv. Без этого предполагается, что отправителем является вызвавший программу пользователь с соответствующим доменом.

  • -bvs: Эта опция работает как -bv, но проверяет адрес отправителя как адрес получателя. Это затрагивает любую перезапись и квалификацию, которая могла бы произойти.
  • -C filelist: Эта опция заставляет exim находить файл рабочей конфигурации заданного списка вместо списка, определённого CONFIGURE_FILE при компиляции. Обычно список состоит из одного файла, но это может быть и несколько файлов, разделённых двоеточием. В этом случае используется первый существующий файл. Ошибка открытия существующего файла останавливает exim, не давая ему просматривать остальные файлы из списка, и генерируется ошибка.

    Когда эта опция используется программой, работающей не от root или пользователя exim, и список отличается от указанного при компиляции, exim сбрасывает свои root-привилегии и выполняется под реальным и эффективным uid и gid пользователя, что его вызвал. Однако, если в Local/Makefile задана опция ALT_CONFIG_ROOT_ONLY, root-права доступа оставляются для опции -C лишь в случае, если вызвавший exim пользователь root.

    Таким образом, пользователю exim не даются привилегии в отношении этого. Эта компиляционная опция по умолчанию не установлена в исходном архиве exim. Однако, если Вы используете версию exim из пакетов, то тот, кто собирал программу, мог включить эту опцию.

    Установка ALT_CONFIG_ROOT_ONLY блокирует возможность тестирования конфигурации с использованием опции -C через приём и отправку сообщений, даже если вызывающий пользователь root. Приём работает, но к тому времени exim уже работает под своим пользователем, таким образом, когда он перезапускается для восстановления привилегий для доставки, использование -C заставляет привилегии сброситься. Однако, root может тестировать приём и доставку, используя две раздельные команды (одну, чтобы поместить сообщение в очередь, используя -odq, а другую для доставки, используя -M).

    Если в Local/Makefile задана опция ALT_CONFIG_PREFIX, это определяет строку префикса, с которой должен начинаться любой файл в строке с -C. Кроме того, имя не должно содержать последовательность /../. Однако, если значение опции -C идентично значению CONFIGURE_FILE в Local/Makefile, exim игнорирует -C и работает как обычно. Настройки по умолчанию для ALT_CONFIG_PREFIX отсутствуют: когда он сброшен, в опции -C может использоваться любое имя файла.

    ALT_CONFIG_PREFIX может использоваться, чтобы ограничить альтернативные конфигурационные файлы каталогом, доступ к которому имеет только root. Это не даст тому, кто взломал учётную запись exim привелигированного exim с произвольным конфигурационным файлом.

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

  • -Dmacro=value: Эта опция может использоваться для отмены макроопределений, заданных в конфигурационном файле (смотрите раздел 6.4). Однако, как и -C, если она используется непривелигированным пользователем, она заставляет exim снять свои root-привилегии. Если опция DISABLE_D_OPTION задана в Local/Makefile, использование опции -D полностью заблокировано, а попытка её использования вызывает ошибку и немедленный выход.

    Вся опция (включая равно, если оно присутствует) должна быть в пределах одной строки. -D может использоваться для установки значения макрокоманды в виде пустой строки, в этом случае символ равно опционален. Эти две команды синонимичны:
    exim -DABC  ...
    exim -DABC= ...
    

    Для включения пробелов в макроопределения могут использоваться кавычки. Если Вы используете кавычки, пробелы разрешены вокруг имён макрокоманд и символа равно. Например:
    exim '-D ABC = something' ...
    

    Опция -D может быть повторена до 10 раз в одной командной строке.

  • -ddebug options: Эта опция заставляет exim писать отладочную информацию на стандартный вывод ошибок. Её использование ограничено административными пользователями, поскольку вывод может показать запросы к БД, содержащие пароли. Кроме того, детали пользовательских фильтров должны быть защищены. Когда используется опция -d, -v включается автоматически. Если задан только -d, выводится много отладочной информации. Количество может быть увеличено или уменьшено, включением некоторой редко используемой информации, путём помещения сразу после -d строки, составленной из имён с предшествующим плюсом или минусом. Этим, соответственно, добавляются или удаляются отладочные данные. Например, -d+filter позвоялет выбрать только отладку фильтра. Обратите внимание, что пробелы не используются. Доступны следующие категории:
    acl ACL interpretation
    authauthenticators
    deliver general delivery logic
    dns DNS lookups (see also resolver)
    dnsbl   DNS black list (aka RBL) code
    execarguments for execv() calls
    expand  detailed debugging for string expansions
    filter  filter handling
    hints_lookuphints data lookups
    host_lookup all types of name-to-IP address handling
    ident   ident lookup
    interface   lists of local interfaces
    lists   matching things in lists
    loadsystem load checks
    local_scan  can be used by local_scan() (see chapter 41)
    lookup  general lookup code and all lookups
    memory  memory handling
    pid add pid to debug output lines
    process_infosetting info for the process log
    queue_run   queue runs
    receive general message reception logic
    resolverturn on the DNS resolver's debugging output
    retry   retry handling
    rewrite address rewriting
    route   address routing
    timestamp   add timestamp to debug output lines
    tls TLS logic
    transport   transports
    uid changes of uid/gid and looking up uid/gid
    verify  address verification logic
    all almost all of the above (see below), and also -v
    

    Опция all исключает memory, когда используется как +all, но включает её (в смысле, тоже убирает эту отладку), когда используется как -all. Причина этого в том, что +all то, что люди чаще всего используют для генерации отладки для разработчиков exim. Если включено +memory, вывод будет огромен и он редко представляет интерес, таким образом, теперь его нужно явно затребовать. Однако, -all действительно отключает всё.

    Опция resolver создаёт вывод лишь в случае, если DNS-ресолвер был скомпилирован с включенным DEBUG. Это не так на некоторых операционных системах. Также, к сожалению, отладочный вывод DNS-ресолвера пишется на стандартный вывод, а не на стандартный вывод ошибок.

    По умолчанию (-d без аргументов) не включает expand, filter, interface, load, memory, pid, resolver и timestamp. Однако, выбор pid принудителен, когда отладка включена для демона, который передаёт её другому, перезапускаясь. Exim также автоматически добавляет pid к строкам отладки, когда параллельно выполняются несколько удалённых доставок.

    Опция timestamp причина появления текущего времени в начале всех выводимых строк отладки. Она может быть полезной при попытках найти задержки в обработке.

    Если опция debug_print установлена в любом драйвере, он создаёт вывод каждый раз, когда выбрана отладка, даже если опция -v не используется.

  • -dddebug options: Эта опция ведёт себя точно также, как и -d, кроме случаев использования с командой, запускающей процесс демона. В этом случае отладка выключается для всех создаваемых подпроцессов. Таким образом, это может быть полезным для наблюдения поведения демона, не создавая такой же большой вывод, как при полной отладке.
  • -dropcr: Это устаревшая опция, которая сейчас является пустой командой. Она использовалась для изменения способа обработки exim символов CR и LF во входящих сообщениях. Что происходит сейчас, описано в разделе 43.2.
  • -E: Эта опция определяет, что входящее сообщение сгенерированный локально отчёт об ошибке доставки. Она используется внутри exim и не предназначена для внешнего использования. Её единственый эффект: останавливать генерацию exim определённых сообщений постмастеру, поскольку в небольшом числе ситуаций могли бы возникнуть каскады сообщений. Как часть этой опции, идентификатор сообщения может следовать за символами -E. Если такое происходит, строка протокола для получателя нового сообщения содержит идентификатор сразу после R= как перекрёстная ссылка.
  • -e x: Есть множество опций Sendmail, начинающихся с -oe, которые вызываются различными программами без o в опции. Например, программа vacation использует -eq. Exim обрабатывает все опции формы -e x как синонимичные опциям -oe x.
  • -F string: Эта опция устанавливает полное имя отправителя, которое используется, когда принимается сгенерированное локально сообщение. В отсутствие этой опции, используется элемент gecos из данных пароля пользователя. Поскольку обычно пользователям разрешено менять их поля gecos, не включены никакие вопросы безопасности. Пробел между -F и string опционален.
  • -f address: Эта опция устанавливает адрес отправителя конверта в локально созданных сообщениях. Обычно она может использоваться только доверенными пользователями, но untrusted_set_sender может разрешить её использование недоверенным пользователям.

    Процессам, запущенным как пользователь root или пользователь exim, всегда доверяют. Прочие доверенные пользователи задаются опцией trusted_users или trusted_groups. В отсутствии -f, или когда вызывающему не доверяют, отправитель локального сообщения задаётся из имени логина пользователя и квалифицируется доменом по умолчанию.

    Есть одно исключение из ограничения на использование -f: пустой отправитель может быть задан любым пользователем, доверенным или нет, для создания сообщения, которое никогда не сможет вызвать срыв. Пустой отправитель может быть указан как пустая строка или как пара угловых скобок без чего-либо между ними, как в этих примерах команд оболочки:
    exim -f '<>' user@domain
    exim -f "" user@domain
    

    Кроме того, использование -f не ограничено тестированием файлов фильтра с -bf, тестированием или проверкой адресов с использованием опций -bt или -bv.

    Разрешение недоверенным пользователям изменять адрес отправителя создаёт возможность отправлять анонимную почту. Exim всё равно проверяет, ссылается ли на локального пользователя заголовок From:, и если это не так, он добавляет заголовок Sender:, хотя и это может быть отменено установкой опции no_local_from_check.

    Пробелы между -f и address опциональны (то есть, можно давать как два параметра, так и один, объединённый). Отправитель созданного локально сообщения также может быть установлен (когда разрешено) инициалом From строкой в сообщении, смотрите выше примечание к -bm, но если присутствует -f, оно перезаписывает From.

  • -G: Эта опция Sendmail игнорируется exim.
  • -h number: Эта опция используется для совместимости с sendmail, но не имеет никакого эффекта. В sendmail она перезадаёт счётчик хопов (hop count), получаемый подсчётом заголовков Received:.
  • -i: Эта опция имеет такой же эффект, как и -oi, задавая, чтобы отдельная точка в строке не завершила входящее не-SMTP сообщение. Я не смог найти документацию по этой опции в sendmail Solaris 2.4, но команда mailx в нём использует эту опцию. Смотрите также -ti.
  • -M message id message id ...: Эта опция вызывает exim для попытки доставки каждого сообщения по очереди. Если любое из сообщений заморожено, оно автоматически размораживается перед попыткой доставки. Значения queue_domains, queue_smtp_domains и hold_domains игнорируются.

    Совпадения повторов для любого из адресов отменяются: exim пробует произвести доставку, даже когда нормальное время повтора не наступило. Эта опция требует, чтобы вызывающий пользователь был административным. Однако, существует опция, называемая prod_requires_admin, которая может быть установлена в ложь для ослабления этого ограничения (и то же самое требуется для опций -q, -R и -S).

    Доставки происходят синхронно, то есть, оригинальный процесс exim не завершается, пока не завершатся все попытки доставки. Вывода нет, если нет серьёзных ошибок. Если Вы хотите видеть, что происходит, используйте опцию -v или просматривайте основной протокол exim.

  • -Mar message id address address ...: Эта опция вызывает exim для добавления адреса в список получателей сообщения (ar значит "add recipients"). Первый аргумент должен быть идентификатором сообщения, а последующие адресами e-mail. Однако, если сообщение активно (находится в попытке доставки), оно не изменяется. Эта опция может использоваться только административными пользователями.
  • -MC transport hostname sequence number message id: Эта опция не предназначена для использования внешними вызывающими программами. Она используется внутри exim для вызова собственной копии, чтобы доставить ожидающее сообщение с использованием существующего SMTP-соединения, передавая его через стандартный ввод. Детали даны в разделе 44. Это должно быть последней опцией, а вызывающий пользователь должен быть root или пользователь exim для возможности её использовать.
  • -MCA: Эта опция не предназначена для использования внешними вызывающими программами. Она используется внутри exim вместе с опцией -MC. Она указывает, что подключение с удалённым хостом аутентифицированное.
  • -MCP: Эта опция не предназначена для использования внешними вызывающими программами. Она используется внутри exim вместе с опцией -MC. Она указывает, что сервер, к которому подключен exim, поддерживает конвейеризацию.
  • -MCQ process id pipe fd: Эта опция не предназначена для использования внешними вызывающими программами. Она используется внутри exim вместе с опцией -MC, когда оригинальная доставка была начата обработчиком очереди. Она передаёт идентификатор процесса обработчика очереди, вместе с номером дескриптора открытого канала. Закрытие канала свидетельствует о завершении последовательности процессов, которые передавали сообщение через то же самое SMTP-подключение.
  • -MCS: Эта опция не предназначена для использования внешними вызывающими программами. Она используется внутри exim вместе с опцией -MC и передаёт факт, что опция SMTP SIZE должна использоваться на сообщениях, доставляемых через существующее подключение.
  • -MCT: Эта опция не предназначена для использования внешними вызывающими программами. Она используется внутри exim вместе с опцией -MC и передаёт факт, что хост, с которым связан (с которым установлено соединение) exim, поддерживает шифрование TLS.
  • -Mc message id message id ...: Эта опция вызывает exim для запуска попытки доставки каждого сообщения по очереди, но, в отличие от опции -M, эта проверяет повторы и использует найденные значения. Эта опция не очень полезна для внешних программ. Она применяется, главным образом, для внутреннего использования exim, когда ему необходимо перевызывать себя для восстановления root-прав, необходимых для доставки (смотрите раздел 51). Однако, опция -Mc может быть полезной при тестировании доставки, которая использует время повторов, и другие опции, например, hold_domains, которые отменяются при использовании -M. Такая доставка не считается запуском обработчика очереди. Если Вы хотите запустить специфическую доставку, как будто работал обработчик очереди, Вы должны использовать опцию -q с идентификатором сообщения, как аргументом. Различие между доставкой обработчиком очереди и другими доставками состоит в одном или двух местах.
  • -Mes message id address: Эта опция вызывает exim для изменения адреса отправителя в сообщении на заданный адрес, который должен быть полностью квалифицированным адресом, или <> (es означает "edit sender"). Обязательно должны быть два параметра. Первый аргумент должен быть идентификатором сообщения, а второй e-mail адресом. Однако, если сообщение активно (находится в процессе попытки доставки), его статус не меняется. Эта опция может использоваться только административными пользователями.
  • -Mf message id message id ...: Эта опция вызывает exim, чтобы отметить перечисленные сообщения как замороженные (frozen). Этим предотвращаются любые имеющие место попытки доставки, до тех пор, пока сообщение не будет разморожено вручную или в результате конфигурационной опции auto_thaw. Однако, если сообщение активно (находится в процессе доставки), его статус не будет изменён. Эта опция может использоваться только административными пользователями.
  • -Mg message id message id ...: Эта опция вызывает exim, чтобы отменить доставку перечисленных сообщений, включая те, что заморожены. Однако, если сообщение активно (находится в процессе доставки), его статус не будет изменён. Для сообщений, не являющихся рикошетами, сообщение об ошибке доставки шлётся отправителю, содержа текст "отменено администратором" (cancelled by administrator). Рикошеты только отбрасываются. Эта опция может использоваться только административными пользователями.
  • -Mmad message id message id ...: Эта опция вызывает exim, чтобы пометить все адреса получателей в сообщениях как уже доставленные (mad означает "mark all delivered"). Однако, если сообщение активно (находится в процессе доставки), его статус не будет изменён. Эта опция может использоваться только административными пользователями.
  • -Mmd message id address address ...: Эта опция вызывает exim, чтобы пометить заданные адреса как уже доставленные (md означает "mark delivered"). Первый аргумент должен быть идентификатором сообщения, последующие должны быть адресами e-mail. Они совпадают с адресами получателей с учётом регистра. Если сообщение активно (находится в процессе доставки), его статус не будет изменён. Эта опция может использоваться только административными пользователями.
  • -Mset message id: Это полезно только вместе с -be (то есть при тестировании строковых расширений). Эта опция должна сопровождаться идентификатором сообщения. Exim загружает данное сообщение из очереди перед выполнением расширений.
  • -Mrm message id message id ...: Эта опция вызывает exim, чтобы удалить заданные сообщения из очереди. Рикошеты не шлются: про сообщения просто забывают. Однако, если сообщение активно (находится в процессе доставки), его статус не будет изменён. Эта опция может использоваться только административными пользователями или пользователем, изначально поместившим сообщение в очередь.
  • -Mt message id message id ...: Эта опция вызывает exim, чтобы разморозить перечисленные сообщения, которые заморожены, в итоге попытки их доставить продолжатся. Однако, если сообщение активно (находится в процессе доставки), его статус не будет изменён. Эта опция может использоваться только административными пользователями.
  • -Mvb message id: Эта опция выводит на стандартный вывод содержимое тела сообщения (-D) из спула. Эта опция может использоваться только административными пользователями.
  • -Mvh message id: Эта опция выводит на стандартный вывод содержимое заголовков сообщения (-H) из спула. Эта опция может использоваться только административными пользователями.
  • -Mvl message id: Эта опция выводит на стандартный вывод содержимое протокола сообщения из спула. Эта опция может использоваться только административными пользователями.
  • -m: Эта опция является синонимом для -om, используемой sendmail, таким образом, exim её также обрабатывает.
  • -N: Это опция отладки, которая запрещает доставку на транспортном уровне. Она подразумевает опцию -v. Exim проделывает все движения (обработки) доставки, лишь не транспортирует сообщение, но вместо этого ведёт себя так, будто успешно произвёл транспортировку. Однако он не производит какие-либо обновления БД повторов, и в протоколах о доставке строки будут содержать флаги *> вместо =>.

    Поскольку -N сбрасывает любое сообщение, к которому применяется, только root или пользователь exim разрешается использовать эту опцию с -bd, -q, -R или -M. Другими словами, обычный пользователь может использовать эту опцию только когда предоставляет входящее сообщение к которому будет применена эта опция. Хотя транспортировка никогда не бывает неудачной, при установленной опции -N, адрес может быть задержан из-за конфигурационных проблем транспорта или роутинга. Как только -N используется для попытки доставки, она прилипает к сообщению и применяется для всех последующих попыток доставки сообщения, которые могут быть для него.

  • -n: Эта опция интерпретируется sendmail как "не производить алиасинг" (no aliasing). Она игнорируется exim.
  • -O data: Эта опция интерпретируется sendmail как "установить опцию" (set option). Она игнорируется exim.
  • -oA filename: Эта опция используется sendmail вместе с -bi для задания альтернативного имени файла алиасов. Exim обрабатывает -bi иначе, смотрите описание выше.
  • -oB n: Это отладочная опция, которая ограничивает максимальное число сообщений, которые могут быть доставлены по SMTP-соединению, отменяя значение, заданное в любом транспорте smtp. Если n отсутствует, ограничение устанавливается в 1.
  • -odb: Эта опция применяется ко всем режимам, в которых exim принимает входящие сообщения, включая слушающего демона. Она запрашивает фоновую (background) доставку таких сообщений означающую, что принимающий процесс автоматически запускает процесс доставки для каждого полученного сообщения, но не ждёт окончания процесса доставки.

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

    Если одна из опций организации очереди в конфигурационном файле (queue_only или queue_only_file, например) включена, -odb перезадаёт её, если queue_only_override установлена в истину, что является настройкой по умолчанию. Если queue_only_override установлена в ложь, -odb не имеет эффекта.

  • -odf: Эта опция запрашивает foreground (синхронную) доставку, когда exim принимает созданные локально сообщения. Для демона это точно так же, как с -odb. Процесс доставки автоматически запускает доставку сообщения, и exim ждёт его завершения до последующей работы.

    Оригинальный принимающий процесс exim не завершается, пока процесс доставки сообщения не завершится. Стандартный поток ошибок остаётся открытым в течение доставки.

    Однако, как -odb, эта опция не имеет эффекта, если queue_only_override установлена в ложь, и установлена одна из опций организации очереди в конфигурационном файле.

    Если происходит временная ошибка доставки во время текущей синхронной доставки, сообщение остаётся в очереди для дальнейшей доставки, и оригинальные процессы приёма завершаются. Смотрите раздел 47 для подробностей о способе установить ограничения конфигурации, чтобы с этой опцией сообщения никогда не ставились в очередь.

  • -odi: Эта опция синоним -odf. Она присутствует для совместимости с sendmail.
  • -odq: Эта опция применяется ко всем режимам exim, когда он принимает входящие сообщения, включая слушающего демона. Она определяет, чтобы процесс, принимающий сообщения, не производил автоматический запуск процесса доставки для каждого принятого сообщения. Сообщения кладутся в очередь и остаются там, пока следующий процесс обработчика очереди не обнаружит их. Есть несколько конфигурационных опций (например, queue_only), которые могут быть использованы для постановки входящих сообщений в очередь при определённых условиях. Эта опция отменяет их, а также опцию -odqs. Она всегда вызывает организацию очередей.
  • -odqs: Эта опция гибридная, между -odb/-odi и -odq. Однако, как -odb и -odi, эта опция не имеет эффекта, если queue_only_override установлена в ложь, и одна из опций организации очереди в конфигурационном файле имеет силу.

    Когда -odqs работает, процесс доставки запускается для каждого входящего сообщения по умолчанию в фоновом режиме, но в режиме переднего плана (foreground) только если есть опция -odi. Адреса получателя роутятся, и локальные доставки происходят нормальным способом. Однако, если требуются какие-либо доставки по SMTP, они не завершаюся сразу, таким образом, сообщение остаётся в очереди, пока следующий процесс обработчика очереди не найдёт его. Поскольку маршрутизация завершена, exim знает, какие сообщения ждут для каких хостов, таким образом несколько сообщений к одному хосту могут быть посланы в одном SMTP-соединении. Конфигурационная опция queue_smtp_domains имеет такой же эффект для специфических доменов. Смотрите также опцию -qq.

  • -oee: Если обнаружена ошибка во время получений сообщения не-SMTP (например, неправильный адрес), об ошибке сообщают отправителю в почтовом сообщении.

    Если это сообщение об ошибках успешно отправлено, получающий процесс exim выходит с кодом возврата ноль. Если нет, возвращаемый код 2, если проблема в том, что оригнальное сообщение не имеет получателей, или 1 для любой другой ошибки. Эта опция значение по умолчанию -oe x, если exim вызывается под именем rmail.

  • -oem: Это то же самое, что и -oee за тем исключением, что exim всегда выходит с ненулевым кодом возврата, независимо, были ли ошибки при отправке сообщения или нет. Эта опция значение по умолчанию для -oe x, если exim вызывается не под именем rmail.
  • -oep: Если обнаружена ошибка во время получений не-SMTP-сообщения, об ошибке сообщается путём записи в стандартный файл ошибок (поток ошибок). Возвращаемый код равен единице для всех ошибок.
  • -oeq: Эта опция поддерживается для совместимости с sendmail, но имеет такой же эффект, как и -oep.
  • -oew: Эта опция поддерживается для совместимости с sendmail, но имеет такой же эффект, как и -oem.
  • -oi: Эта опция даёт такой же эффект, как и -i, задавая, чтобы точка в отдельной строке не завершала входящее не-SMTP сообщение. В обратном случае точка в отдельной строке завершает сообщение, хотя exim не производит специальной обработки для других строк, которые начинаются с точки. Эта опция установлена по умолчанию при вызове exim под именем rmail. Смотрите также опцию -ti.
  • -oitrue: Эта опция обрабатывается как синоним -oi.
  • -oMa host address: Множество опций, начинающихся с -oM, могут использоваться для установки значений, связанных с удалёнными хостами на локально переданных сообщениях (то есть, сообщения, полученные не по TCP/IP). Эти опции могут использоваться любым вызывающим пользователем с тестовыми опциями -bh, -be, -bf, -bF, -bt или -bv. В других обстоятельствах они игнорируются, если вызывающий не является доверенным пользователем.

    Опция -oMa устанавливает адрес хоста отправителя. Здесь может использоваться и номер порта в конце после точки. Например:
    exim -bs -oMa 10.9.8.7.1234
    

    Альтернативный синтаксис должен включать IP-адрес в квадратных скобках, сопровождаемый двоеточием и номером порта:
    exim -bs -oMa [10.9.8.7]:1234
    

    IP-адрес помещается в переменную $sender_host_address и порт, если он есть, в $sender_host_port.

  • -oMaa name: Смотрите выше опцию -oMa для общих сведений о опциях -oM. Опция -oMaa устанавливает значение переменной $sender_host_authenticated (аутентификационное имя). Смотрите раздел 33 для подробностей о SMTP-аутентификации.
  • -oMai string: Смотрите выше опцию -oMa для общих сведений о опциях -oM. Опция -oMai устанавливает значение переменной $authenticated_id (идентификатор аутентификации). Это отменяет значение по умолчанию адреса отправителя (логин вызвавшего пользователя) для сообщений из локальных источников. Смотрите раздел 33 для подробностей об идентификаторах SMTP-аутентификации.
  • -oMas address: Смотрите выше опцию -oMa для общих сведений о опциях -oM. Опция -oMas устанавливает значение аутентифицированного отправителя в переменную $authenticated_sender. Эта опция перезадаёт адрес отправителя, созданный из имени входа пользователя, вызвавшего exim, для сообщений из локальных источников. Смотрите раздел 33 для подробностей об аутентифицированных SMTP-отправителях.
  • -oMi interface address: Смотрите выше опцию -oMa для общих сведений о опциях -oM. Опция -oMi устанавливает значение адреса IP-интерфейса. Номер порта может быть включён с использованием синтаксиса, как для -oMa. Адрес интерфейса помещается в переменную $interface_address и номер порта, если задан, в переменную $interface_port.
  • -oMr protocol name: Смотрите выше опцию -oMa для общих сведений об опциях -oM. Опция -oMr устанавливает значение протокола, по которому получено сообщение в переменную $received_protocol. Однако, это применяется лишь, когда опция -bs не используется. Для интерактивного SMTP-ввода (-bs) протокол всегда local, сопровождаемый одним из стандартных имён протоколов SMTP (смотрите примечания о $received_protocol в разделе 11.19). Однако, для опции -bS (пакетный SMTP), протокол может быть установлен в опции -oMr.
  • -oMs host name: Смотрите выше опцию -oMa для общих сведений о опциях -oM. Опция -oMs устанавливает значение имени хоста отправителя в переменную $sender_host_name. Когда эта опция присутствует, exim не пытается найти в DNS имя хоста по IP-адресу: он использует имя, заданное в этой опции.
  • -oMt ident string: Смотрите выше опцию -oMa для общих сведений о опциях -oM. Опция -oMt устанавливает значение ident отправителя в переменную $sender_ident. Значение по умолчанию для локальных вызовов: логин вызвавшего пользователя или процесса.
  • -om: В sendmail эта опция означает "мне тоже" (me too) указывая, что отправитель сообщения должен получить копию сообщения, если отправитель появится в результате раскрытия алиасов. Exim всегда так поступает, поэтому эта опция ничего не значит.
  • -oo: Эта опция игнорируется. В sendmail она задаёт заголовки старого стиля (old style headers) независимо от того, что это значит.
  • -oP path: Эта опция полезна только вместе с опцией -bd или -q со значением времени. Опция задаёт файл, в который записывается pid демона. Когда -oX используется с -bd или когда -q используется со временем, но без -bd, это единственный способ заставить exim записать pid-файл, поскольку в этих случаях pid не используется.
  • -or time: Эта опция устанавливает значение таймаута для входящих не-SMTP сообщений. Если она не задана, exim будет вечно ждать на стандартном вводе. Значение также может быть установлено опцией receive_timeout. Формат, используемый для задания времени, описан в разделе 6.15.
  • -os time: Эта опция устанавливает значение таймаута для входящих SMTP-сообщений. Таймаут применяется к каждой SMTP-команде и блоку данных. Значение также может быть установлено опцией smtp_receive_timeout, по умолчанию оно 5 минут. Формат, используемый для задания времени, описан в разделе 6.15.
  • -ov: Эта опция обладает точно таким же эффектом, как и -v.
  • -oX number or string: Эта опция релевантна, лишь когда используется опция -bd (запуск слушающего демона). Она контролирует, какие порты и интерфейсы использует демон. Детали синтаксиса, и как она взаимодействует с конфигурационным файлом даны в разделе 13. Когда опция -oX используется для запуска демона, pid-файл не пишется, если не задана опция -oP для задания имени pid-файла.
  • -pd: Эта опция применяется, когда встроенный интерпретатор Perl слинкован с exim (смотрите раздел 12). Она перезадаёт установки опции perl_at_start, вызывая отсрочку запуска интерпретатора, на сколько это необходимо.
  • -ps: Эта опция применяется, когда встроенный интерпретатор Perl слинкован с exim (смотрите раздел 12). Она перезадаёт установки опции perl_at_start, вызывая запуск интерпретатора при старте exim.
  • -p rval sval: Для совместимости с sendmail эта опция эквивалентна
    -oMr <rval> -oMs <sval>
    

    Она устанавливает входящий протокол и имя хоста (для вызывающих доверенных пользователей). Имя хоста и его двоеточие могут быть опущены, лишь когда протокол не задан. Отметьте, что exim уже имеет две закрытые опции -pd и -ps, ссылающиеся на строенный perl. Поэтому невозможно установить значение протокола p или s используя эту опцию (но это не кажется реальным ограничением).

  • -q Использование этой опции обычно ограничено административными пользователями. Однако, есть конфигурационная опция prod_requires_admin, которая может быть установлена в ложь для ослабления этого ограничения (и то же самое требуется для опций -M, -R и -S).

    Опция -q запускает один процесс обработчика очереди. Он сканирует очередь ждущих сообщений и запускает процесс доставки для каждого сообщения по очереди. Процесс доставки может не производить доставку, если время повтора для адреса не наступило. Используйте -qf (смотрите ниже), если Вы хотите отменить это.

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

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

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

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

  • -qqflags: Опция -q может сопровождаться одним или несколькими флагами, изменяющими её поведение. Все они являются опциональными, но если присутствует более, чем один, они должны появляться в правильном порядке. Каждый флаг описан отдельным пунктом ниже.
  • -qq...: Опция, начинающаяся с -qq, запрашивает двухступенчатое выполнение очереди. На первой стадии сканируется очередь, как будто опция queue_smtp_domains совпадает с каждым доменом. Адреса маршрутизируются, происходят локальные доставки, но удалённые транспорты не запускаются.

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

  • -q[q]i...: Если флаг i присутствует, обработчик очереди запускает процессы доставки только для тех сообщений, которые до этого не были проверены (имеется в виду, что не было попыток их доставки). i значит "initial delivery". Это может быть полезным, если Вы помещаете сообщения в очередь, используя -odq и хотите, чтобы обработчик очереди обработал именно новые сообщения.
  • -q[q]f...: Если присутствует один флаг [i]f, попытка доставки вызывается для каждого незамороженного сообщения, тогда как без f пробуются лишь те незамороженные адреса, у которых прошло время повтора.
  • -q[q]ff...: Если флаг [i]ff присутствует, попытка доставки осуществляется для каждого сообщения, независимо от того, заморожено оно или нет.
  • q[q][f[f]]l: Флаг [i]l (строчная буква L) определяет, что нужно делать только локальные доставки. Если сообщению требуются удалённые доставки, оно остаётся в очереди для более поздней доставки.
  • -qqflags start id end id: Когда сканируется очередь, exim может пропустить сообщения, идентификаторы которых лексически меньше, чем значение стартового идентификатора сообщения, следующего за опцией -q. Например:
    exim -q 0t5C6f-0000c8-00
    

    Сообщения, полученные ранее, чем 0t5C6f-0000c8-00, не просматриваются. Если задан второй идентификатор сообщения, то те сообщения, идентификатор которых лексически больше него, также пропускаются. Если один и тот же идентификатор задан дважды, например:
    exim -q 0t5C6f-0000c8-00 0t5C6f-0000c8-00
    
    то процесс доставки запускается только для него. Это отличается от -M, в том, что учитываются данные повторов, и также отличается от -Mc в том, что в обработчике очереди, это засчитывается как доставка. Обратите внимание, что механизм выбора не затрагивает порядок, к котором сообщения сканируются. Есть и другие способы выбрать специфичные наборы для доставки в обработчике очереди смотрите опции -R и -S.

  • -qqflags time: Когда присутствует значение времени, опция -q заставляет exim работать как демон, запуская обработчик очереди с заданными интервалами времени (чей формат описан в разделе 6.15). Эта форма опции -q обычно комбинируется с опцией -bd, когда один процесс демона обрабатывает обе функции. Общий способ запуска комбинированного демона при загрузке системы заключается в использовании команды типа:
    /usr/exim/bin/exim -bd -q30m
    

    Такой демон слушает входящие SMTP-вызовы, а также запускает процесс обработчика очереди через каждые 30 минут.

    Когда демон запускается с -q и с параметром времени, но без -bd, pid-файл не записывается, если явно не указана опция -oP.

  • -qRrsflags string: Эта опция синоним с -R. Она предусмотрена для совместимости с sendmail.
  • -qSrsflags string:Эта опция синоним -S.
  • -Rrsflags string: rsflags может быть пустым в случае, когда пустое место до строки опционально, если строка не f, ff, r, rf или rff, которые являются возможными значениями для rsflags. Пробел требуется, если rsflags не пустое.

    Эта опция похожа на -q, без значения времени, то есть, она заставляет exim выполнить один запуск обработки очереди за исключением того, что, сканируя сообщения в очереди, exim обрабатывает только те, которые имеют хотя бы один недоставленный адрес получателя, содержащий данную строку, проверенную регистронезависимым способом. Если rsflags начинается с r, string интерпретируется как регулярное выражение, иначе это литеральная строка.

    Когда сообщение выбрано, обрабатываются все его адреса. Для первого выбранного сообщения, exim пререзадаёт любую информацию повторов и вызывает попытку доставки для каждого недоставленного адреса. Это означает, что если доставка какого-либо адреса в первом сообщении успешна, любая существующая информация повторов удаляется, и таким образом попытки доставки для этого адреса во впоследствии выбранных сообщениях (которые обрабатываются без форсирования), будут запущены. Однако, если доставка любого адреса неуспешна, информация повторов обновляется, и во впоследствии выбранных сообщениях неудачные адреса будут пропущены.

    Если <rsflags> содержит f или ff, принудительная доставка применяется ко всем выбранным сообщениям, а не только к первому; замороженные сообщения включаются, когда присутсвует ff.

    Опция -R напрямую создаёт инициализацию доставки всех сообщений для данного домена, после того как хост был недоступен некоторое время. Когда SMTP команда ERTN принимается её ACL (смотрите раздел 39), её эффект по умолчанию: запуск exim с опцией -R, но это может быть изменено для запуска произвольной команды вместо неё.

  • -r: Это документированное (для sendmail) устаревшее альтернативное имя для -f.
  • -Srsflags string: Эта опция работает как -R за исключением того, что, она проверяет строку каждого отправителя сообщения, вместо получателя. Если также задана опция -R, оба условия должны выполняться для каждого выбранного сообщения. Если опции имеют флаги f или ff, предпринимаются ассоциированные с ними действия.
  • -Tqt times: Эта опция исключительно для набора тестирования exim. Она не распознаётся, когда exim запущен нормально. Она позволяет установку времён очереди (queue times), таким образом могут быть протестированы различные возможности предупреждений/повторов.
  • -t: Когда exim получает созданное локально не-SMTP-сообщение на стандартный ввод, опция -t заставляет получателей сообщения получить строки заголовков To:, Cc: и Bcc: из сообщения, а не из аргументов команды. Адреса извлекаются до любых перезаписей адресов, а в случае наличия строки Bcc: она удаляется.

    Если у команды заданы какие-либо параметры, они задают адреса, по которым сообщение не будет доставлено. Таким образом, аргументы адресов удаляются из списка получателей, полученного из заголовков. Это совместимо со Smail 3 и соответствует документированному поведению некоторых версий sendmail, как описано в man-страницах ряда операционных систем (например, Solaris 8, IRIX 6.5, HP-UX 11). Однако, некоторые версии sendmail добавляют аргументы адресов к полученным из заголовков, книга O'Reilly Sendmail документирует этот способ.

    Если есть любой заголовок Resent в сообщении, exim извлекает получателей из всех заголовков Resent-To:, Resent-Cc: и Resent-Bcc: вместо To:, Cc: и Bcc:. Эта опция для совместимости с sendmail и другими MTA. До версии 4.20 exim содержал ошибку: если опция -t использовалась со строкой заголовка Resent.

    RFC 2822 говорит о разных Resent-строках заголовков (для случая, когда сообщение пересылалось несколько раз). RFC также определяет, что они должны быть добавлены в начале сообщения и разделены строками Received:. Непонятно, как опция -t должна работать в случае многих наборов (sets), и вообще неясно, что подразумевается под набором (set). Практически, MUA, видимо, не следуют RFC. Строки Resent часто добавляются в конце заголовка, и если сообщение послано более одного раза, часто оригинальный набор заголовков Resent переименовывается в X-Resent, когда добавляется новый набор. Это удаляет любую возможную двусмысленность.

  • -ti: В точности эквивалентна -t и -i. Она предоставлена для совместимости с sendmail.
  • -tls-on-connect: эта опция доступна, когда exim скомпилирован с поддержкой TLS. Она вынуждает все входящие SMTP-подключения вести себя, как будто входящий порт перечислен в опции tls_on_connect_ports. См. разделы 13.14 и 38 для дальнейших деталей.
  • -U: Sendmail использует эту опцию для начальной подачи сообщения (initial message submission), и его документация заявляет, что в будущих версиях он может жаловаться на синтаксически неправильные сообщения, вместо исправления их, когда этот флаг не установлен. Exim игнорирует эту опцию.

  • -v: Эта опция заставляет exim писать информацию в стандартный поток ошибок описывая, что он делает. В частности, он показывает строки протоколов для приёма и доставки сообщений, и если произведено SMTP-подключение, показывается диалог SMTP. Некоторые показанные строки могут быть не записаны в журнал, если установка log_selector отменяет их. Любые релевантные селекторы показываются с каждой строкой. Если не показыватся ни одна, логгинг безусловен.

  • -x: AIX использует -x в закрытых целях (почта от локальной почтовой программы имеет расширенные символы National Language Support в теле почтового сообщения). Это устанавливается опцией -x при вызове MTA программой mail. Exim игнорирует эту опцию.

Поиск

 

Найди своих коллег!