2.1 KiB
2.1 KiB
Testing Inactive profile warning Emails
This guide shows you how to manually send all warning emails for testing and review.
Quick Test (Recommended)
Run this single command to send all 3 warning emails to user ID 102:
php artisan tinker --execute="include 'send-test-warnings.php'; sendTestWarnings(102);"
Replace 102 with any user ID you want to test with.
Interactive Tinker Session
For more control, use an interactive tinker session:
php artisan tinker
Then run:
include 'send-test-warnings.php';
sendTestWarnings(102); // Replace 102 with your user ID
What Gets Sent
The script will send all 3 warning emails with realistic test data:
- Warning 1 - "2 weeks remaining" before deletion
- Warning 2 - "1 week remaining" before deletion
- Warning Final - "24 hours remaining" before deletion
Each email includes:
- User's current account balances
- Total balance summary
- Time remaining until deletion
- Direct login link to prevent deletion
- Support information
Output Example
📧 Sending test warning emails for user: Jay.N (ID: 102)
Email: j.navarrooviedo@gmail.com
Language:
Dispatching warning_1...
Dispatching warning_2...
Dispatching warning_final...
✅ All warning emails dispatched to queue
Total balance: 2:00 H
Accounts: 1
🚀 Processing queue...
✅ Queue processed. Check your inbox at: j.navarrooviedo@gmail.com
Finding User IDs
To find a user ID for testing:
php artisan tinker --execute="echo App\Models\User::where('email', 'your@email.com')->first()->id;"
Or list recent users:
php artisan tinker --execute="App\Models\User::latest()->take(5)->get(['id', 'name', 'email'])->each(function(\$u) { echo \$u->id . ' - ' . \$u->name . ' (' . \$u->email . ')' . PHP_EOL; });"
Notes
- Emails are sent in the user's preferred language (
lang_preference) - All emails use the professional layout from transactional emails
- Buttons are styled in black (#111827) matching other emails
- The queue is automatically processed after dispatching
- Total balance is shown in formatted time (e.g., "2:00 H")