Field Summary
Intermittent contact-form delivery usually means the form submit, server-side mail generation, SMTP relay, DNS authentication, spam filtering, or CRM/webhook handoff is failing at different points. A success message on the website only proves the browser workflow completed; it does not prove mail was accepted or delivered.
Common Symptoms
- Some submissions arrive and others vanish.
- Website shows confirmation but no email appears.
- Admin notification works but autoresponder fails.
- CRM record is missing while email sends, or email fails while CRM record exists.
- Failures cluster around captcha, attachments, sender domain, or time of day.
Fast Triage
- Submit a timestamped test with unique text.
- Check whether the CMS stores the submission locally.
- Check spam/quarantine for sender and recipient.
- Test with simple text and no attachment.
- Record form URL, sender, recipient, confirmation behavior, and exact time.
Likely Causes
- SMTP relay rejects, defers, or rate-limits mail.
- SPF/DKIM/DMARC alignment fails for the sending domain.
- Captcha or form token expires behind cache/CDN.
- Form plugin/module logs an error after browser confirmation.
- Webhook/API authentication to CRM fails.
- Recipient filtering, mailbox rule, or quarantine catches the message.
Tier 1 Fix Path
- Confirm a local submission record exists.
- Retest without attachments and with a normal sender address.
- Check junk/quarantine and mailbox rules.
- Clear CDN/page cache if form tokens look stale.
- Do not repeatedly submit real customer data if duplicates could create records.
Tier 2 / Admin Investigation
- Check browser console, web server/PHP logs, CMS form logs, SMTP relay logs, and CRM/webhook logs at the test timestamp.
- Run Microsoft 365 message trace or vendor mail trace.
- Validate SPF, DKIM, DMARC alignment and envelope sender.
- Review captcha dashboard and reverse proxy/CDN cache behavior.
- Check API credential expiration and webhook response codes.
Advanced Remediation
Move the form to authenticated SMTP/API delivery if PHP mail is unreliable. Rotate API credentials only when logs show authentication failures. DNS authentication changes should be verified with real headers after propagation.
Verification
- Test submission appears in CMS/local storage.
- Mail trace shows accepted and delivered to intended recipients.
- Recipient sees the message outside junk/quarantine.
- CRM/webhook record matches the test submission.
- Headers show expected SPF/DKIM/DMARC result.
Ticket Notes to Capture
- Form URL, test timestamp, sender, recipient, submission ID, confirmation behavior, relay result, mail trace, DNS auth result, webhook/API result, fix, verification.
Escalate When
- Server logs show application errors.
- DNS/mail authentication changes are needed.
- CRM or captcha vendor logs show platform-side failures.
- Production lead capture is losing revenue or regulated requests.
Prevention
Use authenticated mail delivery, local submission storage, monitored webhook failures, and a documented mail path for each production form.
- Log in to post comments
Subjects