Just wanted to share a trick I'm trying on backup MX servers to prevent spam. As you know often spammers will try the backup MX server hoping the backup has less spam filtering. But if the primary server is online there's no reason to use the backup. So the idea is - if the primary is up - send them a 4xx error.

The way I determine if the primary is down is to do a forward callout. If it returns a message that it can't connect or complete verification then the server is offline and the backup should take the message. if it is verified as good then the primary is online and should return a defer - 4xx error.

The idea is to use the verify command with defer_ok but check the verify message for the word "not" in it.

defer message = DEFER - NOBACKUP - Primary server for [$domain] is active. Try that server first.
    verify = recipient/callout=40s,connect=3s,defer_ok,use_sender
    !condition = ${if match{$acl_verify_message}{not}{true}{false}}


I'm still playing with this. Probable also need to reduce or eliminate caching on the recipient callout. But I thought I'd post it in case someone finds it useful.


--
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/

Reply via email to