An SMTP test confirms that WordPress can authenticate and send one message with the test tool’s headers and recipient. A real form can still fail before it calls mail or because it builds a different sender, recipient, attachment or conditional notification.
Compare the two message paths instead of reinstalling the SMTP plugin.
Establish whether the form processed
Submit synthetic data through the public form while logged out. Record the form ID, page, time and intended recipient. Check the browser response and whether the plugin stored an entry.
If no entry exists, the fault is before SMTP: investigate validation, CAPTCHA, JavaScript, WAF and PHP. A successful SMTP test is irrelevant to that failed request.
If an entry exists, continue to notification selection and mail generation.
Confirm a notification actually ran
Open the active form and inspect enabled notifications, event triggers and conditional logic. Payment forms may wait for a completed payment event; department rules may suppress mail when a stored value does not match.
Use protected plugin logging to identify the notification ID for one controlled entry. Do not remove every condition on production or route personal data to an unapproved mailbox.
Check that the page is not using an older duplicate form.
Compare From and Reply-To headers
The SMTP test usually sends from the provider’s configured address. The form may override From with the visitor’s email, which asks the website to impersonate an unauthorised external domain.
Use an address on the authenticated website domain as From and put the visitor in Reply-To. Compare From Name, return path and any custom headers between the test and real notification.
Malformed CC/BCC or line breaks can stop message creation before provider acceptance.
Compare recipients and routing
The test likely goes to an address you typed manually, while the form may use a misspelled fixed recipient or a field token that resolves to blank. Confirm the final To value in the mail log.
Test the actual business mailbox. Gmail delivery does not prove that a company gateway will accept the same message.
Review aliases, distribution groups and shared-mailbox restrictions after provider acceptance.
Check message content and attachments
A short plain test can pass while the real message exceeds a size limit, contains a blocked attachment or triggers a provider policy. Use a harmless submission without attachment, then add one approved small test file.
Compare subject, HTML, links and total encoded message size. Do not evade filters by disguising files or obfuscating URLs.
For sensitive or large uploads, use controlled storage with expiring access instead of email copies.
Look for a second mailer or override
Custom code or another plugin can change PHPMailer settings after the SMTP plugin configures them. Search for phpmailer_init, wp_mail filters and form-specific mail hooks in themes, snippets and must-use plugins.
Multisite installations may have network and site-level mail plugins with different ownership. Confirm which transport handled the real form using its logs.
Keep a rollback and test one override at a time.
Inspect synchronous timeouts and queues
The SMTP test runs in an administrator screen with a simple request. A public form may call several webhooks or queue the notification. Review WP-Cron, scheduled actions and PHP errors at the submission timestamp.
If the form times out after the entry saves, confirm whether mail was already accepted before retrying. Repeated clicks can create duplicate leads.
Repair the failed queue or integration rather than showing success on a fixed timer.
Correlate both provider records
Search the external mail provider for the successful test and the real form timestamp. If only the test appears, the form never reached the configured transport. If both appear, compare recipient-specific status, bounce and suppression results.
Provider acceptance shifts the investigation to the recipient gateway. Preserve message IDs and redacted status codes.
Do not treat a WordPress mail-log success as final mailbox delivery.
Verify the genuine visitor path
After the narrow correction, submit the live form with a new reference. Confirm one request, one entry, the intended notification, provider acceptance and final business-mailbox arrival.
Check Reply-To, conditional routes, attachments, mobile behaviour and analytics. Review enquiries stored during the outage.
Request urgent repair when the test and form use different mailers, logs disagree or leads are being lost. Share IDs and redacted errors—never passwords or real form contents.