Elementor Form Not Sending Email: Causes and How to Fix It
Quick Answer
If your Elementor form is not sending email notifications, the underlying cause is typically how WordPress routes outgoing messages. By default, Elementor relies on the standard WordPress wp_mail() function, which utilizes unauthenticated PHP mail() on your web server. Major inbox providers like Gmail and Yahoo frequently mark unauthenticated PHP emails as spam or reject them silently. Additionally, many web hosts block standard PHP mail to prevent spam abuse. To fix this, verify your form settings in Elementor, check local entries under Elementor > Submissions, configure an authenticated SMTP service, and add proper SPF and DKIM records to your domain DNS settings.

Common Symptoms
- Forms display a success message on submission, but no notification email reaches your inbox.
- Form submissions trigger an immediate server error or red error message upon clicking submit.
- Emails intermittently land in spam or junk folders instead of the primary inbox.
- Form notifications fail only for external recipients while internal domain addresses receive them.
Primary Causes of Email Failure in Elementor
1. Unauthenticated PHP Mail Usage
Elementor relies on WordPress's native wp_mail() function to send form responses. On standard hosting configurations, wp_mail() calls PHP mail(). Because these emails lack cryptographic signatures or authentication, receiving mail servers suspect spam and drop them. Similar email delivery hurdles frequently affect other plugins on WordPress, such as when WooCommerce is not sending emails after order placements.
2. Web Host Restrictions
To reduce outgoing spam from compromised accounts, many shared hosting providers disable basic PHP mail execution entirely. If PHP mail() is disabled on the server level, Elementor forms will fail to trigger email notifications entirely.
3. Form Field & Header Misconfigurations
If a required field ID is missing or if the "From Email" header uses a domain that differs from your website's actual domain name, server-side validation checks may reject the outgoing email instantly.
Step-by-Step Diagnostic & Repair Process
Step 1: Check Local Form Submissions
If you are using Elementor Pro, navigate to WP Admin > Elementor > Submissions. Check whether your recent form submissions are logged in this directory:
- If submissions appear in the log: The Elementor form itself is functioning correctly and successfully capturing data. The failure occurs during downstream email delivery.
- If submissions do not appear in the log: The issue is a local form configuration error, field ID mismatch, or plugin conflict.
Step 2: Verify Form Settings and Email Headers
Open your page in the Elementor Editor, select the Form widget, and review the following panel options:
- Actions After Submit: Ensure Email is added as an active action.
- Email Settings: Check the To field to confirm the target recipient address is correct.
- From Email: Ensure the From Email uses an email address on your actual website domain (e.g.,
info@yourdomain.com) rather than a generic third-party address like Gmail. Sending emails from a domain other than the host domain triggers automatic spoofing filters. - Form Fields: Ensure all form fields have valid, unique shortcodes and field IDs under the Advanced tab of each field.
If you recently updated your layout and visual elements are not updating properly on the frontend, review our guide on Elementor changes not showing on live site to clear cache bottlenecks.
Step 3: Configure Authenticated SMTP
Using an authenticated Simple Mail Transfer Protocol (SMTP) service routes your transactional emails through dedicated mail servers with modern authentication protocols, bypassing PHP mail() entirely.
- Install an SMTP plugin such as WP Mail SMTP or a dedicated transactional email plugin.
- Select a reliable mail provider (e.g., SendGrid, Mailgun, Amazon SES, or custom SMTP credentials from your email provider).
- Enter your SMTP host address, port (typically 587 for TLS or 465 for SSL), and API key or SMTP credentials.
- Send a test email using the plugin's built-in diagnostic tool to confirm delivery.
Step 4: Update Domain DNS Authentication Records
To ensure inbox providers accept your emails, you must establish proper authentication protocols in your domain's DNS settings.
- SPF (Sender Policy Framework): Add a TXT record specifying which mail servers are authorized to send email on behalf of your domain.
- DKIM (DomainKeys Identified Mail): Generate cryptographic keys in your email provider dashboard and add the public key TXT record to your DNS settings.
- DMARC (Domain-based Message Authentication, Reporting, and Conformance): Create a DMARC TXT record to direct handling policies for unauthenticated emails.
Caution: Take care when modifying DNS records. Incorrectly formatted TXT records can disturb existing email infrastructure connected to your domain.
Comments
Post a Comment