Elementor Form Not Sending Email: Causes and How to Fix It
Quick Answer: Why Elementor Forms Fail to Send Email
When an Elementor form fails to deliver email notifications, the issue typically stems from how WordPress handles outgoing messages. By default, Elementor uses the native wp_mail() function, which relies on the hosting server's unauthenticated PHP mail() mechanism. Many web hosts disable PHP mail functions to prevent abuse, and major email providers frequently filter unauthenticated server mail directly into spam or reject it entirely. Resolving the issue involves checking WP Admin > Elementor > Submissions to ensure form data is captured, auditing field IDs and notification settings inside the Elementor editor, and routing transactional emails through an authenticated service such as Elementor Site Mailer or an external SMTP service configured with SPF, DKIM, and DMARC DNS records.

Step 1: Check Elementor Form Submissions Logs
Before adjusting server settings or mail routing, determine whether the problem occurs during form processing or during email transmission:
- Log in to your WordPress administrative dashboard.
- Navigate to Elementor > Submissions.
- Locate your form and verify if recent test submissions are present.
If test entries appear in the Submissions log, the form widget is successfully capturing user inputs. The breakdown exists downstream in the email transport layer or web host server configuration. If submissions do not appear or the frontend returns a "Form Invalid" or "An error occurred" alert, proceed to verify your form fields and IDs.
Step 2: Audit Form Fields and Widget Settings
Configuration mistakes in the Form widget can cause validation failures or prevent notification routing:
- Open the page in the Elementor Editor and select the Form widget.
- Under the Content tab, expand Form Fields. Expand each field and select the Advanced tab.
- Verify that every field has a unique identifier in the ID field. Leaving an ID empty or having two fields share the exact same ID causes form validation errors. Use simple alphanumeric values with underscores and avoid spaces.
- Expand Actions After Submit. Ensure that Email (and Email 2 if sending automated user confirmations) is added to the active actions.
- Expand the Email configuration section:
- To: Verify this contains a valid destination email address.
- From Email / From Name: Use an email address tied to your website domain rather than personal third-party webmail accounts to avoid spoofing detection.
- Subject / Message: By default,
[all-fields]outputs all submitted values. If sending confirmation emails through Email 2, use the shortcode matching your visitor email field ID, such as[field id="email"].
If you recently saved form layout edits but the frontend does not reflect them, consult our guide on Elementor changes not showing on live site.
Step 3: Test WordPress Mail Capabilities
Because Elementor relies on wp_mail() to trigger notifications, hosting server restrictions directly affect deliverability. Many hosting providers disable the default PHP mail handling to safeguard their shared network reputation. If standard server mail execution is blocked, transactional notifications from forms, password resets, and core system notices cannot leave the server. If your website also processes transactions that fail to send customer alerts, review our diagnostic walkthrough for WooCommerce not sending emails.
Step 4: Configure Authenticated Email Routing (Site Mailer or SMTP)
To ensure reliable message delivery and bypass local host limitations, connect WordPress to an authenticated transactional email service:
- Elementor Site Mailer / Email Deliverability: In WP Admin, navigate to Elementor > Email Deliverability (or install the Site Mailer plugin). Click Connect to link your Elementor account. Navigate to General Settings, add your custom domain, and view the built-in email logs to track delivery statuses and resend failed form messages directly from the dashboard.
- SMTP Plugins (e.g., WP Mail SMTP, FluentSMTP): Install a dedicated SMTP plugin and connect it to a transactional mail provider or dedicated mail server. When configuring mail server parameters, use standard authenticated submission ports: Port 587 with STARTTLS encryption or Port 465 with SSL/TLS. Avoid unencrypted Port 25, which is blocked by most cloud hosts and internet service providers. Use the plugin's test email feature to confirm successful connection and delivery.
Step 5: Authenticate Your Sender Domain via DNS
Major email service providers enforce strict sender validation policies. Even when an SMTP relay is configured, messages sent from unauthenticated domains may be discarded or routed to spam folders. Add the appropriate TXT records within your domain's DNS manager:
- SPF (Sender Policy Framework): Defines which mail servers and IP addresses are authorized to send messages on behalf of your domain name.
- DKIM (DomainKeys Identified Mail): Provides a cryptographic signature on outgoing messages, verifying that the email was sent by the domain owner and not altered in transit.
- DMARC (Domain-based Message Authentication, Reporting, and Conformance): Instructs receiving mail servers how to handle messages that fail SPF or DKIM checks.
Warning: Always export or record a full backup of your active DNS zone before modifying DNS records. Formatting mistakes in TXT or MX records can disrupt corporate email routing across your entire domain.