I need a little guidance on a spam related email rejection our website is having. It is a Wordpress site hosted with WPengine. As far as I'm aware it's using the default PHP mailer.

I've configured an SPF record for our website's domain that allows the WPengine IP's by way of include:wpengine.com. This in turn has it's own IP's and includes that add google SPF's, SendGrid SPF's and so on. There is also a number of other IP's and includes in our record, but despite the fail from http://www.kitterman.com/spf/validate.html, and the warning about too many lookups from MXtoolbox, the SPF is valid.

We're receiving all form submissions from our site (I did add some Exchange message rules to make sure they are delivered into the inboxes rather than junk or clutter), and so are other Exchange email servers our various offices have that use a different email domain. There is one problem office that has a Kerio mail server that is rejecting form submission emails from our website.
I know this because I've setup a "Mail User" on our Exchange server with an external forward to the Kerio mailbox the form submission is intended for.
Form submission emails are from: postmaster@ourdomain.com.au to MailUser@ourdomain.com.au (forwarded to recipient@theirdomain.com.au). When I do a message trace on our Exchange, I see the following results:

enter image description here

Is this problem mine entirely? Or can I simply ask the administrator of this Kerio mail server to create some whitelist entries for our email domain, the WPengine site and the form submission email subject?


The answer is in the "too many lookups" warning, which should be an error telling you that your SPF record is invalid for exceeding the 10 lookup limit:

4.6.4. DNS Lookup Limits
Some mechanisms and modifiers (collectively, "terms") cause DNS queries at the time of evaluation, and some do not. The following terms cause DNS queries: the "include", "a", "mx", "ptr", and "exists" mechanisms, and the "redirect" modifier. SPF implementations MUST limit the total number of those terms to 10 during SPF evaluation, to avoid unreasonable load on the DNS. If this limit is exceeded, the implementation MUST return "permerror".

This site makes some suggestions on how to fix your problem, such as reviewing your SPF record to remove unnecessary includes or restructuring your email domains to separate out emails by source (or just not use SPF).

For example, you could have your form send email from @webform.example.com and then set up a SPF record specific to that name:

webform.example.com.   IN TXT  "v=spf1 include:wpengine.com"

(don't forget an MX if you want people to be able to reply to these emails, and of course setting up your mailserver to recognize the addresses)

  • so requesting the problematic mail server (our others seem OK with the current setup) to create some whitelist rules won't help? – Reece Nov 11 '16 at 2:39
  • A whitelist would probably work for that mailserver, but if these are your main rules for your company, there's going to be a lot of servers out there doing who knows what to your emails – DerfK Nov 11 '16 at 16:29
  • The thing is though, that our website only ever emails the form submissions to one of 5 email servers (4 Exchange or Exchange Online and one Kerio). It is the Kerio email server that is blocking/rejecting the emails but only some of the time. The other servers don't seem to care about the 10 lookup limit warning - or maybe they process the lookups in a different order than the Kerio does and delivery goes through for lookups already processed. Outside of this issue, we really only send email from our Exchange server using the same domain as the website and I haven't had complaints (yet). – Reece Nov 14 '16 at 0:02

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.