- Add email-read-pixel config parameter to enable/disable tracking
- Implement tracking pixel injection in HTML emails
- Add sent_email_tracking table with migration
- Create 4 new API endpoints:
- GET /api/email/tracking/pixel/{id} - serve pixel & record read
- GET /api/email/tracking/status/{id} - get email read status
- GET /api/email/tracking/list - list all tracked emails
- GET /api/email/tracking/stats - get aggregate statistics
- Store tracking data: read_at, read_count, IP, user_agent
- Integrate with send_email() to auto-inject pixel when enabled
19 lines
729 B
SQL
19 lines
729 B
SQL
-- Down migration: Remove email tracking table and related objects
|
|
|
|
-- Drop trigger first
|
|
DROP TRIGGER IF EXISTS trigger_update_sent_email_tracking_updated_at ON sent_email_tracking;
|
|
|
|
-- Drop function
|
|
DROP FUNCTION IF EXISTS update_sent_email_tracking_updated_at();
|
|
|
|
-- Drop indexes
|
|
DROP INDEX IF EXISTS idx_sent_email_tracking_tracking_id;
|
|
DROP INDEX IF EXISTS idx_sent_email_tracking_bot_id;
|
|
DROP INDEX IF EXISTS idx_sent_email_tracking_account_id;
|
|
DROP INDEX IF EXISTS idx_sent_email_tracking_to_email;
|
|
DROP INDEX IF EXISTS idx_sent_email_tracking_sent_at;
|
|
DROP INDEX IF EXISTS idx_sent_email_tracking_is_read;
|
|
DROP INDEX IF EXISTS idx_sent_email_tracking_read_status;
|
|
|
|
-- Drop table
|
|
DROP TABLE IF EXISTS sent_email_tracking;
|