m4, макроопределения sendmail 745
димости. При поиске в текстовых файлах этот флаг является обязатель-
ным; аргумент keycol указывает номер колонки, в которой начинается по-
ле ключа.
-\ivalcol
Координаты значения в записи базы данных. В большинстве баз данных
значение следует за ключом, так что флаг -м не используется. При поиске
в текстовых файлах данный флаг является обязательным и указывает но-
мер колонки, в которой начинается поле значения.
-zdelim
Символ-разделитель полей записи базы данных. По умолчанию - пробел.
-t
При неудачном поиске в базе данных, связанном с обращением к удален-
ным серверам, не помещать сообщения в очередь для последующей обра-
ботки. В основном используется, если возникают проблемы с сервером
DNS. Обычно, если удаленный сервер не ответил, почта сохраняется в
очереди для последующей доставки. Установка этого флага приводит к
немедленному возврату сообщения отправителю.
-sspacesub
Использовать символ spacesub для замены пробелов после обработки адре-
са по информации базы данных dequote.
-А
Разрешить дубликаты ключей. В большинстве баз данных дубликаты
ключей запрещены.
-q
Сохранять все кавычки внутри ключа. Обычно кавычки удаляются.
Полный список типов баз данных и флагов, приведенный в настоящем при-
ложении, поможет вам разобраться с командами К, помещаемыми в файл
sendmail.cf процессором ш4. Ваши собственные команды К будут гораздо про-
ще. Вы будете придерживаться типов баз данных, которые поддерживает ва-
ша версия sendmail и команда
makemap,
и будете создавать простые базы, пред-
назначенные для решения конкретных задач. Примеры таких баз данных
приводятся в главе 10, а в следующем разделе приведены простые сценарии,
используемые для создания этих баз данных.
Пример сценария
В главе 10 база данных realnames используется для переписывания регист-
рационных имен пользователей в формат «имя точка фамилия» для исходя-
щих сообщений. Приводимый ниже сценарий создает базу данных realna-
mes на основе файла /etc/passwd.
#! /bin/sh
#
# Исключить «непользовательские» учетные записи