Gravity Forms has no SMTP settings of its own. There is no host, port or password field in the plugin. It builds each notification and hands it to WordPress, and WordPress sends it with whatever mail setup the site has. So the work is in two places: connect the whole site to an SMTP service once, then set Send To, From Email and Reply To correctly on each notification.
This guide is the setup. If notifications already fail and you need to find out why, start with Gravity Forms notifications not sending: how to find and fix the cause.
How a Gravity Forms notification is sent
When someone submits a form, Gravity Forms reads the form’s notification settings, builds the email, and passes it to WordPress’s wp_mail() function. Gravity Forms’ own documentation says it does not handle email directly: from that point the email goes out through the web server’s mail function, or through an SMTP or third-party mail service if the site has one set up.
That is why SMTP is a site-wide setting. Every plugin that sends email through WordPress shares it: Gravity Forms, password resets, WooCommerce orders. The Gravity Forms side only decides what is sent and to whom.
Your options for SMTP on a Gravity Forms site
- Gravity SMTP. A separate plugin from Rocketgenius, the company behind Gravity Forms. It works without Gravity Forms installed and covers all email the site sends. You connect it to an email service through a setup wizard, or use its Custom SMTP option for any standard SMTP server. It has an email log, test emails and a backup connection. Their page says it is free with an active Elite, Nonprofit or Developer Gravity Forms licence and is not sold on its own, so check their site for the current terms.
- Gravity Forms add-ons for Mailgun, Postmark and SendGrid, listed in the Gravity Forms documentation.
- A general SMTP plugin or your email service’s own WordPress plugin. Anything that takes over WordPress email works for Gravity Forms too, because Gravity Forms sends through WordPress.
Pick one. Two mail plugins active at once can compete over who sends each email, and then it is hard to tell what actually happened to a message. If you already have one that is misbehaving, see WP Mail SMTP not working: common errors and fixes.
Step 1: set up SMTP for the whole site
- Choose the service that will send your mail, and create an account.
- Add your domain and verify it. The service gives you DNS records to add at your domain host, usually a DKIM record and an SPF entry. Until they are verified, many services will not send from your address. The records are explained in SPF vs DKIM vs DMARC.
- Connect WordPress. Use the plugin the service recommends, or enter the SMTP details in your SMTP plugin:
| Field | Value |
|---|---|
| Host | The SMTP host your service gives you |
| Port and encryption | 587 with STARTTLS (called TLS in many plugins), or 465 with SSL/TLS. The two must match: port 465 with “TLS” selected fails. |
| Authentication | On |
| Username and password | The SMTP credentials from the service. For some services the password is an API key, not your account password. |
- Send the plugin’s test email to an address you can check. If this fails, fix it before touching Gravity Forms. See why wp_mail() stops working for the usual causes.
With SecureSMTP: install the WordPress plugin, paste your site’s API key, and turn on Route outgoing email through SecureSMTP under SecureSMTP → Settings. Gravity Forms notifications then go out from your own domain with DKIM signing, and each one appears in the email log with its delivery status. New accounts verify their domain by adding DNS records; until then they can send up to 10 test emails a day to their own address. The free plan has 5,000 emails a month, 1 site and 1 sending domain; see Gravity Forms with SecureSMTP and the WordPress plugin guide.
Step 2: set up each notification
Open the form, then Settings → Notifications. A new form has a default Admin Notification; click its name to edit it, or click Add New for another one. Check that the toggle in the list is on (green). These are the settings that decide whether the email arrives:
| Setting | What to enter | Notes |
|---|---|---|
| Event | Form is submitted | The notification only runs for the event you pick. If the Event is blank or not what you expected, an add-on that provides that event may be inactive. |
| Send To | Enter Email, Select a Field or Configure Routing | Enter Email takes one address or several separated by commas, with no spaces. Select a Field uses an address the visitor typed. Configure Routing picks the recipient from a form answer. |
| From Name | Your business or site name | Plain text, or merge tags. A fixed name is the safest. |
| From Email | An address on your own domain, such as [email protected] | Gravity Forms’ own reference says to always use your site domain here. Not the visitor’s address. |
| Reply To | The visitor’s Email field, for example {Email:2} | This is what lets you press Reply and write back to the visitor. |
| BCC | Extra recipients, comma separated | Optional. Each address you add is another delivery to watch. |
| Subject / Message | Text with merge tags, such as {all_fields} | The subject starts as the form title. The message starts with the submitted form content. |
| Conditional Logic | Off, unless you need it | When on, the notification only sends if the conditions match the entry. |
Merge tags
Fields that support merge tags show a {..} icon. Click it to pick a tag instead of typing it. The ones you will use most:
{admin_email}: the address under Settings → General in WordPress.{Email:2}: a field merge tag. The word is a label and the number is the field’s ID, so the number in your form will differ. Use the picker so the ID is right. Multi-part fields such as Name use a dot, for example{Name (First):1.3}.{all_fields}: a table of every submitted value.{entry_id}and{entry_url}give the entry’s number and the link to it in wp-admin.
A typical contact form notification, for a form where field 2 is the Email field:
Event: Form is submitted
Send To: Enter Email → [email protected]
From Name: Your Business
From Email: [email protected]
Reply To: {Email:2}
Subject: New message from the website
Message: {all_fields}From Email must be on your own domain
The default Admin Notification is usually set up with {admin_email} as the From Email. That is fine only when the admin address is on the domain you send from. If it is a Gmail or Outlook address, your server is sending mail that claims to come from Gmail or Outlook, and the receiving server will not accept that as genuine. Replace it with a fixed address such as [email protected]. It does not need to be a real mailbox, but your SMTP service must be set up to send for that domain.
Do the same for a field merge tag: never put the visitor’s Email field in From Email. Put it in Reply To. The reasoning is in why your form must not send From the visitor’s email. Gravity Forms’ troubleshooting guide also advises against using the same address in both From and To, because many providers treat that as spam.
Routing
With Configure Routing under Send To, you add rules that pick the recipient from a form answer, for example sending to sales@ when a Department drop-down is “Sales”. Gravity Forms’ guidance is that at least one rule must match. If none match, there is no recipient and no notification is sent. Two things help:
- Make sure every answer the field can have is covered by a rule.
- Add a second notification to your own address with no routing, at least while you test, so a missed rule does not mean a lost lead.
Conditional logic
If Conditional Logic is on, the notification is skipped for any entry that does not meet the conditions. When one entry is missing an email and the others are fine, compare that entry’s answers to the conditions first.
Step 3: submit a test entry and read the result
- Open the page with the form in a private window and submit it with an address you can check.
- In wp-admin go to Forms → Entries, open the entry and scroll to Notes. Since Gravity Forms 2.4.15 this records what happened when it tried to send. The common results:
| Entry note | What it means | What to do |
|---|---|---|
WordPress successfully passed the notification email to the sending server. | Gravity Forms and WordPress worked. | The loss is after WordPress: check your SMTP service log, the spam folder and SPF/DKIM. What this note means and what to check. |
Could not instantiate mail function. | PHP mail is restricted, usually by the host. | Set up SMTP for the site (step 1). |
SMTP connect() failed. or SMTP Error: Could not connect to SMTP host. | WordPress could not reach the SMTP server. | Check host, port and encryption, and ask your host whether it blocks that port. |
SMTP Error: Could not authenticate. | The login was refused. | Check username, password, port and encryption, and that the SMTP user is active. |
SMTP Error: data not accepted. | The server refused the content or the sender. | Many servers only allow the address tied to the login. Check From Email. |
WordPress was unable to send the notification email. | The cause is not stated. | Read your SMTP plugin’s log, or ask your host. |
The SMTP rows are PHPMailer errors. PHPMailer is the library WordPress uses to send mail, and these messages can appear in the entry note when the failure happens at the SMTP stage. Gravity Forms’ documentation does not list every one of them.
- If there is no note at all, go to Forms → Settings, set Logging to On and save, resubmit, then read the log from the Logging tab. Turn it off when done: logs can hold form data.
- Check your SMTP service’s log. With SecureSMTP this is the email log, which shows delivered or bounced for each message.
- To test again without a new submission, go to Forms → Entries, tick the entry, choose Resend Notifications from the bulk actions and click Apply. Tick the notification, enter your own address in Send To to override the recipient, and click Resend Notifications.
If the entry exists but no email arrives and the note says it was passed to the sending server, Gravity Forms is not the problem. See form submissions are saved but no email arrives for what to check next.
Checklist
- From Email is an address on a domain your SMTP service is set up to send for, not the visitor’s.
- Send To has no spaces or typos, and routing rules cover every answer the field can have.
- The notification toggle is on and its conditional logic matches the entry.
- Only one mail plugin is active.
- You tested the email, not only the form: a saved entry does not prove the email left the site.
Entries marked as spam are another reason for a missing notification; the Gravity Forms troubleshooting guide covers how to check. For problems that apply to every form plugin, see contact form not sending email.
Confirm it works
Submit a test entry from a Gmail address you can check. The entry note should say WordPress passed the email to the sending server, the message should be in your inbox and not in spam, and your SMTP log should show it as delivered. In Gmail, open the message, use the three-dot menu and choose Show original: SPF, DKIM and DMARC should each show PASS, and the From address should be on your domain. If the message lands in Gmail’s spam folder anyway, see contact form emails not reaching Gmail.
Frequently asked questions
Where are the SMTP settings in Gravity Forms?
There are none. Gravity Forms does not ask for an SMTP host, port or password. It passes each notification to WordPress, and the SMTP settings live in whatever tool sends mail for the whole site: an SMTP plugin, the Gravity SMTP plugin, or your email service’s WordPress plugin.
Do I need the Gravity SMTP plugin?
No. Any setup that handles WordPress email will send your Gravity Forms notifications. Gravity SMTP is one option. It is a separate plugin from the makers of Gravity Forms, and its page says it is free with an active Elite, Nonprofit or Developer licence and not sold on its own. Check their site for the current terms.
Will switching SMTP plugins change my notification settings?
No. Send To, From Email, Reply To and routing are stored with each form. What can change is whether the new service accepts your From Email. If the service only sends from verified domains, the From Email must be on one of them.
The entry note says the email was passed to the sending server, but nothing arrived. What now?
Gravity Forms and WordPress did their part. Look at your SMTP service’s log for a bounce or rejection, check the recipient’s spam folder, and confirm SPF and DKIM pass for your domain. What the “passed to the sending server” note means goes through each check.
Can I send a test without filling in the form again?
Yes. In Forms → Entries, tick an entry, choose Resend Notifications from the bulk actions, click Apply, pick the notification, and type your own address in Send To to override the recipient. For a test that does not involve Gravity Forms at all, use the test email button in your SMTP plugin.
Why does my notification go to spam even though SMTP is set up?
Usually the From Email. If it is the visitor’s address, or an address on a domain your SMTP service is not set up to send for, the message fails authentication checks. Use an address on your own verified domain and put the visitor in Reply To.