Initial skills documentation — 25 categories, all SKILL.md + references + scripts
This commit is contained in:
@@ -0,0 +1,69 @@
|
||||
# Apex WPForms Mail Fix (Post-Outage)
|
||||
|
||||
When Apex Track Experience form notifications (register/waiver) stop sending, follow this checklist:
|
||||
|
||||
## 1. Check Debug Events
|
||||
|
||||
```sql
|
||||
SELECT id, subject, status, date_sent, error_text
|
||||
FROM wp_wpmailsmtp_debug_events
|
||||
ORDER BY id DESC LIMIT 10;
|
||||
```
|
||||
|
||||
## 2. Check SMTP Password Serialization
|
||||
|
||||
The WP Mail SMTP plugin stores passwords in PHP serialized format in wp_options:
|
||||
|
||||
```sql
|
||||
SELECT option_value FROM wp_options WHERE option_name = 'wp_mail_smtp';
|
||||
```
|
||||
|
||||
Look for: `s:72:"apex.track!!"` - the length prefix (72) must match actual password length (13).
|
||||
|
||||
**Fix:**
|
||||
```sql
|
||||
UPDATE wp_options
|
||||
SET option_value = REPLACE(option_value,
|
||||
's:72:\\"apex.track!!\\"',
|
||||
's:13:\\"apex.track!!\\"')
|
||||
WHERE option_name = 'wp_mail_smtp';
|
||||
```
|
||||
|
||||
## 3. Check Form Sender Address
|
||||
|
||||
WPForms notification sender_address should be a single email, not comma-separated.
|
||||
|
||||
```sql
|
||||
SELECT ID, JSON_EXTRACT(post_content, '$.settings.notifications."1".sender_address') as sender
|
||||
FROM wp_posts WHERE ID IN (270, 268) AND post_type = 'wpforms';
|
||||
```
|
||||
|
||||
**Fix:**
|
||||
```sql
|
||||
UPDATE wp_posts SET post_content = REPLACE(
|
||||
post_content,
|
||||
'contact@apextrackexperience.com, g@germainebrown.com',
|
||||
'contact@apextrackexperience.com'
|
||||
) WHERE ID IN (270, 268);
|
||||
```
|
||||
|
||||
## 4. Re-send Missed Notifications
|
||||
|
||||
```sql
|
||||
SELECT entry_id, form_id, fields FROM wp_wpforms_entries
|
||||
WHERE DATE(date) = CURDATE() AND form_id IN (268, 270, 272);
|
||||
```
|
||||
|
||||
Re-send via SMTP Python script using the Apex SMTP server at c1113726.sgvps.net:2525.
|
||||
|
||||
## 5. Verify SMTP Connectivity
|
||||
|
||||
Test from the server:
|
||||
```python
|
||||
import smtplib, ssl
|
||||
ctx = ssl.create_default_context()
|
||||
with smtplib.SMTP('c1113726.sgvps.net', 2525, timeout=15) as s:
|
||||
s.starttls(context=ctx)
|
||||
s.login('contact@apextrackexperience.com', 'apex.track!!')
|
||||
print('OK')
|
||||
```
|
||||
Reference in New Issue
Block a user