Are you waiting and waiting for email to arrive from your WordPress site? Have you looked in the spam folder, looked in your inbox, looked under your bed, and your mail is nowhere to be found? Frequently readers think it is a problem with their contact us form, but in reality it is a systemic problem. Your WordPress site is probably not sending any email at all.
WordPress not Sending Email!
Today’s tutorial is inspired by a reader who asked:
I have my website on a subdomain and I am unable to send email through Contact Form 7. Not even just Contact Form 7, but it is not sending any email through any contact form. If you can help me then it would be great.
Why your WordPress Site is not Sending Email
The most frequent reasons that WordPress email fails to send or arrive are:
1. Your host has disabled PHP mail services (this is the specific mail service that WordPress uses) therefore your email isn’t being sent.
2. Your email is failing to arrive because it is marked as spam. Why does WordPress sent email frequently end up in the spam folder? Because it is being trapped by automated spam filtering for reasons that include:
* your domain or email address is blacklisted by email organizations that track email reputations
* your email contains spammy content
* your email DNS is not being properly set up with a DKIM signature, or an SPF record
In this article, we are going to address the first problem (your mail is not being sent) and some percentage of the second problem (email getting trapped in spam filters.) A more comprehensive answer to avoiding spam filters is a bigger project; one that I might address in a series of free videos or an online class. Let me know if you’d be interested in this.
WordPress is a horrible platform for sending mail. What you should be using instead is SMTP: the industry standard protocol for sending email.#WordPress is horrible platform for sending mail. Use #SMTP instead. Here's how.Click To Tweet
How to Send WordPress Email via SMTP
To do this, you will need two things:
1. An SMTP WordPress plugin. There are many, but I use and recommend WP Mail SMTP.
2. Credentials for your SMTP host. Your web host may provide SMTP services, but I recommend using a dedicated third-party email provider. You can read why and which SMTP hosts I use here.
Your STMP host will be able to provide your SMTP credentials, if you don’t already have them. They should include:
1. SMTP server (host) address (for example: mail.example.com) If you are using your webhost’s SMTP, your SMTP server address may be “localhost” instead of a URL such as “mail.example.com” or “smtp.example.com”.
2. username (for example: email@example.com)
3. password (some SMTP hosts do not require authentication, but I’ve never personally seen this.)
4. encryption (none, SSL, or TLS) I encourage you to use SSL or TLS encryption whenever possible. Who wants their email floating around the Interwebs un-encrypted? No one!
5. port number (for example: 25,587,465) The port you use will depend on what kind of encryption you chose in step 4 (and how your mail server is configured)
You will need to add these credentials to your SMTP plugin settings page.
Test Your SMTP Settings
After configuring your SMTP plugin, you should test your email. Here are three ways to test your WordPress email settings.
1. Go to your login page (usually example.com/wp-login.php) and request a password reset sent to you via email. FYI, sending this email will NOT reset your password, as long as you don’t click the link in the email you receive.
2. If you’re using WP Mail SMTP, they have a test feature on their settings page, just enter the email address you want to send the test to.
3. If none of these work for you, there is a test email plugin you can use: Check Email.
Did that help? Let me know in the comments below.
Now that your site is sending email, here are 3 Insider Tips for More Effective Contact Us Forms.