Managed technical services across Canada
Proudly Canadian

Guide

Email Not Sending? Complete Fix Guide for cPanel, WordPress & SMTP (2026)

Email fails silently for many reasons: wrong SMTP port, blocked port 25, blacklisted IP, or WordPress PHP mail. Diagnose and fix every cause with this step-by-step guide.

Editorial process: This article was created with AI assistance and prepared for publication by Gotekky.

Quick answer

What to check first

Email fails silently for many reasons: wrong SMTP port, blocked port 25, blacklisted IP, or WordPress PHP mail. Diagnose and fix every cause with this step-by-step guide.

Email that silently fails to send is one of the more frustrating technical problems to diagnose because the failure can happen at several different points in the delivery chain, and the error messages involved are often vague or absent entirely. A message may appear to send successfully from your email client while never actually reaching the recipient. A WordPress form submission may complete without error on screen while the notification email is quietly dropped. A business application may report a successful send while the mail server rejects the connection.

 

The approach to fixing this depends on where the failure is happening. This guide works through the most common causes in order, starting with the checks that are fastest to perform and most commonly the culprit.

 

Quick Summary

 

  • Verify your SMTP settings first — wrong server address, port, or credentials account for the majority of email client failures
  • Port 25 is blocked on most networks; use port 465 with SSL or port 587 with STARTTLS instead
  • WordPress email requires an SMTP plugin to send reliably; the default PHP mail function is frequently unreliable or disabled
  • Check whether your server IP is blacklisted if mail sends without error but recipients do not receive it
  • Confirm your DNS records, particularly MX and SPF, are correctly configured for your domain

 

Identify Where the Failure Is Happening

 

Before checking settings, narrow down what type of failure you are dealing with. The cause and fix differ depending on which of the following applies to your situation.

 

If you are configuring an email client like Outlook, Apple Mail, or Thunderbird and cannot connect to the server at all, the problem is almost always SMTP settings or a blocked port. If you were previously able to send and the problem started suddenly, it is more likely a changed password, a server change, or a certificate issue.

 

If email sends from your email client without error but recipients report not receiving it, the message is being sent but rejected or silently dropped somewhere in the delivery chain. The causes here include a blacklisted server IP, authentication failures at the receiving end, or your message being filtered as spam.

 

If WordPress or a web application is not sending email at all, including password resets, contact form notifications, and order confirmations, the problem is almost always the mail function the application uses rather than your SMTP settings. This is a separate issue covered in its own section below.

 

If email was working and stopped after a recent change, that change is almost certainly the cause. Recent changes to investigate include a password change, a DNS change, moving to a new server, enabling Cloudflare, or a cPanel configuration modification.

 

Check and Correct Your SMTP Settings

 

Most email client sending failures come down to one of four things: the wrong outgoing mail server address, the wrong port number, incorrect authentication credentials, or the wrong security protocol selected. Go through each one methodically.

 

Outgoing mail server address

 

For email hosted in cPanel, the outgoing mail server is typically either your domain name, such as mail.yourdomain.com, or your hosting server's hostname. You can find the correct server hostname in cPanel by going to the Email Accounts section and clicking Connect Devices next to the account. This shows the exact settings to enter for the most common email clients. If your domain uses Cloudflare, the mail subdomain should have its DNS record set to DNS-only mode rather than proxied, since Cloudflare cannot proxy SMTP connections.

 

For Google Workspace email, the outgoing server is smtp.gmail.com. For Microsoft 365, it is smtp.office365.com. Using your domain as the server address instead of the provider's correct SMTP server is a common configuration mistake when switching providers.

 

Port and security protocol

 

Port 25 is blocked on most residential and business internet connections to prevent spam. It is also blocked in most shared and VPS hosting environments for outbound connections. If your email client is set to use port 25, this is almost certainly why it cannot connect.

 

The correct alternatives are port 465 with SSL/TLS or port 587 with STARTTLS. Both encrypt the connection and require authentication. Port 587 with STARTTLS is the current standard recommendation from most email providers. If you are unsure which to use, try port 587 with STARTTLS first. If that fails, try port 465 with SSL.

 

Authentication credentials

 

The username for SMTP authentication is almost always your full email address, not just the part before the @ symbol. A common mistake is entering yourname instead of [email protected]. The password is the password you set for this specific email account in cPanel, not your cPanel login password. If you are not sure which password applies, reset the email account password in cPanel under Email Accounts and use the new password in your email client.

 

Testing SMTP connectivity

 

If you want to confirm whether the SMTP connection itself is working before troubleshooting settings, you can use MXToolbox's SMTP Diagnostics tool at mxtoolbox.com/diagnostic.aspx. Enter your mail server address and it tests the connection and reports exactly what the server responds with at each step of the handshake.

 

Check Whether Port 25 Is Being Blocked by Your Network

 

Even if your settings are correct, outbound port 25 may be blocked by your ISP, your office network, or your hosting provider. This is a deliberate policy on most networks to prevent spam, and it means port 25 simply will not work for sending email from end-user devices or web applications, regardless of your server configuration.

 

The test is straightforward. From your terminal or command prompt, run:

 

telnet mail.yourdomain.com 25

If the connection times out or is immediately refused, port 25 is blocked on your current network. Switch to port 587 or 465 in your email client settings. If port 587 also cannot connect, the block may be at the hosting server level rather than your network. In that case, contact your hosting provider to confirm which ports are open for outbound SMTP.

 

On shared hosting, cPanel accounts are configured to send through the server's local mail delivery agent on port 25 internally, which bypasses the external block. This works for email clients connecting from outside, but the server itself routes outgoing mail through port 25 to other mail servers. If your server's IP is on a blacklist or your ISP blocks port 25 at the network level, outgoing mail from the server may still fail regardless of what settings you use in your email client.

 

Fix WordPress Email Sending

 

WordPress uses PHP's mail() function by default to send all emails generated by the platform, including password resets, new user notifications, WooCommerce order confirmations, contact form submissions, and any email sent by plugins. This function bypasses SMTP authentication entirely and sends mail directly from the server without signing or authentication. Most modern receiving servers treat this as low-trust or spam, and many hosting providers disable the PHP mail function outright for security reasons.

 

The result is that WordPress email frequently fails silently. The email appears to have been sent from WordPress's perspective, no error is displayed, but the message is never delivered or goes directly to the recipient's spam folder.

 

The fix is to configure WordPress to send email through an authenticated SMTP connection rather than the PHP mail function. The most reliable way to do this is with the WP Mail SMTP plugin, which is free and installs in the same way as any WordPress plugin. After installation, go to WP Mail SMTP in your WordPress admin, and configure it with your SMTP server, port, username, and password using the same settings you would use for an email client.

 

The SMTP account you use can be your cPanel email account, your Google Workspace account if you have one, or a dedicated transactional email service. For sites that send a high volume of automated email, a transactional service like Mailgun, SendGrid, or Postmark is more reliable than a standard mailbox account because these services are specifically designed for high-volume authenticated sending and maintain strong IP reputations.

 

After configuring WP Mail SMTP, use the Send Test Email feature in the plugin to confirm it is working before relying on it. If the test email is received successfully, WordPress email is now going through authenticated SMTP and should deliver reliably.

 

Check Whether Your Server IP Is Blacklisted

 

If your email sends without error from your client or server but recipients report not receiving it, or if recipients using Gmail or Outlook are not getting your messages while others are, a blacklisted server IP is a likely cause.

 

Major email providers maintain internal reputation systems and consult blacklist providers to decide whether to accept, defer, or reject incoming connections. A server IP that appears on a significant blacklist will have its outgoing mail rejected or deferred silently, meaning the message appears sent from your end but never arrives.

 

Check your server IP using MXToolbox Blacklist Check. If you do not know your server's IP address, log into cPanel and look for the IP Address shown in the sidebar on the home screen. Enter this IP at mxtoolbox.com/blacklists.aspx.

 

If your IP is listed, the path to resolution depends on why it was listed. If another account on your shared hosting server was sending spam, your hosting provider needs to address the source before the IP can be delisted. If your own account was the source of the issue, clean the site of any malware or spam scripts, then submit delisting requests to each provider where the IP is listed. Spamhaus has a self-service lookup and delisting process at spamhaus.org. Microsoft's Smart Network Data Services handles delisting for Outlook and Hotmail at sendersupport.olc.protection.outlook.com.

 

Verify Your DNS Configuration

 

DNS problems can prevent email from working correctly in several ways. An incorrect or missing MX record means that incoming mail to your domain cannot be routed to your mail server. A misconfigured SPF record causes your outgoing mail to fail authentication checks at receiving servers, which may result in rejection or spam placement. Missing DKIM means your mail has no cryptographic signature, which reduces trust at receiving servers. And a missing or incomplete DMARC record means there is no policy coordination between SPF and DKIM.

 

Check your MX records

 

MX records tell sending mail servers where to deliver email addressed to your domain. Use MXToolbox's MX Lookup at mxtoolbox.com/mxlookup.aspx to check your current MX records. For cPanel email, the MX record should point to your server's hostname or your domain. For Google Workspace, the MX records should point to Google's mail servers. For Microsoft 365, they should point to Microsoft's mail servers. If the MX records point to a server that does not exist or is no longer active, incoming mail will fail.

 

Check your SPF record

 

Your SPF record should authorize the servers that send email on behalf of your domain. For cPanel hosting, this should include your server's IP or hostname. A quick check using MXToolbox's SPF lookup will show whether the record exists, whether it is syntactically valid, and whether the sending server your email is coming from is included. Our dedicated SPF troubleshooting guide covers this in full detail.

 

DNS changes and propagation

 

If you recently changed your DNS records, email issues may be caused by incomplete propagation rather than a misconfiguration. DNS changes can take up to 48 hours to propagate fully across all DNS resolvers. Using Google Admin Toolbox at toolbox.googleapps.com allows you to check what different DNS servers see for your records, which helps identify whether propagation is still in progress or whether a specific configuration is incorrect.

 

Diagnose With Email Header Analysis

 

When a message sends but is not received, or when you have a bounce-back message from a recipient's server, the detailed information about why the delivery failed is in the email headers and in the bounce message text. Reading these correctly points directly to the cause.

 

A bounce message from a receiving server will typically contain an SMTP error code and a description. Common codes to look for include 550, which means the receiving server rejected the message, often with a reason like "user not found" or "message rejected due to policy," 421, which means the server is temporarily unavailable or rate limiting your connections, and 535, which means authentication failed, typically indicating wrong credentials or an IP not authorized to send.

 

If a message was received but went to spam rather than the inbox, ask the recipient to open the message in Gmail, click the three-dot menu, and select Show Original. The Authentication-Results header shows whether SPF, DKIM, and DMARC passed or failed. Any failure here explains why the message was treated as suspicious.

 

Managing Email Settings Through WHMCS

 

If your hosting is managed through our client portal, email account management is available directly from your account without needing to access cPanel. Navigate to My Services, click on your hosting package, and look for the email management options in the product details. From your WHMCS client area you can also access cPanel directly through the single sign-on link, which takes you to cPanel's Email Accounts section where you can view connection settings, reset passwords, and check email deliverability status for each domain on your account.

 

If you have worked through the steps above and are still unable to send email, open a support ticket with your domain name, the full error message you are receiving, and the SMTP settings you are currently using. Our team can check server-level logs to identify whether the connection is being rejected at the server, whether your IP is on a block list, and whether any configuration change is needed on the hosting side.

Gotekky

Need help deciding what to do next?

Tell us what you are seeing and what outcome you need. We will identify whether a managed service, scoped project or paid technical assessment is the right next step.