The form displays a success message, yet no enquiry reaches your business inbox. Start with a delivery test you can trace: which message should have gone to which address, and where can you still confirm its progress? Successful processing by WordPress does not confirm arrival in the recipient’s inbox. Q2 Q3
This guide helps you narrow down the problem before replacing the form, installing more mail plugins or changing DNS records.
Does this match your form’s behaviour?
Typical observations include a success message on the website, an empty destination inbox or different results with different test addresses. A Contact Form 7 user report describes this combination: tests using Gmail and a company address behave differently, while the intended recipient receives no message. That observation does not establish the cause. Q1
Also distinguish the notification sent to your business from any confirmation sent to the person submitting the form. Check each message separately. Receiving one does not establish what happened to the other.
What does “sent successfully” mean?
The message appears early in the process. Contact Form 7 describes a successfully completed mail-sending call; WordPress explicitly states that a positive return value does not prove successful receipt by the user. Q2 Q3
Your diagnosis therefore needs three separate results:
- Form: Was the submission accepted?
- Sending: Is there a corresponding send result or error from the configured mailer?
- Receipt: Did this exact test message arrive in the intended inbox?
Record the results separately. One green indicator cannot replace the other two checks.
First checks: trace a form submission
1. Create a test you can identify. Use a subject such as “Form test 4 Nov, 14:35” and a short message containing no sensitive information. Record the form URL, time, email address entered and intended recipient. Start without an attachment. This will help you identify the same message in different systems.
2. Check the correct inbox. Check the actual recipient, not just the address you entered in the form. Look in spam, quarantine and other folders too. Contact Form 7 explicitly identifies filtering after the send call as one possible explanation. If someone else manages the destination inbox, ask them to look for this specific test. Q2
3. Check the form’s mail settings. Are the recipient and the form fields used in the message correct? Contact Form 7 recommends a sender address on the website’s domain. The visitor’s address can be used as the reply address instead. Also check whether an optional field can be left empty when it is used in a message header. Q4
Do not copy an example address into your configuration unchanged. The address you actually use needs to match the configured sending service.
4. Test the mailer separately. If WP Mail SMTP is already configured, it provides an email test under “Tools”. Choose an inbox you can access. The tool itself asks you to check actual receipt after a positive send result. A successful mailer test and a successful submission through the real form are two separate checks. Q5
If no such tool is available, first establish how the website sends email. Installing another plugin is not, by itself, a diagnosis.
5. Compare two recipients under controlled conditions. Use an inbox on your company domain and a separate external inbox that you also control. Test them one at a time with unique identifiers. Change only one variable at a time. The results can help distinguish a general sending problem from a problem affecting one receiving route.
6. Request the relevant log excerpt. If the message is missing, give your hosting or email provider the test time, recipient, sender and subject identifier. Ask what happened to that specific message: does it appear in the sending log, was it handed on, rejected or delivered locally? Include a message identifier if one is available. A general statement that “email works” does not answer this specific question.
Why a correct DNS result is not enough
A public MX record describes the intended receiving route for a domain. The web host may also make its own decision about local or remote email delivery. For example, cPanel documents that its automatic routing detection uses local zone data and does not perform an actual DNS lookup. An existing routing setting does not automatically follow subsequent changes. Q6
This is one possible area to check when your own company address is affected. It does not prove that your provider is routing mail incorrectly. Have the actual configuration checked against the intended email provider before changing it.
SPF and DKIM concern a different part of the investigation: sender authentication. Contact Form 7 recommends arranging their configuration with the relevant provider. They do not replace checking the recipient or the local routing decision. Q4
Which correction makes sense now?
Choose the action that addresses the first confirmed fault. Correct a wrong recipient address in the form. Investigate a mailer error in the configured mailer. If a recipient filter caught the message, examine that filtering decision. Resolve a documented routing conflict with the hosting provider.
Keep a record of the working settings before making changes. Repeat the same test after one change before trying the next. This lets you identify which correction helped. Making several changes at once makes that harder.
How do you confirm the problem is resolved?
For a practical acceptance check, we recommend the following: a new submission through the real form reaches the intended business inbox. Any configured confirmation reaches its own recipient. The reply function addresses the correct person. The subject, content and required attachments meet the needs of the actual workflow.
Record the test time and confirmed receipt. Test again when the form, email provider or hosting changes. One successful test is evidence for that test case, not a guarantee for every future message.
Example: Trace one test message into the recipient inbox
Constructed diagnostic example: FORM-TEST-A identifies an imagined harmless submission without an attachment. A success message appears, but the intended business inbox receives nothing. This is not an actual sending test.
| Stage | What to record |
|---|---|
| Form | Form URL, timestamp with timezone, identifier and intended recipient |
| Sending path | Matching log entry, actual recipient and any message identifier |
| Inbox | Message found or missing, including spam and quarantine |
Decision: If the sending log names another recipient, investigate that mapping first. If the recipient is correct, search for that same message in the receiving system. If no sending evidence exists, clarify the logging or mailer first. A green form response does not answer these questions.
A separate comparison with another inbox you control can help. Give it a new identifier and submit it separately. If only that message arrives, the difference narrows the receiving path; it does not establish a particular DNS fault.
Expected observation: Every stage refers to the same submission. Keep “not logged” distinct from “confirmed rejected”.
Success check: After correction, a new submission through the actual form arrives at its intended destination. Check the reply address and any configured confirmation message separately.
Technical references: Contact Form 7: Successful response without received mail · WordPress: wp_mail().
Frequently asked questions
The form shows a green message. Could Contact Form 7 still be involved?
Yes. Its configuration remains part of the process. The success message alone rules out neither an incorrect recipient nor problems later in the process. It does not confirm receipt. Q2 Q3
Should I install an SMTP plugin immediately?
First establish which sending method is already in use. A test tool can help, but a positive send result alone does not prove that the destination inbox received the message. Q5
Why does a message arrive externally but not at my own domain?
That is a useful comparison. Local routing or a decision at the receiving end may warrant investigation. The cPanel documentation shows that public DNS data and local routing settings can differ; your provider needs to investigate the specific fault. Q6
Do I need to change SPF or DKIM?
Only if a check appropriate to your actual sending service indicates a problem. Do not copy generic TXT records from a guide. Use your email provider’s instructions and account for sending systems already in use. Q4
Can I use the visitor’s email address as the sender?
Contact Form 7 recommends a sender address on the website’s domain and a separate reply address. This lets replies reach the visitor without using their domain as the message’s sender. Q4
Can missing enquiries be recovered?
That depends on what storage or logging was actually in place. Preserve existing form records and sending logs. An earlier success message alone cannot reconstruct the enquiry’s content or its subsequent delivery route.
Describe your issue
Include the form URL, the form and mail plugins in use, approximately when the problem started and the results of your comparison tests. The affected domains and a redacted error excerpt are also useful. Login credentials are not needed for this initial description.
Describe your issue
Prepare a findings note
Summarise your observations for your enquiry. The note is created in your browser and is not saved or sent here. You can then copy it into the contact form.
Unknown is fine. Do not enter passwords, customer data or complete confidential logs.
Support with this issue
We can review the form, sending path and mail routing together and trace actual receipt.
Sources
- [Q1] WordPress.org: user report about missing contact-form email
- [Q2] Contact Form 7: success message without receiving email
- [Q3] WordPress Developer Reference: wp_mail
- [Q4] Contact Form 7: Best practice to set up mail
- [Q5] WP Mail SMTP: Sending a Test Email
- [Q6] cPanel: Email Routing
Sources checked: 4 November 2026.
