We know a lot of our customers use WordPress sites for their main online presence. We also know a lot of our customers want to send emails from those sites. And that can be tricky to do.
WP Engine is one of the premium hosting platforms for WordPress sites but its main focus isn’t on sending large amounts of emails on behalf of its customers. This adds another layer of complication for anyone looking to get all their email sources, including a WordPress site, fully DMARC configured.
Such a scenario is exactly why we built our latest feature Investigate. It’s specifically designed to reduce the amount of time, effort and confusion that can be involved in getting an email source configured correctly with your DMARC policy.
In this blog, we’ll be walking you through how we used Investigate to successfully set up a third-party sending system “SendGrid” to send emails from our WordPress site and then fully customize it to send emails on behalf of our domain. Thus achieving DMARC compliance, hurrah!
Oh, and before we get into the nitty-gritty, if you’d like to learn more about our new Investigate feature then follow this link.
For this exercise we used the following:
- Default site name: testdmarc
- Custom domain: nodmarc.com
- OnDMARC Investigate inbox to test DMARC compliance: firstname.lastname@example.org
And the process we followed was:
- Sign up to WP Engine and test emails using default site domain
- Add custom site to WP Engine and test emails
- Sign up to SendGrid and add our custom domain
- Customize SendGrid to send emails on behalf of our domain and test emails
1. Sign up to WP Engine and test emails using default site domain
By default, emails sent from our WordPress site are sent via the WP Engine platform using the domain of wpengine.com. These emails are limited to notification emails such as password resets, and they pass DMARC validation by default as we will show below.
Once we signed up to WP Engine and accessed the default site we added email@example.com as an additional user for testing purposes. This inbox will receive notification/test emails and display the SPF, DKIM and DMARC results as well as TLS and FcRDNS results but for the purpose of this exercise, we will only focus on DMARC.
After adding our Investigate inbox as an additional user we changed the password of our site to trigger a notification email to be sent to it. The results displayed were as following:
Investigate clearly shows the email passed DMARC validation and that the domain used throughout, by default, was wpengine.com
2. Add custom site to WP Engine and test emails
Next we added nodmarc.com as our primary domain to WP Engine and created an A record for it in DNS so that our site can be accessed using this domain name.
Once the DNS changes have propagated we went into the settings of our WordPress site and changed the address to point to our new one as shown below.
Now we now changed the password again to trigger a new notification email and see the results.
From the above, we can see that notification emails are now sent using the nodmarc.com domain and are not compliant. Going into the email reveals that this email is failing the DMARC alignment check.
DMARC alignment requires that the From domain matches either the SPF or DKIM signing domain. They can also be subdomains of each other, however, in the above case the SPF and DKIM domains are completely different to the From domain.
As we will be using SendGrid to send emails we will not worry about this misalignment at the moment and go ahead and sign up to SendGrid.
3. Sign up to Sendgrid and add our custom domain
After signing up to SendGrid and adding our custom domain we installed the SendGrid plugin to our WordPress site so we can connect and send emails via SendGrid. Connecting the plugin with SendGrid requires that you create an API key in SendGrid and paste it into the plugin as shown below.
Once successfully connected any notification emails will be sent via SendGrid using the Sending Address that we configured above. Sending a test email to our I
We can now see that whilst the emails are originating from SendGrid they fail DMARC alignment. Next step is to fix the DMARC alignment.
4. Customize SendGrid to send emails on behalf of our domain and test emails
To achieve DMARC compliance we will have to turn on and configure Sender Authentication in SendGrid. This requires us to create the following records in our DNS.
Once verified SendGrid will customize the domain used by SPF and DKIM to match nodmarc.com. To verify this we sent another test email from our Sendgrid plugin. The results were as follows.
We can see from the above that Sendgrid has been configured correctly and DMARC passes. We are now well on our way to full DMARC protection and by having DMARC properly configured we are not risking any legitimate emails from Sendgrid being rejected.