WordPress Not Sending Email? How SMTP Fixes It
Form notifications, order receipts, and password resets from your WordPress site go missing or land in spam. The usual cause is how WordPress sends mail, and SMTP is the standard fix.
Common signs of this issue
- Contact form messages say "sent" on the website but never arrive in your inbox.
- Customers do not receive order confirmations, booking emails, or receipts from your site.
- Password reset and new user emails from WordPress never show up.
- Emails from your site arrive, but always in the spam or junk folder.
- Email worked for years and stopped after a hosting move, a domain change, or a change to your business email provider.
- Some recipients get the emails and others, often Gmail or Outlook users, never do.
Safe checks you can do yourself
None of these require sharing passwords with anyone.
- Check spam and junk folders first, including any Promotions or Other tab, and search for your site's name. If the messages are there, WordPress is sending but the emails are not trusted — a delivery problem that SMTP and domain authentication fix.
- Look at which address your site sends from. Your form plugin and WordPress settings will show a From address. If it is a free email address (a Gmail or Yahoo address) or a made-up address like wordpress@ your domain, receiving mail servers are likely to reject or bin it.
- Find out whether your form plugin keeps entries. If the message appears in the plugin's entries screen but not in your inbox, the form is fine and the problem is purely email sending.
- Check whether an SMTP plugin is already installed under Plugins. If one is, open its settings and use its send a test email feature. Many SMTP plugins also keep an email log that shows whether each message went out or failed, and why.
- Gather what you would need to set SMTP up: the email account or mail service you want the site to send through, its SMTP server name, port, and sign-in details, or an API key if you use a transactional email service. Your email provider's help pages list the server settings.
- Ask your host whether they block outgoing mail connections. Some hosts and cloud servers block common email ports to stop spam, in which case the site must use a mail service that connects over an API instead of a standard SMTP connection.
- Check your domain's email authentication records. Use a free SPF and DMARC checker on your domain name, and confirm that the service your site sends through is included. See the guide on SPF, DKIM and DMARC setup.
What this usually means
By default, WordPress sends email using a basic function built into the web server, often called PHP mail(). It takes the message and hands it to the server with no sign-in and no proof that your website is allowed to send email for your domain. Spammers abused this for years, so many hosts now restrict or silently drop it, and major inbox providers treat unauthenticated mail with suspicion. Since Gmail, Yahoo, and Microsoft began enforcing stricter sender rules, messages that fail authentication are far more likely to be rejected outright or dumped in spam.
SMTP fixes this by making your site send email the way a real mail program does: it signs in to a proper mail service and sends through it. That service might be your business email account, such as the one you use for Google Workspace or Microsoft 365, or a transactional email service built for sending website notifications, receipts, and password resets. An SMTP plugin takes over WordPress's mail function (wp_mail()), so every plugin that sends email — contact forms, shops, booking systems — benefits at once. That is why the common "Contact Form 7 not sending email" problem is usually solved without touching Contact Form 7 at all.
SMTP is only half the picture. The service you send through also needs to be authorized in your domain's DNS records. SPF lists which services are allowed to send email for your domain, DKIM adds a digital signature, and DMARC tells receivers what to do when checks fail. Your SMTP or transactional provider will give you the exact records to add. With both in place, your site's emails look like genuine mail from your business, and delivery problems usually stop for good.
What not to do
- Don't use your personal Gmail or Outlook password in an SMTP plugin. Use an app password, an OAuth sign-in option, or an API key from your mail service instead.
- Don't send from a free email address such as a Gmail or Yahoo address through your website. It fails authentication checks almost every time.
- Don't install two SMTP plugins at once. They compete to take over WordPress email, and the result is harder to debug than the original problem.
- Don't add a new SPF record without checking for an existing one. A domain should have only one SPF record, and a second one can break email for your whole business.
- Don't assume email is fixed until a test message has reached an outside inbox, such as a Gmail address, and landed in the main inbox rather than spam.
When to get help
SMTP setup is routine, but it touches three things at once — your WordPress site, your email provider, and your domain's DNS records — and a mistake in DNS can affect email for your whole business, not just the website. If you are not comfortable editing DNS records, or your site sends important email like order confirmations or booking details, it is worth having someone set it up and verify it end to end. It is usually a short job, and once it is done properly it fixes contact form notifications, shop receipts, and password resets in one go.
Not sure what to do next?
Answer a few short questions and we'll point you to the safest next step — DIY, a freelancer, or a direct review. No passwords required.
Is this a business website? If this issue may be costing you leads, sales, or trust, you may want a direct review instead of trial and error.
Frequently asked questions
Why is my WordPress site not sending email?
By default WordPress uses the web server's basic mail function, which many hosts restrict and many inboxes distrust. The messages are either blocked before leaving the server or rejected and filtered as spam when they arrive. Sending through SMTP with a proper mail service fixes it.
What is WP Mail SMTP and do I need it?
WP Mail SMTP is one of several popular plugins that route WordPress email through a real mail service. You need one of them, not that specific brand. Pick a well-maintained SMTP plugin with a test email feature and an email log.
Why is Contact Form 7 not sending email?
Contact Form 7 relies on WordPress's default mail sending, so if that is blocked or distrusted, form emails fail too. Installing and configuring an SMTP plugin usually fixes it. If the form shows an error instead of a success message, the problem is the form itself.
Can I use my Gmail or Microsoft 365 account for WordPress SMTP?
Yes, if the account uses your own business domain. Both providers are moving away from simple password sign-ins for SMTP, so use the plugin's OAuth connection option or an app password where supported. For higher volumes, a transactional email service is usually more reliable.
What is a transactional email service?
It is a service designed to send automated website emails such as form notifications, receipts, and password resets. It gives you an API key or SMTP login, provides the DNS records to authenticate your domain, and shows a log of every message sent.
Do I still need SPF and DKIM if I use SMTP?
Yes. SMTP gets the email sent through a proper service, and SPF and DKIM prove that service is allowed to send for your domain. Without them, even SMTP email can still land in spam.