Примеры использования Lookup |
Пример 1: ProtectedDomains = "odbc:select domain from maild where domain='\$s'" С помощью этого запроса все письма, домен которых был найден в столбце domain таблицы maild в хранилище ODBC, отмечаются как принадлежащие защищаемому домену. Пример 2: ProtectedEmails = file:%etc_dir/email.ini, localhost, ldap:skipdomains=file:/home/trusted_domains|ldaps:///??sub?(mail=$s) С помощью этого запроса отмечаются как защищаемые следующие почтовые адреса: •все адреса, находящиеся в файле %etc_dir/email.ini; •адрес localhost; •все адреса, которые были найдены по LDAP-запросу ldap:///??sub?(mail=$s) Пример 3: Router = mysql:select routerinfo from maild where email='\$s', foo inet:234@foo.ru С помощью этого запроса проверяется, присутствует ли адрес в базе данных MySQL в таблице maild в столбце email. Если присутствует, то письмо высылается на адрес, указанный в найденной строке в столбце routerinfo, в противном случае для всех получателей, в адресе которых присутствует foo, высылается письмо на адрес inet:234@foo.ru. Также Lookup могут использоваться в Правилах. Пример 4: "rcpt:ldap:///?rules?sub?(mail=$s)" cont Запрос позволяет для всех LDAP-полей mail, в которых содержится получатель письма, получить поле rules, содержащее настройки, которые будут применены к данному получателю. Обратите внимание на использование кавычек: необходимо любое условие, указанное в секции CONDITION в Правилах, заключать в кавычки, так как в нем могут содержаться специальные символы (например, круглые скобки "()"). Таким образом, если будет написано: rcpt:"ldap:///?rules?sub?(mail=$s)" cont компилятор выдаст ошибку: Mon Jun 29 18:53:01 2009 [3081262768] maild.rules ERROR '(' can not follow '"ldap:///?rules?sub?' Пример 5: "any:sqlite:select skipaddr from domain where skipaddr = '$s'" cont scan=all:-drweb По данному запросу проверяются адреса, и если адрес отправителя или получателя содержится в поле skipaddr таблицы domain базы данных SQLite, то для них не будет использоваться подключаемый модуль Drweb. |