Initial assessment without passwords Quote before intervention One accountable specialist from start to finish

Locate Message Failure

WordPress Forms Stop Sending After a Hosting Migration

Diagnose WordPress form email failures after a hosting migration by checking DNS, SMTP, PHP mail, credentials, firewalls and mailbox routing.

A migration can leave every page looking correct while form notifications silently fail. The website, DNS, PHP runtime and outbound mail route are separate systems, so a visually successful move does not prove that email moved correctly.

Start with one controlled submission and identify the first handoff that differs from the old host.

Confirm the form still processes submissions

Submit non-sensitive labelled test data and record the exact time, page and intended recipient. Check whether the form plugin stored an entry. If it did not, inspect the browser request and the new server’s PHP error log before investigating email delivery.

If an entry exists, the browser-to-WordPress path probably worked. Continue through notification generation, WordPress mail, SMTP provider and recipient mailbox.

Do not repeatedly change plugins, DNS and recipients between tests. One variable per test makes the result usable.

Compare the old and new mail routes

Determine how the old installation sent mail. It may have used local PHP mail, an SMTP plugin, a hosting relay or an external transactional provider. Record the active method on the new server rather than assuming the migration copied it.

Check that the SMTP plugin is active and its settings survived database search-and-replace. Passwords or API keys may be encrypted using values tied to the previous environment and need to be entered again.

Send the plugin’s own test email, but also test the real form. A generic test can bypass notification conditions and form-specific headers.

Check sender addresses and credentials

Use a From address on a domain authorised by the selected mail provider. Put the visitor’s address in Reply-To, not From. Modern providers may reject a message that tries to send as an unauthorised visitor domain.

Verify SMTP hostname, port, encryption, username and credential. Confirm the new server can make an outbound connection to that port. Some hosts block external SMTP or require their own relay.

Never disable certificate validation or publish credentials in a support ticket.

Audit DNS without breaking inbound email

The website’s A record and the domain’s mail records may point to different services. Review SPF, DKIM and DMARC for the actual outbound provider. An SPF policy copied from the previous host may no longer authorise the sender.

Keep a single SPF TXT record and merge only documented senders. Check that the DKIM selector exists exactly as supplied by the provider.

Do not change MX records merely because WordPress cannot send. MX records direct inbound mail and a careless edit can stop company email.

Inspect the new hosting environment

Compare PHP version, required extensions, memory limits and error logging. Review cPanel or Plesk mail-routing settings when the website domain’s mail is hosted elsewhere. A server configured as the local mail exchanger may keep messages locally instead of routing them to the real provider.

Check ModSecurity, firewall events and resource limits around the test timestamp. If the form queues notifications with WP-Cron, verify that scheduled tasks run on the new installation.

Allow or change only the confirmed failing rule or connection.

Verify the complete route

After the correction, make a new uniquely labelled submission. Confirm one stored entry, one generated notification, one SMTP/provider acceptance and one delivered mailbox message.

Inspect the received headers for SPF, DKIM and DMARC results. Test the real business recipient as well as a personal mailbox because their filters differ.

Also verify Reply-To, attachments, conditional recipients and any CRM automation connected to the form.

Protect leads during the repair

Review stored entries for enquiries submitted since the migration and route them to authorised staff. If entries are not retained, display a monitored alternative contact method until delivery is proven.

Request urgent repair when SMTP connections fail, routing is uncertain or leads may already be missing. Provide the migration time, page URL, test timestamp and redacted error. Do not provide passwords or personal form contents.

BEFORE YOU SEND THE REQUEST

Frequently asked questions.

Do you ask for passwords in the form?+

No. The public form never requests access. Secure credentials are requested only after the scope and quote are approved.

Who reviews the incident?+

The request goes to Jordi Ensenyat, founder of Code Barcelona and a WordPress specialist with more than 15 years of experience.

Is anything changed before the quote?+

No. Visible symptoms and scope are reviewed first. Intervention begins after approval and with a rollback path prepared.

Do you work internationally?+

Yes. WP Repair handles WordPress and WooCommerce incidents in English and Spanish through a remote service.

Assess my incident