В преобразовании происходит обращение к базе данных (relays) с передачей лексемы $2 (sugar) в качестве ключа и лексемы $1 (torn.martin) в качестве аргумента. Если ключ не найден в базе данных, используется значение по умолчанию ($1<@$2>). В данном случае ключ в базе данных существует. Подпрограмма базы данных использует ключ для поиска значения «% Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.», подставляет аргумент %1 и окончательно возвращает sendmail значение «Этот адрес электронной почты защищён от спам-ботов. У вас должен быть включен JavaScript для просмотра.». sendmail использует полученное значение для замены исходного адреса.
Прежде чем использовать базу данных в sendmail, ее необходимо определить. Этой цели служит команда К. Синтаксис команды К:
Кпате type [arguments]
name - это имя, по которому можно ссылаться на базу данных из настроек tiendmail. В приведенном выше примере фигурировало имя «relays».
type - это класс базы данных. Значение type в команде К должно соответствовать возможностям работы с базами данных, встроенным в sendmail при компиляции. Большинство исполняемых файлов sendmail поддерживает не все типы баз данных, однако ряд основных типов поддерживается достаточно широко. Общеупотребительные типы: hash, btree, nis. Типов существует гораздо больше, и все они описаны в приложении Е.
Аргументы (arguments) являются необязательными. Обычно единственным аргументом оказывается путь к файлу базы данных. Время от времени аргументы включают флаги, интерпретируемые подпрограммой базы данных. Полный перечень флагов команды К содержится в приложении Е.
Чтобы определить базу данных «relays» из приведенного выше примера, мы можем использовать следующую команду в файле sendmail.cf:
Krelays hash /etc/mail/relays
Имя relays - просто имя, выбранное пользователем в качестве описательного. Тип базы данных hash - это тип, поддерживаемый вашей версией sendmail, он использовался и для создания файла базы данных. Наконец, аргумент I etc I mail I relays - полное имя файла базы данных.
Не переживайте, если вам не очень понятно, как создавать и использовать файлы баз данных в sendmail. Мы еще вернемся к теме позже в этой главе и проясним на примерах практическое применение таких файлов.
- << Назад
- Вперёд