Midnight Newsletter
Newsletters from MODX resources, sent through SMTP2GO
Organization: ORG. TEND d.o.o.
Creator: Uroš Likar (theuros)
About Midnight Newsletter
Newsletters built from MODX 3 resources: the rendered page is the email.
- Double opt-in (GDPR) subscriptions with groups
- One-time or daily, weekly, monthly campaigns
- Personal emails via SMTP2GO, one-click unsubscribe
- Delivery, open and click statistics
Requires pdoTools 3, an SMTP2GO account and a cron job.
Information
Released
November 1, 2026
Supported Database
MySQL
License
GPLv2
Supported Versions
3.0 - Current
Downloads
0
Instructions
Requirements
- MODX 3, PHP 8.1+ with curl, pdoTools 3
- An SMTP2GO account with a verified sender domain
- MODX mail configured (confirmation emails), Bootstrap 5 on the front end
After installation
- System Settings (namespace midnightnewsletter):
smtp2goApiKey(permissions Emails, Templates, Webhooks, Statistics),mnEmailSender,mnEmailSenderName - Cron every minute:
php /path/core/components/midnightnewsletter/elements/scripts/cron.php(or CronManager: snippet mnCampaign, cronjob=all) - Groups: Extras → Newsletter → Groups
- Newsletter: a resource with the mnNewsletter template; set sending in its Newsletter tab
- Subscribe form:
[[!mnNewsletter? &show=`modal`]] - Extras → Newsletter → Overview shows what is still missing
Full documentation: modx.tend.si/midnight-newsletter
New in 1.0.0-beta8
Changes since 1.0.0-beta6 (includes the unreleased beta7).
- Fix: the Newsletter manager page can now be scrolled when its content is taller than the window (e.g. Addresses with 25 rows per page).
- Fix: an already used confirmation link shows the confirmation page instead of an error. Mail security scanners (Outlook Safe Links etc.) open links before the recipient, so the recipient's own click found the code already used. A used code is remembered for 7 days while the subscriber stays active.
- Manager menu: default envelope icon (same size as the core menu icons). An icon you set yourself is kept on upgrade; before, every install reset it to none.