Troubleshooting email delivery
On this page
- First, which problem do you have?
- Step 1: Send a test email
- Step 2: Read the exact error
- Step 3: Check the mailer settings
- Step 4: Check your account at the provider
- Step 5: Check nothing is blocking sending
- Step 6: Look for conflicts
- Step 7: Check your server
- Step 8: Check background tasks
- Step 9: Turn on full debugging
- Step 10: Ask for help
- Related
A step-by-step checklist for any email problem in CRM-NG SMTP, from a failed test to messages that never arrive. Start here when unsure.
This is the general checklist for email problems with CRM-NG SMTP. The plugin opens this article whenever it sees an error it does not have a specific article for. Work through the sections in order: most problems are found in the first four. It is for site owners, administrators and developers.
First, which problem do you have?
| What you see | Start at |
|---|---|
| A red banner: "One or more emails recently failed to send" | Step 2 |
| The test email fails | Step 1, then Step 2 |
| The test works, but real site emails do not arrive | Step 6 |
| Emails arrive, but in spam | Emails landing in spam |
| Nothing is sent at all, no errors | Step 5 |
| Emails arrive late | Step 8 |
Step 1: Send a test email
- Open the test page
Go to CRM-NG SMTP → Tools → Email Test.
- Send to an outside address
Use a mailbox on a different provider, such as a personal Gmail address, and click Send Email.
- Note the result
Success, a domain warning, or a failure banner. Each is explained in Sending a test email.
If you see "You cannot send an email. Mailer is not properly configured.", a required field is empty. Go to CRM-NG SMTP → Settings → General and complete it.
Step 2: Read the exact error
The error text tells you almost everything.
- On the failed-send banner, click View Error Log. Use Copy error log to keep a copy.
- Click Open Troubleshoot Guide for the article on that error, if there is one.
- Or open CRM-NG SMTP → Tools → Debug Events. Every sending error is recorded there with its time and full message. See Debug events.
Common errors and their articles:
| Error mentions | Read |
|---|---|
| Authentication failed, 535, username or password | 535 Authentication failed |
| Could not connect to SMTP host | Could not connect to SMTP host |
| Connection timed out, 110 | Connection timed out |
| Connection refused | Connection refused |
| SSL certificate, certificate verify failed | SSL certificate verify failed |
| cURL error | cURL error |
| Invalid API key, unauthorized, 401, forbidden | Invalid API key, 401 Unauthorized or Forbidden |
| Sender, From address not verified, 553 | 553 Sender address rejected |
| Recipient rejected, 550 | 550 address does not exist or was rejected |
| Limit, quota, too many | Email sending limit reached |
| Hostname could not be resolved | Hostname could not be resolved |
Step 3: Check the mailer settings
Open CRM-NG SMTP → Settings → General and check, slowly:
- Keys and passwords. Paste them again. A stray space is the most common cause of authentication errors. If you changed a password or key at the provider, update it here.
- The right key type. Some services issue several kinds of key. Use the one the mailer article tells you to (for Microsoft 365, the secret Value, not the Secret ID).
- Domain and region. Mailgun, SparkPost, Amazon SES and Zoho Mail need the region your account lives in.
- Sign-in still valid. For Google / Gmail, check the account still shows as connected. If not, use Remove OAuth Connection and authorise again.
- From Email allowed. The address must be verified with your service, or be the mailbox you sign in with. See Sender name, address and the Force settings.
Save, then test again.
Step 4: Check your account at the provider
In the mail service's dashboard, look for an account or domain that still needs verifying, a trial or sandbox mode that only sends to your own address (Amazon SES starts this way), a suspension, or a sending limit already reached. Check the provider's activity log too: if your message appears there, CRM-NG SMTP did its part.
Step 5: Check nothing is blocking sending
- Standby. If the plugin shows a notice saying another mail plugin is sending, CRM-NG SMTP is not sending yet. See Switching from another mail plugin (hand-over).
- Do Not Send. On CRM-NG SMTP → Settings → Misc, make sure Stop sending all emails under Do Not Send is not ticked. Test emails are allowed even when it is, which can hide the problem. Turn on Log Blocked Emails to see blocked messages in the log.
- Email Controls. Some WordPress core notifications can be switched off on the Email Controls tab. See Email controls.
- Constants. If a setting is locked, it is set in
wp-config.php. A wrong value there overrides the screen. See Securing settings with wp-config constants.
Step 6: Look for conflicts
If the test works but emails from a particular plugin or form do not arrive:
- Check CRM-NG SMTP → Settings → Email Log. If the email is not listed, it never reached WordPress's mail function. The plugin that should send it may use its own sending method, or may not be sending at all.
- Look for a conflict notice naming another mail plugin, and deactivate that plugin.
- Some plugins send email their own way and bypass WordPress mail. Check their settings for an option to use the WordPress default.
See Testing for plugin and theme conflicts.
Step 7: Check your server
Ask your web host, or check yourself:
- Outgoing ports. Many hosts block SMTP ports 25, 465 and 587. API mailers use HTTPS (port 443) and avoid this. If Other SMTP times out, switching to an API mailer is often the quickest fix.
- Outbound HTTPS. API mailers need your server to reach the provider over HTTPS. A firewall or security plugin can block it.
- Certificates. An outdated CA certificate bundle causes SSL and cURL errors. Only the host can update it.
- PHP version. CRM-NG SMTP needs PHP 7.4 or newer. See Supported PHP and WordPress versions.
- Database tables. If Tools → Site Health reports "CRM-NG SMTP DB tables check has failed", click the link to create the missing tables. See Site Health checks.
Step 8: Check background tasks
If you turned on Optimize Email Sending or Email Rate Limiting on the Misc tab, emails wait in a queue and are sent by background tasks. If those tasks do not run, emails are delayed or stuck. Check CRM-NG SMTP → Tools → Scheduled Actions for past-due tasks. See Action Scheduler issues.
Step 9: Turn on full debugging
If you still cannot see the cause, go to CRM-NG SMTP → Tools → Debug Events, tick Debug Email Sending, save, and send another test. The full sending conversation is recorded. Turn it off again when you are done. See Debugging sending issues.
Step 10: Ask for help
Collect the error text, your mailer name, your PHP and WordPress versions, and what you have tried, then contact support at catalystgroup.gg/support. Never send passwords or API keys by email. See Sharing credentials with support safely.
