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

Locate Message Failure

A Form Sends to One Recipient but Not to Another

Trace a WordPress form notification that reaches one recipient but not another through form routing, SMTP logs, bounces, aliases and filtering.

When one recipient gets a form notification and another does not, the working copy narrows the fault but does not locate it. The missing recipient might never have been added to the message, or its mail system may have rejected or hidden the delivery.

Compare evidence for each address instead of treating a CC field as proof that both messages arrived.

Confirm how recipients are generated

Open the form’s active notification, not an old duplicate. Check To, CC and BCC fields for spelling, separators and field tokens. Some plugins create separate notifications based on a department choice rather than one message with several recipients.

Submit a labelled test through the same choice a real visitor uses. Record the selected values, time and intended addresses. Check the stored entry to confirm the routing field contains the expected value.

Do not put confidential recipient lists into a visible front-end field.

Look for conditional notification errors

Conditions may compare a human label with a stored option value, or may be case-sensitive. A newly renamed department can leave an old rule that no longer matches.

Temporarily logging which notification ID ran is safer than removing all conditions on production. If a catch-all notification is required during repair, send it only to an approved internal mailbox and protect personal data.

Verify that both independent notifications run when that is the intended design.

Trace each address in the mail log

Use the WordPress mail log to confirm whether the missing address was present in the generated message. If it was absent, repair form configuration before changing SMTP or DNS.

If both addresses were submitted, inspect the external provider log separately for each. One may be accepted while the other is deferred, bounced or suppressed. Capture the recipient-specific response and message ID.

wp_mail() returning success is only evidence that WordPress handed off a message, not that every recipient accepted it.

Check aliases, groups and shared mailboxes

The missing address may be an alias, distribution list or shared mailbox with restrictions. Confirm that it exists, has capacity and accepts external senders. Test the underlying licensed mailbox only with the email administrator’s approval.

Forwarding rules can create loops or fail DMARC checks after redirection. Search the organisation gateway by message ID and timestamp rather than relying only on the user’s inbox and spam folder.

Avoid adding multiple forwarding hops as a workaround.

Review bounces, suppression and filtering

Look for non-delivery reports at the authenticated return-path address. Transactional mail providers often suppress an address after a hard bounce or repeated failures, even after the mailbox is restored.

Remove a suppression only after verifying the recipient and resolving the original cause. Review quarantine, transport rules, blocked senders and attachment policies at the destination.

If the two recipients use different domains, compare SPF, DKIM and DMARC results from a delivered copy; their enforcement may differ.

Use safe sender headers

Send from an address on a domain authorised by the SMTP provider. Place the visitor’s email in Reply-To. Using a visitor address as From can make one destination reject a message that another tolerates.

Keep the same authenticated From address during comparisons. Changing sender, subject and recipient together makes the result ambiguous.

Do not create a second SPF record; update DNS only against the provider’s documented values.

Verify the repaired route

Send a fresh test that should notify both recipients. Confirm the entry, notification rule, mail-log recipient list, provider result and arrival in both final mailboxes. Test Reply-To and any helpdesk or CRM processing.

If one recipient remains unreliable, provide a monitored fallback without exposing private addresses on the page.

Request urgent repair when routing rules are complex, provider logs disagree or leads may be missing. Supply the form URL, timestamp, notification ID and redacted SMTP response—never passwords or real enquiry content.

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