Return Home

Overview

<attach>
<body>
<body>
<clientip>
<comment>
<configuration>
<copy>
<delay>
<dnslookup>
<domainquery>
<email>
<expression>
<expressions>
<file>
<filter>
<filters>
<header>
<header>
<helo>
<http>
<imap>
<index>
<inputpath>
<ipquery>
<log>
<mailfrom>
<maxbuffer>
<maxlines>
<message>
<modifysource>
<multiplerecipients>
<option>
<parser>
<path>
<quickresult>
<rcptto>
<result>
<results>
<return>
<rule>
<rules>
<scope>
<select>
<smtpextendedstatuscode>
<smtpstatuscode>
<target_filter>
<target_index>
<test>
<title>

Boolean type

Macros
Regular Expressions

Node: domainquery

<domainquery enabled="yes" iplookup="no" multilevel="yes" query="{domain}.multi.surbl.org" onlookup="[script]" />

Performs a DNS lookup using the specified query. The result (the D component of the returned IP address) is made available in the variable "query_result". The script provided in the onlookup attribute is executed when the query returns a result.

All domain names found in the email parts specified using the <scope> attribute are tested.

Attributes:

enabled

yes
no

iplookup

yes        performs an IP lookup on the domain name prior to performing the specified query
no

multilevel

yes        performs the query on each level of the domain name, down to the second level
no         performs a single query using the entire domain name

query

Specify the DNS query using these available macros:

{domain}    domain name

These macros are available only when the iplookup attribute is set to "yes"

{ip}        full IP address (a.b.c.d)
{ip_a}      1st component of IP address
{ip_b}      2nd component of IP address
{ip_c}      3rd component of IP address
{ip_d}      4th component of IP address

onlookup

[script]

Notes

Only queries returning an IP address are supported. If the query returns a host name, it will be processed as if it failed to return anything.

Using the iplookup attribute to obtain the IP address of a domain name can be a time consuming request when the domain being looked up does not exist and no higher level domain takes responsibility to return a negative response. When too many of these non-existent domain queries are made, there is potential for the sending SMTP server to timeout and retry again later. For domain names that return multiple IP address, only the first IP address returned by the query is used.

An example of how the multilevel attribute controls the query: The domain found in the email is "www.state.nj.us".  The query is "{domain}.myrbl.com". When multilevel is set to "yes", these queries would be performed: "www.state.nj.us.myrbl.com", "state.nj.us.myrbl.com" and "nj.us.myrbl.com". When multilevel is set to "no", only a query on "www.state.nj.us.myrbl.com" would be performed. If iplookup is also set to "yes" the IP query is performed for each level of the domain.

Revision History:

- Requires v2.3.7 or higher