MemberMailer Setup Guide
For MemberMailer 1.0.5 • Joomla 6.0–6.1 • PHP 8.3 or later
Set up a mailing list, connect your mail service and schedule delivery. Start with Sender disabled so you can review drafts and queues before sending.
MemberMailer supports standalone mailing on Joomla 6.1.3/PHP 8.3. Events Booking and Membership Pro are not required on customer sites. Membership Pro handles entitled downloads on the distribution server. The package includes the component, signup module, Sender, optional Event Digest, Article Notifications and Article Processor.
Download, installation and updates
Obtain the complete installation ZIP through the entitled customer download. SHA-256 for pkg_membermailer-1.0.5.zip: 106ad813b711d812de102bfbcd2c2c96e327c3dde59ab038474c8eaa9e150e60. Verify with Get-FileHash -Algorithm SHA256 or sha256sum.
For sites on 1.0.3 or earlier, manually install the current full package over the existing installation once to add Download Key support. Generate a Download ID on the vendor site, then enter it in System > Update > Update Sites > MemberMailer Updates > Download Key. Do not put the key into the public feed or its URL. Save the Download Key on your Joomla site. Keep it private; never share it in screenshots or support messages.
The production feed is https://melicsystems.com/updates/membermailer.xml. It updates the package and all six bundled extensions together. Use System > Update > Extensions for subsequent entitled updates.
The update feed supports Joomla 6.0 and 6.1 with PHP 8.3 or later; the tested combination for this release is Joomla 6.1.3 and PHP 8.3, using MySQL/MariaDB. Back up the site's files and database before installing or upgrading. In Joomla administrator, open System > Install > Extensions, choose Upload Package File, and upload the complete installation ZIP.
For an existing installation, install over it; do not uninstall first, since uninstalling removes MemberMailer data. Upgrades retain existing task settings: if testing without delivery, disable the existing Sender scheduled task before upgrading and do not use manual delivery or Send Test Email. Fresh installation does not create scheduled tasks. Check System > Manage > Extensions to confirm the package and its six extensions report version 1.0.5.
Start with Sender disabled. Follow the standalone workflow below, inspect the saved preview and recipient queue, and enable delivery only when intended. After an upgrade, verify ordinary draft New/Edit content, generated read-only previews, existing list/subscriber counts, and queue state. For article testing, run the baseline before creating new test content, then run the Article Processor manually and inspect the prepared queue. Run it again without an article change and confirm no duplicate queue appears. Confirm scheduled articles produce no queue before their publication time and one afterwards. An existing article integration keeps its baseline when its configuration is unchanged; upgrading alone does not request historical notifications.
If installation or verification fails, keep delivery disabled, retain the installer/task error details, and restore the matching files-and-database backup if rollback is needed. Installing an older ZIP alone is not a database rollback.
Joomla mail transport and SMTP
Open System > Global Configuration > Server > Mail. MemberMailer uses Joomla's mailer; there is no separate MemberMailer SMTP account. For SMTP, set Mailer to SMTP, enter your provider's SMTP Host, SMTP Port and SMTP Security, and set SMTP Authentication, SMTP Username and SMTP Password as required by that provider. Set From Email and From Name to the sender identity approved for that account. Use the provider's specified port/security combination and sending limits.
Joomla's Send Mail setting must permit mail when delivery is intended. Keep the MemberMailer Sender scheduled task disabled during queue inspection. Disabling Sender does not disable signup confirmation messages, Joomla's mail test, or MemberMailer's explicit Send Test Email action. For an upgrade test that must send nothing, use an isolated copy with a non-delivering mail capture transport and no active cron; avoid public signup and all explicit email tests.
When delivery testing is authorized, first verify Joomla's mail transport with a controlled test address, then verify a MemberMailer test message and finally a small queue. Check actual receipt and the unsubscribe link separately from task output. Use your provider's instructions for sender-domain authentication; do not put SMTP credentials into this guide, release assets or task output.
Standalone mailing
- Install the MemberMailer installation ZIP through Joomla's extension installer. Configure the site's Joomla mail transport and sender identity; MemberMailer uses that transport rather than its own SMTP configuration.
- Create and publish a MemberMailer mailing list. For public subscriptions, enable public signup on the list, publish the MemberMailer Signup module, select that list and assign the module to the desired pages.
- Complete the confirmation flow for subscribers. Queue eligibility requires a confirmed, globally active subscriber with a subscribed choice for the target list. Pending, unsubscribed and suppressed records are excluded.
- Create an ordinary Mailshot, choose its target mailing list, enter the subject and content, and save the draft. The body uses Joomla's configured editor, including the administrator's editor preference (for example TinyMCE or an installed Joomla-compatible JCE). Editor None remains available for raw HTML. Save, Preview and Send Test Email synchronize the latest editor content; MemberMailer's existing HTML safety checks still apply. Review its preview and, when ready, use the explicit test-email action with a test address.
- Open Recipients / Queue, review the eligible recipients and create the queue. Queueing freezes the saved revision and recipient snapshot; it does not itself send email. Only standard draft mailshots are editable. Generated or non-draft mailshots open as read-only saved-content previews.
- Enable the MemberMailer Sender task plugin and configure a Joomla Scheduled Task using "Send MemberMailer queue", including its maximum recipients per run and execution-time limit. Enable the task when ready for delivery. Installation does not create or enable a scheduled task automatically.
- Follow Scheduler setup to invoke the Scheduler from cron using your own PHP executable, Joomla root and site URL. Review the Sender results and queue state, then confirm receipt separately: task processing output alone does not prove email delivery.
Leave Event Digest tasks disabled when Events Booking is not installed. Missing Events Booking does not block the standalone mailing workflow. Membership Pro is not needed for any of the steps above.
Optional Events Booking integration
Install and enable Events Booking only if event-generated digests are needed. Enable the MemberMailer Event Digest task plugin and configure a Joomla Scheduled Task using "Generate MemberMailer Event Digest".
Set the digest heading, event period, categories and a published target MemberMailer list. Choose categories explicitly, or select All Events; an empty selection does not mean all events. The supported periods are Today, Next 7 days, Next 14 days and Next calendar month.
Automatically queue generated digest defaults to Off. Off creates a reviewable frozen draft for later manual queueing. On uses the common queue service to queue the generated revision for eligible subscribers to the target list. The separate Sender handles delivery in both cases; the digest task does not send email or enable the Sender.
Repeated runs for the same digest selection and period reuse the frozen revision and existing queue, without restarting completed or cancelled queues. If queueing fails or no recipients are eligible, the draft remains available; review the task output before retrying. A retry within the same digest identity uses that draft. Today and rolling periods use the site-local date in their identity; Next Month uses the target month. An older retained draft can be queued manually after that identity changes.
Without Events Booking, the Event Digest task reports that its provider is unavailable and creates no draft. Keep it disabled until the integration is configured. Membership Pro is not a dependency of the Events Booking digest workflow.
Optional Joomla article notifications
Events Booking and Membership Pro are not required. In Plugins, configure Content - MemberMailer Article Notifications. Enable article notifications defaults to Off. Select explicit Joomla article categories (select child categories separately), one published MemberMailer mailing list, and newly published articles, meaningful updates to published articles, or both.
When ready, enable that content plugin and its notification option, and enable Task - MemberMailer Article Processor. Create a Scheduled Task using MemberMailer: Process article notifications. Its processing limit (default 25, maximum 100) bounds pending notifications queued per run; discovery scans all articles in the selected categories. Use the existing cron setup with your own PHP path, Joomla root and site URL.
The Article Processor prepares and queues notifications. The existing Sender delivers them. Installation does not create or enable tasks, or turn on the notification option. For initial testing, keep the Sender task disabled and avoid manual delivery while inspecting prepared queues.
The first processing run records a baseline and sends no historical articles. Configure the integration and run that baseline before publishing articles that should trigger notifications. Existing published articles can subsequently notify on meaningful updates when Updates or Both is selected. Adding/removing categories, changing the target list or mode resets the entire selection's baseline without historical sends. Pending work from the old configuration is retired; its queued article notifications no longer pass the delivery check. After disabling, run the processor once to record the disabled checkpoint before re-enabling; this ensures that reactivation establishes a fresh baseline.
Publication requires the article and its category ancestry to be published and accessible to an anonymous visitor. Restricted-access articles are excluded, even if the recipient is a registered user. Draft, unpublished, archived, trashed, expired and future-dated articles do not generate notifications. Scheduled publication is discovered on the first processor run after its publication time, without requiring another save. Processing uses Joomla's UTC publication dates. An article that becomes public for the first time qualifies as a new publication; simply unpublishing and republishing unchanged notified content does not create another notification.
Meaningful content comprises title, introduction, full text, image metadata, alias, category and language. Save timestamps, hit counters, check-in and workflow metadata do not trigger notifications. Changes between runs are coalesced into the content observed by the processor. Repeated saves and previously notified identical content do not duplicate notifications within the same configuration. The notification freezes a title, plain-text introduction excerpt and routed article link; it does not execute article content plugins or include custom-field output.
Queueing uses MemberMailer's existing consent, suppression and duplicate-email checks. The Sender checks consent again, includes the recipient-specific unsubscribe link, and rechecks the article's current publication/access and integration configuration before delivery. These additional article checks do not apply to ordinary mailshots or Event Digests. Generated article mailshots are read-only; completed and cancelled queues are never restarted.
Task output distinguishes baseline, prepared, queued, existing, skipped and failed work. No eligible recipients is a terminal skipped notification; later subscribers do not revive it. A later meaningful article update can generate a new notification. A draft whose queue preparation failed is retained and retried using the same frozen revision. Review failed task output before retrying. Review delivery skips in the queue view. This release does not include a separate screen listing every article notification outcome.
Before enabling delivery, test baseline initialization, scheduled publication, unchanged saves and restricted articles with your chosen categories and list. Review task output and generated queues.
Scheduler and cron
- In System > Manage > Plugins, enable the MemberMailer task plugins you need.
- Open System > Manage > Scheduled Tasks and create the appropriate task. Use Send MemberMailer queue for delivery, Generate MemberMailer Event Digest for event preparation, or MemberMailer: Process article notifications for article preparation.
- Set the schedule for each task in Joomla. Configure the Sender's maximum recipients per run and execution-time limit to suit your mail provider. Keep Sender disabled until you are ready to deliver.
- Ask your hosting provider for the PHP 8.3 CLI executable and absolute Joomla root path. Add the following cron entry, replacing every placeholder with your site's values.
* * * * * /path/to/php-8.3 /path/to/joomla/cli/joomla.php scheduler:run --all --no-interaction --live-site=https://your-site.example
Cron invokes Joomla's Scheduler every minute; each task's Joomla schedule decides when it is due. Disable Joomla Lazy Scheduler when using this cron setup. The command runs all due Joomla tasks, including tasks belonging to other extensions.
Review cron output, task results and queue state. Task processing output alone does not prove email delivery: confirm receipt separately. On an isolated upgrade-test copy, keep cron stopped and manually run only the intended preparation task.
Check an upgrade
Back up files and the database before upgrading. Use an isolated copy with mail capture for a test that must send nothing. Install over the existing package; never uninstall first.
Confirm the package and all six bundled extensions report 1.0.5. Check existing settings, subscriber/list counts, saved content, queue states and article configuration. Open an ordinary draft with the configured editor and inspect generated mailshots in their read-only views. Completed and cancelled queues should retain their states.
Keep Sender disabled while reviewing queues. If a rollback is necessary, restore the matching files-and-database backup; installing an older ZIP alone is not a database rollback.
Uninstall and data deletion
Uninstalling the MemberMailer package deletes all MemberMailer data, including subscribers, consent/list memberships, queues, frozen revisions, delivery history and article baselines/notification records. There is no retain-data option. Back up/export first. Do not uninstall as part of an upgrade.
Version 1.0.3 adds cleanup for only MemberMailer's three Scheduler routine types; unrelated tasks remain. External cron entries are NOT removed. Pause cron/running tasks before uninstall and remove or adjust dedicated entries manually. A shared Joomla Scheduler cron may still serve other extensions.
Updates and support terms
£39 includes 12 months of updates and support for one nominated website. Installation on multiple websites is permitted, and installed software continues working after expiry. Use your Download Key for entitled Joomla updates.