Introduction
This documentation page points you in the right direction for key points that you will want to know and check when you are having email sending or deliverability issues.
How Emails are Sent
By default, if you don’t install any plugin to delegate the send email function for your WordPress site to a third-party service, WordPress uses your web server to send the emails. The web server PHP mail() function is limited and unreliable, so you need a dedicated plugin like Gravity SMTP to handle email delivery for your site.
Gravity SMTP is a WordPress plugin from the makers of Gravity Forms and Gravity Flow that lets you connect your WordPress site with an SMTP server or third-party API to replace this default approach with an integration you configure in the plugin settings. Please check the plugin Settings > Integrations page for a complete list of available integrations.
Your site emails are not routed through our servers. Gravity SMTP will accept the email from your site, record its progress, hand it off to your chosen active integration, and then log and monitor its passage. Gravity SMTP provides the connection between your site and your email service, but it is up to the integrated email service that you have set up to ultimately deliver your emails.
wp_mail()
The wp_mail() function in WordPress is a wrapper for PHP’s mail()
function. Gravity SMTP filters emails sent through wp_mail()
and handles all emails for your WordPress site that use this function. While most plugins rely on wp_mail()
for email delivery, some, like MailPoet, manage their own email sending. Gravity SMTP won’t log or deliver the emails in those cases, but it will still manage all other website emails.
Email Delivery Best Practices
Before going further with the troubleshooting steps, make sure to follow the Email Delivery Best Practices.
Enable Email Logging
Gravity SMTP logging is enabled by default when you first activate the plugin. You can access the Email Log under the Gravity SMTP menu. This Email Log will capture the email-sending process since Gravity SMTP was installed or logging was enabled. This will allow you to check the result for each email sent to assist with troubleshooting. If you need to enable or disable Gravity SMTP logging, please see our documentation here.
Does the error message you see in the log sound cryptic to you? Don’t worry! Contact support, and include a full-page screenshot of the Email Details page, (find that by clicking on the email that failed from the Email Log page), and we will help you to understand what the error means.
Enable Debug Logging
When turned on, the debug log tracks any errors encountered with your integration and the sending of your emails. It provides behind-the-scenes details of the sending process, which assists in detecting and diagnosing issues. For more details on enabling debug logging, please see our documentation here. For more details on what is included in Debug Logging and how to configure the logging, please see our specific debug log documentation.
Attachment Check
Attachments add complexity to the delivery service and can sometimes be a source of failure if the sending service is not expecting them. If you are attaching files to your emails, a good test is to disable the attachments and test again. This can help test that the attachments policy of the integration being used (or the recipient email server) is not the cause of a deliverability issue.
Contact the Integration Provider
If you have not yet identified the problem and are using an API-based integration like Mailgun, Postmark, SendGrid, or any other, those services all have great logging that can help you pinpoint any errors with email delivery. Log in to your integration’s dashboard and look for the email log. Every service names the logging area differently, so you will want to contact them for support if you need help finding the logs in your account.
If you are using an SMTP-based integration, contact their support for assistance. Although that service may not have transactional logging accessible to you, most have server-side logging that can be accessed by their support to find out what happened with any message handed over from your site to their server.
Ultimately, Gravity SMTP is a helper that allows communication between your site and the integration you have configured. Once the emails are successfully handed over to the integration (confirm that no errors are shown in the Email Log), you know that everything worked from the Gravity SMTP side. If deliverability is still a problem, the next step is to check with the integration service and see what’s happening at their end.
Check for Theme and Plugin Conflicts
You may have a conflict between Gravity SMTP and your theme or a plugin on your site. Please refer to our documentation on Testing for Theme and Plugin Conflicts for troubleshooting steps.
Contact Support
Still need help? Are the log messages confusing? Drop us a line via a support ticket, and we’ll help you out!