Архив документации OpenNet.ru /
Раздел "Электронная почта" /
Индекс
19. IPLOOKUP ROUTER
“Iplookup” роутер был написан для выполнения специальных требований в Кэмбриджском университете. По этой причине, он не включен в бинарный файл Exim по умолчанию. Если вы хотите включить его, то вы должны указать
в конфигурационном файле “
Local/Makefile
”.
“Iplookup” роутер маршрутизирует адрес путем посылки его посредством TCP или UDP соединения одному или нескольким особым узлам. Затем узел может возвратить либо тот же самый, либо другой адрес - в действительности переписав адрес получателя в конверте сообщения. Затем новый адрес передается последующим роутерам, или доставка может быть задержана.Так как “iplookup” - только маршрутизатор перезаписи, транспорт(транспортировка) не должен быть определен для этого.
|
hosts
|
Use: iplookup
|
Type: string
|
Default: unset
|
|
Эта опция должна быть установлена. Ее значение - это список имен узлов, разделенный двоеточиями. Разрешение IP-адресов узлов осуществляется при помощи функций “
gethostbyname()
” (или “
getipnodebyname()
” если доступна). Затем адреса пробуются по очереди, до тех пор пока один из них не ответит на запрос. Если ни один узел не ответил, то дальнейшие действия управляются опцией “optional”.
|
optional
|
Use: iplookup
|
Type: boolean
|
Default: false
|
|
Если “optional” истинна (true), и если ни от одного узла не поступил ответ, то адрес передается следующему роутеру, перекрывая опцию “no_more”. Если “optional” ложна (false), то доставка на этот адрес откладывается.
|
port
|
Use: iplookup
|
Type: integer
|
Default: 0
|
|
Эта опция должна быть установлена. Она определяет номер TCP- или UDP-порта назначения.
|
protocol
|
Use: iplookup
|
Type: string
|
Default: udp
|
|
Эта опция может быть установлена либо в “udp”, либо в “tcp” для определения какой из этих двух протоколов использовать.
|
query
|
Use: iplookup
|
Type: string†
|
Default: $local_part@$domain $local_part@$domain
|
|
Опция определяет содержание запроса, посылаемого на удаленные узлы. Повтор служит как способ проверки, что ответ на корректный запрос приходит в регистре по умолчанию (см. опцию “response_pattern” ниже).
|
reroute
|
Use: iplookup
|
Type: string†
|
Default: unset
|
|
Если эта опция не определена, то адрес измененного маршрута (rerouted address) есть строка байтов, возвращенная удаленным узлом до первого пробела. Она может включать в себя фрагменты, полученные в ответ на опцию “response_pattern”, ссылаясь на них посредством числовых переменных, таких как “
$1
”, “
$2
” и т.д. Переменная “
$0
” ссылается на целую входную строку, независимо от использования шаблона. Во всех случаях, адрес измененного маршрута должен оканчиваться в виде “local_part@domain”.
|
response_pattern
|
Use: iplookup
|
Type: string
|
Default: unset
|
|
Эта опция может быть определена как регулярное выражение, которое применяется к строке, возвращаемой удаленным узлом. Если шаблон не совпадает с ответом, роутер отклоняется. Если опция “response_pattern” не определена, то проверки ответа не происходит, пока запрос не выполнен, в этом случае проверяется что текст, возвращенный после первого пробела, является исходным адресом. Этим проверяется, что полученный ответ является откликом на корректный вопрос. К примеру, если ответ это просто новый домен, то может быть использована следующая конструкция:
response_pattern = ^([^@]+)$
reroute = $local_part@$1
|
|
timeout
|
Use: iplookup
|
Type: time
|
Default: 5s
|
|
Эта опция определяет время ожидания ответа удаленного узла. Таймаут с этим же значением используется функцией “
connect()
” в случае TCP-соединения. Опция к протоколу UDP неприменима.
begin translation by http://exim.org.ua/mailman/listinfo/exim-doc-translation
edit, verification and complete translation by lissyara
Архив документации на OpenNet.ru