Show/Hide Toolbars

To get to this page, to to Mail Connectors → (choose Mail Sender) → Settings (if the Sender uses the 'SMTP Direct' method) -> press Edit DNS Overrides

dnsoverrides_zoom50

When you send mail using SMTP Direct sending, VPOP3 usually determines which mail server messages should be sent to by looking at the message recipients and looking up the DNS 'MX' records for the recipient domain.

The DNS Overrides facility in VPOP3 lets you configure fake DNS MX records which VPOP3 should use instead of the ones defined by the recipient. This can be useful to alter how messages are sent.

VPOP3 will check all DNS Overrides which are specified. This may mean that there are multiple overrides for a particular message. In that case, VPOP3 will act as if there were multiple MX records set for the target domain. You can use the $end operator (see below) to make VPOP3 stop if an override matches.

Basic DNS Overrides

Basic DNS overrides allow you to always route mail for certain domains through a particular server. This can be useful if SMTP Direct sending works most of the time, but some recipients reject it, so you want to send mail for those recipients' domains through an ISP SMTP relay server.

To do this, specify an override as

<target domain> <mail server to use>

for example

example.com  smtp.myisp.com

 

This means that VPOP3 will act as if the MX record for example.com is actually smtp.myisp.com, instead of the real MX record.

You can use wildcards in 'target domain' part, for example:

* smtp.myisp.com

 

will tell VPOP3 to send messages for any domain through 'smtp.myisp.com' (just as if you had told VPOP3 to send via an SMTP relay server)

 

If the specified SMTP relay server requires authentication, then you can specify that as:

<username>:<password>@<mailserver>

for example

example.com joe:letmein@smtp.myisp.com

 

(Note that the ISP's SMTP server password is displayed in this case)

Also, you can specify the SMTP server port by adding :<port number> after the server name if it is not the default SMTP port of 25, for example

example.com smtp.myisp.com:587

 

Conditional DNS Overrides

As well as the basic overrides above, you can specify overrides which are conditional, depending on certain criteria, such as the message sender, size, how many times VPOP3 has tried to send the message already and so on.

To do this, specify the conditions after the basic override text. The conditions are specified as <attribute><operator><value>. There must be no spaces in the condition text. You can specify multiple conditions on a line. They must all match for the Override to be used.

Possible attributes to check are:

$retries - this checks how many times VPOP3 has tried to send the message already. This may be useful if you want VPOP3 to try to send the message using MX sending originally, but send the message through an SMTP relay server if VPOP3 has tried several times without success.

$size - this checks the message size. This may be useful if you want to send small or big messages through a particular server, and have other messages go direct.

$authsender - this checks the authenticated sender the message was sent by (requires the sender to use SMTP authentication). This may be useful if you want VPOP3 to send messages from different users through different servers.

$from - this checks the sender's email address. This may be useful if you want VPOP3 to send messages from different users through different servers and don't use SMTP authentication.

 

For all attributes, the following operators are available:

= or == - test that the attribute value is equal to the condition's value

<> or != - test that the attribute value is not equal to the condition's value

<= - test that the attribute value is less than or equal to the condition's value

< - test that the attribute value is less than the condition's value

>= - test that the attribute value is greater than or equal to the condition's value

> - test that the attribute value is greater than the condition's value

For text attributes ($authsender & $from) the tests are case insensitive, and greater than/less than mean in terms of ASCII codes (a < b, 3 < a, etc).

For text attributes only, the following two operators are also available:

~= - test that the attribute value matches using wildcards or regular expresions. Regular expressions are specified by surrounding the condition's value with // characters. For example $from~=*@example.com will do a wildcard test, or $from~=/@example\.com/i will do a regular expression test. Regular expression tests are case sensitive unless the 'i' flag is specified at the end.

~! - test that the attribute value does not match using wildcards or regular expresions.

Special conditions

There is a special override condition as well

$dnsmx:<match> - this makes the override match if any DNS MX records for the domain match the specified match text (using wildcard matches). For instance, you could use something like:

* smtp.myisp.com $dnsmx:*.aspmx.l.google.com $end

This will mean that mail to target email addresses using Google Apps will be sent via 'smtp.myisp.com' instead of direct.

You an precede the 'match' section with a '!' to change the meaning so that the override will match if none of the DNS MX records match the match text. For example:

* smtp.myisp.com $dnsmx:!*.example.com $end

 

More Override Options

$end - tells VPOP3 to stop checking the Overrides if the conditions on the current line matches. (If no conditions are specified, then the $end option will always be used).
For example: * smtp.myisp.com $authsender=joe $end

$adddns - tells VPOP3 to use the normal DNS MX records as well as the override entries rather than replacing the DNS MX records by the overrides. This is not normally needed.

$priority:<n> - set the fake MX record priority to that specified. Not needed unless you use $adddns or have several matching overrides for this particular recipient.

 

If you think this help topic could be improved, please send us constructive feedback