Sendmail windows параметры командной строки
ФЛАГИ КОМАНДНОЙ СТРОКИ
Аргументы должны быть представлены с флагами перед адресами. Вот какие бывают флаги:
-bx | Установить режим работы x. Режимы работы таковы: | |
m | Доставка почты (по умолчанию) | |
s | На входе говорить на SMTP | |
a| | Режим «Arpanet» (получать информацию о конвертном отправителе из заголовка). | |
d | Работать в фоне как демон | |
D | Работать как демон, но не в фоне | |
t | Работать в тестовом режиме | |
v | Просто проверять адреса, не собирать и не доставлять | |
i | Инициализировать базу данных псевдонимов | |
p | Распечатать почтовую очередь | |
h | Распечатать базу данных статуса хостов | |
H | Убрать из базы данных статуса хостов значения с истёкшим «сроком годности». | |
-Btype | Указывает тип тела. | |
-Cfile | Использовать другой файл конфигурации. При указании этого флага, sendmail будет работать от запустившего его пользователя (отличного от root). | |
-dlevel | Устанавливает уровень отладки. | |
-f addr | Адрес машины отправителя есть addr. | |
-Fname | Устанавливает полное имя этого пользователя в name. | |
-G | При приёме сообщений через командную строку, указывает, что они предназначены для передачи в релей (шлюз). Если этот флаг выставлен, sendmail может жаловаться о синтаксически неправильных сообщениях, например, неквалифицированные имена хостов, вместо того, чтобы исправлять их. В этом режиме sendmail не производит канонизацию. | |
-h cnt | Устанавливает «счетчик пересылок» равным cnt. Он говорит о том, сколько раз это сообщение было обработано sendmail‘ом (в том смысле, что это поддерживается основными сетями). Cnt увеличивается при каждой обработке, и если он достигает значения MAXHOP (в настоящее время 30) sendmail выкидывает сообщение с ошибкой. | |
-L tag | Устанавливает идентификатор, используемый syslog. Этот идентификатор нужно устанавливать как можно раньше. Однако, sendmail может быть использован если проблемы появляются до обработки аргументов командной строки. | |
-n | Не производить псевдонимизации и пересылки. | |
-N уведомления | Отмечает все отправленные адреса как хотящие указанных уведомлений, состоящих из слова «NEVER» или списка, разделенного запятыми из слов «SUCCESS», «FAILURE», и «DELAY» для успешной доставки, неудачи, и сообщения застрявшего где-то в очереди. По умолчанию «FAILURE,DELAY». | |
-r addr | Устарелая форма от -f. | |
-oxзначение | Установить опцию x в указанное значение. Эти опции описаны в Разделе 5.6. | |
-Oопция=значение | Установить для опции указанное значение (для длинных имен опций). Эти опции описаны в Разделе 5.6. | |
-Mxзначение | Установить макрос x в значение. | |
-pprotocol | Установит протокол отправки. Программы поощряют установку этой опции. Поле протокола может быть в виде protocol:host для указания и протокола отправки, и отсылающего хоста. Например, «-pUUCP:uunet» выставляет протокол отправки UUCP и отправляющий хост uunet. (Некоторые существующие программы используют -oM для выставки макросов r и s; это эквивалентно использованию флага -p.) | |
-qвремя | Попробовать обработать почту в очереди. Если задано время, sendmail будет обрабатывать почту в очереди через указанный интервал времени, иначе он запустится только один раз. | |
-qXстрока | Обработать очередь один раз, ограничивая работу теми сообщениями, которые соответствуют Xstring. Ключевая буква X может быть I для ограничений основанных на идентификаторе очереди, R для ограничений основанных на получателе, или S для ограничений основанных на отправителе. Конкретная работа в очереди принимается, если один из соответствующих адресов содержит указанную строку. | |
-R ret | Информация, возвращаемая при срыве доставки сообщения; ret может быть «HDRS» для заголовков, «FULL» — для заголовков и тела; при этом не требуется, чтобы другой конец принимал этот параметр. Если определён «HDRS», то локальные отбои также возвращают только заголовки. | |
-t | Выбрать из заголовка строки «To:», «Cc:», и «Bcc:», и послать всем в этих списках. Строка «Bcc:» перед отправкой будет уничтожена. Любые адреса из вектора аргументов будут удалены из списка отправки. | |
-U | Указывает, что это первичное представление User Agent. В будущих выпусках, если этот влаг установлен, sendmail может жаловаться на синтаксически неправильные сообщения вместо их подправки. | |
-V envid | Указанный envid передается с конвертом сообщения и возвращается при «отскоке» сообщения. | |
-X logfile | Протоколировать весь трафик, входящий в и выходящий из sendmail в указанный logfile при проблемах отладки почтовых программ. При этом быстро выдается большое количество данных, поэтому эта опция должна использоваться умеренно. |
Где | означает неодабриваемые значения.
Существует некоторое количество опций, которые могут быть определены как простые флаги. Это опции e, i, m, и v. Также, опция f может быть определена как флаг -s. Опции, относящиеся к DSN — «-N», «-R» и «-V» не работают, если sendmail работает как демон.
Sendmail windows параметры командной строки
Настройка программы sendmail происходит при помощи файла /etc/sendmail/conf. Этот файл можно разбить на несколько частей:
- Описание особенностей данной машины (local information) — в данной секции описываются такие параметры, как имя данной машины, имя UUCP и т.п.
- Описание макроопределений sendmail , отвечающих за работу в локальной сети, например, имя домена и «официальное имя» машины.
- Описание классов , т.е. групп имен, которые используются программой для рассылки почты. Например, для рассылки в другие почтовые службы.
- Номер версии файла конфигурации . Данная переменная должна изменяться каждый раз, как только в файл конфигурации вносятся какие-либо изменения.
- Внутренние макроопределения sendmail . В данном разделе присваиваются значения переменным, которые sendmail использует при взаимодействии с другими транспортными агентами.
- Опции команды sendmail . Опции определяют режимы работы программы. Опции можно задавать в виде параметров командной строки, а можно в виде описаний в файле настройки.
- Определение порядка сообщений программы sendmail (Precedence). Обычно эта секция не модифицируется администратором.
- Доверенные пользователи . В данной секции описываются пользователи, которым разрешено переписывать адреса отправителей, т.е. выступать не под тем адресом, который за ними закреплен.
- Описание формата заголовка почтового сообщения . В данной секции определяются поля и их формат, которые отображаются в заголовке. Многие поля заголовка sendmail генерирует на основе информации из конверта почтового сообщения.
- Правила преобразования адресов . Это самая большая часть файла конфигурации программы sendmail. Преобразование адресов необходимо для принятия программой решений о пути рассылки почтовых сообщений, т.к. это решение принимается на основе полученного в результате преобразований почтового адреса.
- Описание программ рассылки . В данной секции описываются имена программ рассылки, пути и параметры командной строки этих программ. Обычно это программа местной рассылки, рассылка по UUCP, рассылка по SMTP, рассылка на выполнение.
- Общий набор правил преобразования адресов , который не меняется от машины к машине и от конфигурации к конфигурации (Rule Set 0).
- Машинно-зависимая часть общего правила преобразования адресов . В данной секции содержание определяется способом рассылки почты. Например, данная секция при рассылке по SMTP будет отличаться от случая рассылки по UUCP.
В большинстве случаев все изменения, которые приходиться внести в файл конфигурации, касаются только имени машины, домена и машин шлюзов в другие почтовые службы. Однако, если у организации имеется достаточно продолжительная и славная история использования электронной почты, то может оказаться, что для нормального функционирования придется произвести и ряд более существенных изменений.
В целом все описанные выше секции решают три основных задачи:
- определение окружения sendmail,
- анализ и преобразование адресов электронной почты,
- рассылка сообщений при помощи программ рассылки.
При редактировании файла следует учитывать некоторые правила, которые используются при написании файла конфигурации: вся информация локального характера сосредоточена в начале файла, команды одного типа собраны в компактные группы, большую часть файла составляют правила преобразования адресов, в конце файла описаны программы рассылки электронной почты.
Все команды, которые используются в файле настроек sendmail можно представить в виде следующей таблицы:
Команда | Синтаксис | Назначение |
---|---|---|
Define Macro | Dxvalue | Установить значение «x» |
Define Class | Ссword1 word2 . | Установить значение класса «c» |
Define Class | Fcfile | загрузить значение класса из файла |
Set Option | Oovalue | Установить значение опции «o» |
Trusted Users | Tuser1 user2 . | Определить доверенных пользователей |
Set Precedence | Pname=number | Для номера ошибки number установить имя name |
Define Mailer | Mname,[field=value] | Определить программу рассылки почты |
Define Header | H[?mflag?]name:format | Определить формат поля заголовка |
Set Rulset | Sn | Начать определение набора правил преобразования адресов |
Define Rule | Rlhs rhs comment | Определить правило преобразования адреса |
Формат команды файла настроек sendmail не очень удобен для чтения. В целом его можно определить следующим образом:
Рис. 3.2. Структура команды файла настроек sendmail
Теперь разберем более подробно некоторые команды и секции файла настроек sendmail. Лучше всего это сделать на основе реального файла. Начнем с секции описания локальных параметров:
Как видно из этого листинга, в данной секции описаны имя данной машины (Cwlocalhost), а также класс машин-шлюзов в другие почтовые системы (CP. ). При этом наращивание класса происходит по мере описания шлюза для каждого из видов почтовых служб. В конце секции описаны символы, которые не могут использоваться в качестве имен пользователей или доменов.
Следующая секция — определение макросов sendmail :
В данной секции описаны сообщения, которые выдает sendmail при взаимодействии с другими транспортными агентами. Как видно из этого описания, определение макроса это не только присваивание значения, но и выполнение определенных действий. Наиболее интересное предложение из всех — предложение, определяющее значение макроса q:
Здесь описана условная подстановка значения. Все предложение можно описать следующей фразой:
«Если значение переменной x установлено, то: q = значение_x , иначе: q=значение_g».
То же самое можно записать и по-другому:
В данном случае $? соответствует оператору if , $| — else , а $. — конец условного оператора.
Следующая секция — это определение опций :
В данном случае приведен только фрагмент этой секции. Большинство параметров общие для всех установок sendmail. Указанные же в листинге параметры являются принципиальными с точки зрения режимов работы sendmail. Первый параметр определяет тот факт, что по почте можно пересылать семибитовую информацию. Согласно RFC-822 информация должна быть семибитовая, но для передачи кириллицы это значит использовать кодирование, что абсолютно не приемлемо. Поэтому данный параметр должен быть закоментарен. В системах, где используется сервер доменных имен, опция I (OI) должна быть установлена, чтобы не было ошибок при идентификации доменов. Последний параметр не является принципиальным, но для целей более понятного представления его следует установить. Если почтовый клиент не поддерживает MIME, то данный параметр следует закоментарить.
Следующие две секции определяют уровень сообщений об ошибках и доверенных пользователей:
За этими двумя секциями следует секция описания полей заголовка почтового сообщения , который генерируется программой sendmail:
Формат команд данной секции определяет какие поля включаются в заголовок, а какие не включаются. Данная секция тесно связана с секцией определения программ рассылки почты. Если после H нет знака вопроса, то поле включается в заголовок сообщения для любой программы рассылки, если после H символ «?» присутствует, то в строке аргументов программы рассылки данный флаг должен быть определен для того, чтобы данное поле было включено в заголовок. Как следует из приведенного выше описания, всегда включаются только поля Received и Subject. Все перечисленные поля не являются обязательными полями заголовка.
Следующая секция — правила преобразования адресов . Но прежде чем обсуждать ее содержание следует сказать как и когда sendmail эти адреса преобразовывает.
Прежде всего необходимо рассмотреть схему преобразования (рисунок 3.3).
При получении почтового сообщения адреса, указанные в полях To, From, Cc, преобразуются в соответствии с правилами преобразования.
За секцией преобразования адресов следует секция определения программ рассылки почты . В ней определяется локальная программа рассылки (mail), программа рассылки для выполнения (sh) и программа рассылки по SMTP.
Затем идут правила определения локального преобразования адресов для конкретных программ рассылки, в частности набор правил S11.
В секции программ рассылки мы в нашем примере не указали еще одну важную возможность — рассылку по протоколу UUCP:
Естественно, что правила преобразования адресов S13 и R23 должны быть описаны в файле настроек sendmail.