How phplist/phplist3 works
phpList is a self-hosted email marketing manager. Administrators create and schedule campaigns, manage subscriber lists and attributes, then queue and dispatch personalized messages; subscribers interact through public subscribe/unsubscribe pages. Delivery outcomes feed analytics and bounce management. The README also documents import/export, RSS campaigns, plugins, APIs, and multiple sending options. The tree and excerpts identify likely runtime entry points, but most feature implementations were not sampled, so links between those components are limited to documented workflow relationships.
Main entry points: processqueue.php Queue processing · admin.php Admin interface · message.php Campaign editing · send_core.php Message sending
Components 20
Campaign management
- Admin interface
public_html/lists/admin/admin.php - Campaign editing
public_html/lists/admin/message.php - Message preview
public_html/lists/admin/actions/generatetextpreview.php - RSS campaigns
public_html/lists/admin/onyxrss/onyx-rss.php
Subscriber management
- List management
public_html/lists/admin/list.php - Subscriber management
public_html/lists/admin/users.php - Import and export
public_html/lists/admin/import.php - Public subscriptions
public_html/lists/index.php
Campaign delivery
- Queue processing
public_html/lists/admin/processqueue.php - Message sending
public_html/lists/admin/send_core.php - Mail transport
public_html/lists/admin/EmailSender.php
Engagement and analytics
- Campaign analytics
public_html/lists/admin/analytics.php - Bounce processing
public_html/lists/admin/processbounces.php
Runtime services
- Subscriber database
- Plugin runtime
public_html/lists/admin/pluginlib.php - Public APIs
public_html/lists/api.php
Other components
- Administrator
- Subscriber
- Scheduled runner
- SMTP service
Connections 25
- Administrator → Admin interface: uses
- Admin interface → Campaign editing: opens
- Campaign editing → Message preview: requests preview
- Administrator → List management: manages lists
- Administrator → Subscriber management: manages subscribers
- Administrator → Import and export: imports or exports
- Subscriber → Public subscriptions: subscribes
- Public subscriptions → Subscriber database: updates records
- List management → Subscriber database: reads and writes
- Subscriber management → Subscriber database: reads and writes
- Import and export → Subscriber database: imports or exports
- Campaign editing → Queue processing: queues campaign
- Scheduled runner → Queue processing: runs queue
- Queue processing → Message sending: dispatches messages
- Message sending → Mail transport: sends through
- Mail transport → SMTP service: delivers mail
- Queue processing → Subscriber database: reads recipients
- Message sending → Subscriber database: records outcomes
- Subscriber → Campaign analytics: responds to messages
- Campaign analytics → Subscriber database: reads engagement data
- Bounce processing → Subscriber database: updates bounce status
- Administrator → Bounce processing: processes bounces
- Admin interface → Plugin runtime: loads extensions
- Administrator → Public APIs: calls API
- RSS campaigns → Queue processing: prepares campaigns