Page 74 - Mercury Manual.book
P. 74
69 The MercuryS SMTP Server Module
Compliance options
• ‘R’ for an expression applied to each SMTP RCPT TO command
Deferred processing The 'D' operation is the same as the 'H' operation, in that it defines a
test that should be applied to the HELO or EHLO greeting offered by the connecting client. The
difference is that with the 'D' operation, the action is not applied until the connected client
actually tries to initiate a mail delivery. If, in the interim, the connected client issues a suc-
cessful SMTP AUTH command, the deferred action is cancelled. This allows you to test for a
wide range of common rubbish-connection indicators (such as non-qualified domain names
or your own IP address) in the EHLO phase, but still allow mail to get through if the client
subsequently proves itself to be valid through an explicit act of authentication. The 'D' op-
eration will be extremely useful to sites that have many roaming users who may have to con-
nect from a variety of sites or systems of varying quality.
Expression is a Mercury regular expression - The expression must be quoted, and is applied
to the entire HELO command. The following metacharacters are recognized in the regular ex-
pression:
* Match any number of any characters
? Match any single character (must match at least one character)
+ Match one or more occurrence of the last character or pattern
[ ] Encloses a group of characters to match. Ranges can be specified
in the group using '-' (for example, [a-k] specifies every charac-
ter from a to k inclusive)
/w Match zero or more whitespace characters
/W Match one or more whitespace characters
/c Toggle case sensitivity (case-insensitive by default)
/s Toggle whitespace stripping (off by default). When turned on, all
whitespace in the input is ignored and does not contribute to the
test.
/b Match a start-of-word boundary (including start of line)
/B Match an end-of-word boundary (including end of line)
/x Toggle “ignore non-alpha” mode (off by default). When on, all
non-alphanumeric characters in the input are ignored and do not
contribute to the test.
/X Toggle “ignore-spam” mode (off by default). When on, all non-
alphanumeric characters except for ‘@’ and ‘|’ are ignored and do
not contribute to the test.
Note that the expression begins at the start of the source line, so if you want to match an ex-
pression anywhere within the line, you need to start and end the expression with closure char-
acters (*): so, for example, if you wanted to search for the term "pharmacy" anywhere in the
line you are checking, you would need to enter the expression as "*pharmacy*".
Action is one or more characters indicating the action MercuryS should take when the ex-
pression is matched: the first character in the action can be one of the following:
• ‘R’ to refuse the transaction
• ‘D’ to drop the connection immediately with no error response
• ‘L’ to log a system message