Initial skills documentation — 25 categories, all SKILL.md + references + scripts
This commit is contained in:
@@ -0,0 +1,65 @@
|
||||
# SMTP SPF/DKIM Bounce Recovery
|
||||
|
||||
**Context:** July 11, 2026 — Apex Track Experience confirmation emails to 2 Gmail recipients bounced with `550-5.7.26 Your email has been blocked because the sender is unauthenticated`.
|
||||
|
||||
## Root Cause
|
||||
|
||||
The WP Mail SMTP plugin sends through SiteGround's SMTP relay (`c1113726.sgvps.net:2525`), but the SPF record for `apextrackexperience.com` didn't cover all outbound IPs that SiteGround routes through.
|
||||
|
||||
The bounce showed the connecting IP as `136.175.108.114` (MXroute LLC), NOT the expected SiteGround IP (`35.212.86.161`). Two different outbound paths were being used and only one was in SPF.
|
||||
|
||||
## Diagnosis
|
||||
|
||||
1. Check the current SPF record:
|
||||
```bash
|
||||
dig +short TXT <domain>
|
||||
```
|
||||
|
||||
2. Check what IP the SMTP relay resolves to:
|
||||
```bash
|
||||
dig +short <smtp-host>
|
||||
```
|
||||
|
||||
3. Cross-reference with SPF include chains:
|
||||
```bash
|
||||
# Follow includes recursively
|
||||
dig +short TXT <include-domain>
|
||||
```
|
||||
|
||||
4. Check DKIM:
|
||||
```bash
|
||||
dig +short TXT default._domainkey.<domain>
|
||||
```
|
||||
|
||||
5. Check DMARC policy:
|
||||
```bash
|
||||
dig +short TXT _dmarc.<domain>
|
||||
```
|
||||
|
||||
## Fix
|
||||
|
||||
1. Add the SMTP relay IP to the SPF record:
|
||||
```
|
||||
v=spf1 +a +mx ip4:<SMTP-IP> include:<autogen-include> ~all
|
||||
```
|
||||
|
||||
2. Ensure DKIM is published (usually auto-generated by the email provider)
|
||||
|
||||
3. Set DMARC to `p=none` initially (monitor), then `p=quarantine` after verification
|
||||
|
||||
4. After SPF fix, **resend the failed emails manually** — SPF only blocks, it doesn't queue and retry. Gmail doesn't auto-retry SPF failures.
|
||||
|
||||
## Re-sending After Fix
|
||||
|
||||
For WPForms confirmation emails that bounced:
|
||||
- SMTP: c1113726.sgvps.net:2525 TLS
|
||||
- User: contact@apextrackexperience.com
|
||||
- Build the email manually as HTML with the same format as the WPForms notification
|
||||
- Send via smtplib through the same SMTP relay
|
||||
- Include full registration details (driver, passenger, vehicle, package, amount, waiver status)
|
||||
|
||||
## Prevention
|
||||
|
||||
- Enable **WP Mail SMTP email logging** (`wp_mail_smtp` option in wp_options) — without logging, there's no delivery trail
|
||||
- Add **all** outbound relay IPs to SPF — SiteGround may route through multiple IPs
|
||||
- Test with a throwaway Gmail address after SPF changes
|
||||
Reference in New Issue
Block a user