Recently on several Plesk 10 servers we’ve had users complain that they could not receive email from various domains. Upon investigation we found that the domains were all hosted on Microsoft’s Exchange email service. The bounce messages received by the sender were from bigfish.com and the source address in the server mail logs was a host in messaging.microsoft.com.
We found log entries like this:
1 2 3 4 5 |
Mar 16 09:06:42 cloud1 qmail-queue-handlers[25914]: to=test@technicorp.net Mar 16 09:06:42 cloud1 greylisting filter[25916]: Starting greylisting filter... Mar 16 09:06:42 cloud1 greylisting filter[25916]: list type: black, from: db3outboundpool.messaging.microsoft.com, match string: dsl|pool|broadband|hsd Mar 16 09:06:42 cloud1 qmail-queue-handlers[25914]: handlers_stderr: REJECT Mar 16 09:06:42 cloud1 qmail-queue-handlers[25914]: REJECT during call 'grey' handler |
So the greylist filter in Plesk 10 is blocking server that are on “dsl|pool|broadband|hsd” address ranges. In this case it would be Microsofts cloud anti-spam service that is on “pool” addresses.
From the Plesk control panel there are very few settings for the greylist filter – you can turn the filter on/off and manage white/black list entries. But there are no options to configure the filtering rules. After some digging at the command line I found this:
1 |
/usr/local/psa/bin/grey_listing --info-server |
This plesk utility give a listing of the configuration for the greylist filter and provides options for configuring the greylist:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
/usr/local/psa/bin/grey_listing -h Usage: grey_listing command [options] Available commands: --update-mailname or -um <mail@domain> updates the grey listing configuration for existing mail user --update-domain or -ud <domain> updates the grey listing configuration for existing domain --update-server or -u updates the grey listing server-wide settings --info-mailname or -im <mail@domain> retrieves grey listing settings for given mailname --info-domain or -id <domain> retrieves grey listing settings for given domain --info-server or -i retrieves server wide grey listing settings --help or -h displays this help page Available options: -status <on|off> enable/disable grey listing. Used with --update-domain or with --update-server command -personal-conf <true|false> allows or prohibits personal grey listing configuration for users. Used only with --update-server command. -grey-interval <number> updates grey interval value (in minutes). Used only with --update-server command -expire-interval <number> updates expire interval value (in minutes). Used only with --update-server command -penalty-interval <number> updates penalty interval value (in minutes). Used only with --update-server command -penalty-status <true|false> enable/disable penalties for server. Used only with --update-server command -blacklist <add|del>:<pattern1[,pattern2]>;... adds, deletes e-mail(s) pattern of black list shared with spamassassin. Used with --update-mailname or with --update-server command -whitelist <add|del>:<pattern1[,pattern2]>;... adds, deletes e-mail(s) pattern of white list shared with spamassassin. Used with --update-mailname or with --update-server command -domains-whitelist <add|del>:<pattern1[,pattern2]>;... adds, deletes domains pattern of white list. Used only with --update-server command -domains-blacklist <add|del>:<pattern1[,pattern2]>;... adds, deletes domains pattern of black list. Used only with --update-server command |
Here’s a sample of the info output:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
/usr/local/psa/bin/grey_listing --info-server Grey listing configuration. Grey listing checking enabled Grey interval 5 minutes Expire interval 51840 minutes Penalty interval 2 minutes Penalty disabled Personal grey listing configuration allowed Server-wide black list: *@somedomain.com Server-wide white list: *@bigfish.com White domains patterns list: *google.com *mail.ru *parallels.com *rambler.ru *yahoo.com *yandex.ru Black domains patterns list: *[0-9][0-9]-[0-9][0-9]-[0-9][0-9]* *[0-9][0-9].[0-9][0-9].[0-9][0-9]* *[0-9][0-9][0-9]-[0-9][0-9][0-9]-[0-9][0-9][0-9]* *[0-9][0-9][0-9].[0-9][0-9][0-9].[0-9[0-9]][0-9]* dsl|pool|broadband|hsd dynamic|static|ppp|dyn-ip|dial-up SUCCESS: Gathering of server wide information complete. |
Notice that the server admin tried to whitelist the “@bigfish.com” but it did not work because the “black domain patterns list takes precedent.
Now to solve the problem of mail from *.messaging.microsoft.com we can just add another “white domains pattern list” like this:
1 |
/usr/local/psa/bin/grey_listing --update-server -domains-whitelist "add:*messaging.microsoft.com" |
And now the email from Microsoft hosted domains should be delivered without error.
Here’s a Parallels Knowledgebase Article on this subject:
And here’s a thread on Serverfault that got me on the right track: