Initial skills documentation — 25 categories, all SKILL.md + references + scripts
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
# Apex WPForms Email Troubleshooting
|
||||
|
||||
WPForms on apextrackexperience.com (wphost02, RunCloud CPX21) uses WP Mail SMTP plugin to send through c1113726.sgvps.net:2525.
|
||||
|
||||
## Known Failure Modes
|
||||
|
||||
### 1. PHP Serialization Corruption
|
||||
|
||||
The password stored in WP Mail SMTP settings uses PHP serialized format. If the password contains special characters, the serialized length (s:N:) can become wrong:
|
||||
|
||||
```
|
||||
s:72:"apex.track!!" ← WRONG: password is 13 chars, not 72
|
||||
s:13:"apex.track!!" ← CORRECT
|
||||
```
|
||||
|
||||
**Symptom:** SMTP auth fails silently. WP Mail SMTP can't read the password. Registration emails never send. The site shows "form submitted" but no email arrives.
|
||||
|
||||
**Fix:** UPDATE wp_options SET option_value = REPLACE(option_value, 's:WRONG_LEN:"', 's:CORRECT_LEN:"') WHERE option_name = 'wp_mail_smtp'
|
||||
|
||||
### 2. Sender Address Contains Multiple Emails
|
||||
|
||||
The sender_address field in form notifications must be a single email address. WPForms allows entering comma-separated emails but this creates an invalid From header:
|
||||
|
||||
```
|
||||
"sender_address":"contact@apextrackexperience.com, g@germainebrown.com" ← INVALID
|
||||
"sender_address":"contact@apextrackexperience.com" ← VALID
|
||||
```
|
||||
|
||||
**Symptom:** SMTP server rejects with "Message rejected. domain.com is not currently owned by sender"
|
||||
|
||||
**Fix:** UPDATE wp_posts SET post_content = REPLACE(post_content, 'sender_address":"...", g@...', 'sender_address":"contact@apextrackexperience.com') WHERE ID IN (form_ids)
|
||||
|
||||
### 3. Password Format Changed by WP Mail SMTP Plugin Update
|
||||
|
||||
Plugin updates can re-serialize the password with incorrect length. Check after every WP Mail SMTP or WPForms update.
|
||||
|
||||
## Manual Verification
|
||||
|
||||
```bash
|
||||
ssh -i /root/.ssh/itpp-infra root@5.161.62.38 '
|
||||
mysql -u apextrackexperience_1781549652 -p"K3E1ZZWvHDu0q8ZmoBCAhzKUZawEapdGBlbaPME1sOTKgGk9FCuYS" apextrackexperience_1781549652 -e "
|
||||
SELECT option_value FROM wp_options WHERE option_name = \"wp_mail_smtp\";
|
||||
" | grep -o "s:[0-9]*:\\\\\"apex" | head -1
|
||||
'
|
||||
```
|
||||
|
||||
If the length (s:N) is wrong, apply fix #1.
|
||||
|
||||
## Watchdog Cron
|
||||
|
||||
The cron `apex-mail-watchdog` runs every 5 min on Core:
|
||||
- Sends test SMTP email via the Apex SMTP server
|
||||
- Checks wp_wpmailsmtp_debug_events for recent failures
|
||||
- Silent on success, alerts on failure
|
||||
|
||||
Script: /root/.hermes/scripts/apex-mail-watchdog.sh
|
||||
Log: /var/log/apex-mail-watchdog.log
|
||||
Reference in New Issue
Block a user