contact_mailContact Form 7codePHPdns500-errorinfoajaxsecurityfirewalldescriptioncontact-form-7labelCommonwarningModerate

Contact Form 7: The server responded with a 500 Internal Server Error.

The AJAX request that CF7 uses to send data reaches the server but the server returns a 500 status. This means a fatal error occurs while processing the request. The error stops the JSON response, so the form never shows a success message.

Typical triggers include security modules that block the REST endpoint, PHP code that crashes, or a plugin that interferes with the mail routine. When the error happens the spinner continues to spin and no email is sent.

Server logs often contain a PHP fatal error line or a ModSecurity rule match. WordPress debug logs may show an uncaught exception from a CF7 add‑on. The problem is not visible in the front‑end UI.

Symptoms

[dashicons-warning]
Spinner never stops
The loading indicator remains active after clicking Send.
[dashicons-warning]
Console shows 500 error
Network tab displays POST to wp-json/contact-form-7/.../feedback with status 500.
[dashicons-email]
No email received
Form appears to submit but inbox receives nothing.

Common Causes

ModSecurity blocks request
Web‑application firewall flags the JSON payload as suspicious and returns 500.
Conflicting CF7 add‑on
Add‑on hooks into wpcf7_before_send_mail and throws a fatal error.
PHP version incompatibility
Host upgraded to PHP 8.x while CF7 code uses deprecated functions.
Memory limit exceeded
wp_mail or custom handler runs out of memory during processing.
Need this fixed right now?

Don't waste your day debugging. Our experts can Fix your issues in under 2 hours.*

Success Rate

100% Guaranteed

Starting from

$35 /hour
99+

Trusted by Business Owners

“I spent 3 days trying to fix the Elementor loading loop. These guys fixed it in 20 minutes. Lifesavers!”

— Sarah J., Web Designer

Related Issues

contact_mail
Contact Form 7: REST API request failed: 503 Service Unavailable
A 503 Service Unavailable response stops Contact Form 7 from sending data...
apiREST APIerror503descriptioncontact-form-7
contact_mail
Contact Form 7: REST API request failed: 429 Too Many Requests

The form tries to send data through the WordPress REST API. The...

apiREST APIerrorerrorsecurityfirewalldescriptioncontact-form-7settingsserver_configuration
contact_mail
Contact Form 7: REST API request failed: 401 Unauthorized

The form tries to send data via the WordPress REST API. The...

apiREST APIadmin_panel_settingspermissionsdescriptioncontact-form-7lock401
contact_mail
Contact Form 7: File upload error: temporary directory missing

The error appears when Contact Form 7 cannot locate a writable temporary...

codePHPcloud_offupload erroradmin_panel_settingspermissionsdescriptiontemporary filedescriptioncontact-form-7
contact_mail
Contact Form 7: Mail (2) sending failed: PHP mail() function disabled

Contact Form 7 reports a failure for Mail (2) when the PHP...

codePHPerrorerrordescriptioncontact-form-7mailMailsettingsserver_configuration
contact_mail
Contact Form 7: Mail (2) sending failed: SSL certificate verification failed

Contact Form 7 reports a failure when trying to send the secondary...

errorerrorlocksslcodecURLdescriptioncontact-form-7