How email notifications are sent
Like most other WordPress plugins, Gravity Forms does not handle emails directly. Gravity Forms uses the wp_mail() function that is provided by WordPress to send any emails.
Once Gravity Forms hands the email off to the WordPress wp_mail() function, one of the following occurs:
- WordPress directly interacts with your web server to send the email.
- WordPress contacts your SMTP or external 3rd party mail server to send the email (e.g. SendGrid, Mailgun, etc.).
After WordPress hands the email off, it’s up to the mail server, as well as the recipient’s mail server, to complete the sending of the email. We don’t have any control over the delivery process once the email is passed to WordPress.
If you’re having trouble sending or receiving emails from Gravity Forms, this article will provide you with a few different steps to follow. In the overwhelming majority of cases, these steps have been proven to resolve a multitude of email issues.
Note: WordPress allows filtering of emails sent using wp_mail() function, this means third-party plugins or custom functions can alter any aspect of the email after Gravity Forms passes it to WordPress.
Ensure WordPress and Gravity Forms are up-to-date
The first thing you want to check is your WordPress and Gravity Forms versions. The version you are on could potentially have a bug in it that is fixed within a newer version. Checking that you are running the latest version is a critical step in troubleshooting any issues.
Check your settings
When configuring notifications, it’s easy to miss an error in the recipient address or elsewhere. By looking over the notification configuration carefully, a quick mistake can be easily resolved.
Check for typos
It’s easy for a small typo to turn into a big problem. Check for any typos within your notification feeds.
Avoid spaces
Within your notification, check for any spaces in the recipient’s address, or between multiple addresses. If a space exists in the setting, it can potentially cause the notification to fail.
Use a valid From Address
Within the sender, or From Email field, ensure that it is the address that the message is originating from, that must be an email address authorized by your server (e.g. an email using the same domain that your site uses).
In plain English, don’t use your visitor’s email as from address, always use your site domain in the from address.
If not, things like SPF records and/or DMARC records can cause the mail to be marked as spam and/or rejected. If you need to allow the recipient to reply to another address, set it as the Reply To address instead.
Many providers as Yahoo, AOL or Gmail are known to apply this policy. For more information on the Yahoo domain issue, visit the following:
Yahoo email anti-spoofing policy breaks mailing lists.
For more info on the AOL domain issue, visit the following:
AOL imposes stricter email rules.
You can also read about Gmail DMARC policy changes here:
Gmail DMARC Update 2017.
These are only a few examples, applying this policy to fight against spam is becoming a standard in the email and hosting industry, therefore using a valid from address for your emails must be always in your top list when configuring your notifications settings.
Avoid using same email in From and To addresses
Far too often, we see situations where an email address is configured as both the From Address and To Address. For many mail providers, this will cause the email to be rejected as spam (or placed in a spam folder). Be sure that you use a different, valid email address in the From setting.
Check routing conditions
If you have routing configured for the notification recipient, be sure to double-check that at least one condition was successfully met. If none of the conditions were met, a notification would not be sent, as it would not have a valid recipient.
Is the notification enabled?
While testing forms, it’s common to disable notifications to prevent receiving numerous emails that we don’t really need. Sometimes you can forget to enable the notification again (it happens more than you think đ).
To check if your notifications are enabled, access the form editor, then click on *Notifications at the top menu. You should see a list of all configured notifications for that form. Be sure that all notifications are enabled and the toggle switch to the left of the notification name is green.
Use Third-Party Transactional Email Services or SMTP
In some cases, PHP sendmail may not function due to server configuration or email reliability issues. Using third-party transactional email services or SMTP can offer greater reliability and resolve many issues.
Gravity SMTP connects with various SMTP providers and API-based services to manage email sending for Gravity Forms, WordPress, themes, and other plugins. Documentation can be found at docs.gravitysmtp.com.
Note: For more information on accessing the product and licensing, refer to our FAQ.
Alternatively, Gravity Forms has add-ons for the following major third-party transactional email services:
Using any of the above add-ons enables you to configure Gravity Forms to send notifications using the selected service, without impacting other emails sent by WordPress, the theme, or other plugins.
If you prefer to use an SMTP server or transactional email service to handle sending email for the entire site, there are a number of third-party plugins available in the WordPress plugin directory. You can find some suggestions here:
Whichever plugin you install, you would configure it using the details provided by the SMTP or transaction email service you are using.
âDisclaimer: Third-party services, plugins, or code snippets that are referenced by our Support documentation or in Support Team communications are provided as suggestions only. We do not evaluate, test or officially support third-party solutions. You are wholly responsible for determining if any suggestion given is sufficient to meet the functional, security, legal, ongoing cost and support needs of your project.
Feedback, feature and integration requests, and other functionality ideas can be submitted on our Gravity Forms, Gravity Flow, or Gravity SMTP product roadmap pages.
Sending Result Notes
Starting with Gravity Forms 2.4.15 you will see a note added to each entry, created with this version or newer, with the result for each notification sending process.
To find this note, simply go to your form Entries list, click on an entry from the list to load the entry details page, and scroll down to the Notes section.
If you see any of the following notes added to your entry, all worked as expected from Gravity Forms side of things. But something happened during email sending between WordPress and your sending server.
Check below the most common results reported by WordPress.
WordPress successfully passed the notification email to the sending server.
This means that your Gravity Forms notification settings are fine, the email was passed to wp_mail() function without issues, and WordPress reported successfully handing off the notification for delivery. Now the ball is in the sending server side. Only your server admin can investigate this further.
Could not instantiate mail function.
WordPress cannot send the email because, for some reason, the PHPMailer class included in WordPress (used by the wp_mail() function) can’t use the PHP mail function. Most of the time, this is caused by some restriction in your hosting (e.g. a spam filter was triggered on your server and the email was rejected).
SMTP Error: connect() failed
You’re using a SMTP plugin to send the emails, but WordPress can’t connect to the SMTP server. The most common causes for this are incorrect settings in your SMTP plugin, your hosting is blocking the outgoing connection to the SMTP server, or the SMTP server is blocking connections coming from your web server.
SMTP Error: Could not authenticate
In this case, WordPress can reach the SMTP server, but it can’t authenticate. This can be caused again by incorrect details used in your SMTP plugin (double check not only the username and password, but also the port and encryption used). You might also see this error when the SMTP user that you’re trying to use is not active (e.g. disabled by an admin).
SMTP Error: Data not accepted
This means that the SMTP server is rejecting your email message because it contains something not allowed by the SMTP server rules. Most of the time it can be due to from address restrictions (many SMTP servers only allow using the email address associated to the username that you’re using to send the email), but it can be any other part of your email content.
WordPress was unable to send the notification email
In this case, WordPress was unable to send the email for unknown reasons, the sending server didn’t provide any additional information. Only the sending server admin can investigate this further.
Enable Logging
By using logging, you can easily cover scenarios where the sending result note is not being added to the entry, and why they are occurring. Reviewing your logs will allow you to see where the notification might be failing, and resolve the issue if it’s within the scope of Gravity Forms side of things. If you need to contact support for better understanding of the log contents, don’t turn off logging until receiving a response from support, or your log files will be deleted.
Check for plugin or theme conflicts
Sometimes other plugins or themes create issues that stop notifications from working. Please go through the following instructions to test for a Plugin or Theme conflict.
Testing for a Theme/Plugin Conflict
Contact your web host
If there wasn’t a plugin or theme conflict, SMTP isn’t working for you, or you’re seeing in your log any of the results described in the logging add-on section, then you will want to contact your web host and have them look at the server logs to check to see if there are any errors being written.
Often they will see if things are being blocked, by them on purpose or due to some server misconfiguration issues.
IP Blacklisting
IP blacklisting is a process where an IP address is flagged and added to a list of banned or restricted addresses due to suspicious or harmful activity, such as sending spam, spreading malware, or engaging in unauthorized access. Mail servers and network security systems use these blacklists to filter out potentially dangerous or unwanted traffic, often preventing emails from blacklisted IPs from reaching their recipients. Being on a blacklist can impact email deliverability and web access, necessitating steps to resolve and avoid further listing.
- Spamhaus is a well-known anti-spam organization that maintains several real-time blacklists (RBLs) to help detect and block spam emails. Their blacklists are used globally by ISPs, email providers, and corporations to filter out suspicious or malicious email traffic.
- MXToolbox offers a suite of diagnostic tools, including an IP blacklist checker that scans multiple blacklists to see if a specific IP address is flagged. It helps identify deliverability issues and monitor email server health.
- Barracuda provides a range of security solutions, including an email blacklist that identifies IPs associated with spam activities. Their reputation blocklist is integrated into their security appliances and services, protecting users from spam and other malicious content.
Email Content Analysis Tools
Email content analysis tools help you ensure your emails look good and avoid being marked as spam. They check things like your subject line, the text in your email, and how everything is formatted. If your email has too many links, spammy words, or weird formatting, these tools will let you know and give tips on how to fix it. They can also test how different inboxes will treat your email so you know if it might get blocked or sent to the spam folder.
- Mailshake. Increase engagement on your cold emails by improving deliverability and readability
- Trustifi. Discover hidden details, diagnose problems, and gain a deeper understanding of your mail flow with our Email Analyzer Tool.
Configure your SPF and DMARC Records
SPF and DMARC records are designed to allow third-party email servers to validate the authenticity of the email sender. These records are configured in your domain DNS settings and are something you will need to configure in your domain registrar or DNS control panel.
The absence or misconfiguration of these records can cause the email to be marked as spam or be rejected. DMARC records are not required; while they are widely adopted, not every email server uses them. If your integration provides the option to configure a DMARC record, we recommend taking advantage of that.