Campaign Manager
Send professional campaign messages to your subscribers.
- Campaigns - launching campaigns and the campaign lifecycle
- Subscribers - managing subscribers, lists and recipient groups
- Templates - designing campaign templates with editable fields and tags
- Settings - mail configurations, scheduling and multisite
- User Registration - integration with the RainLab.User plugin
- Events - lists all the available events found in this plugin
Introduction
The Campaign plugin lets you design fully custom email campaigns and send them to your audience. People can join mailing lists using a front-end form, or campaigns can be sent to a predefined collection of recipients, for example, all registered users.
This table describes the moving parts found in this plugin.
| Object | Description |
|---|---|
| Campaign | A message sent to subscribers, along with its launch options and delivery statistics. |
| Campaign Template | A CMS page that provides the HTML scaffolding and editable fields used by a campaign. |
| Subscriber | An individual person, their email address and name. |
| Subscriber List | A mailing list that subscribers can opt in to. |
| Recipient Group | Like a list, except the recipients are generated by the system, for example All registered users. |
Getting Started
- Create a campaign template page in your theme. The first time you create a campaign, the plugin offers to generate a default template you can use as a starting point. See Templates.
- Create a subscriber list in Mailing List > Lists.
- Add a signup form to your site using the Signup component, or import existing subscribers. See Subscribers.
- Create a campaign, populate its content and launch it. See Campaigns.
System Requirements
This plugin relies on the system scheduler to send campaigns. Make sure your cron table is configured so the scheduler runs every minute.
Alternatively, you can process campaigns manually by running the following command every 5 to 10 minutes.
php artisan campaign:run
Cron Without Command Line
Some hosting providers do not allow access to the cron table, and instead let you call a URL every few minutes. In this case, create a custom plugin with a routes.php file in its root folder that calls the command using the Artisan facade.
Route::get('/campaign_run', function () {
return Artisan::call('campaign:run');
});
Choose a URL that is hard to guess, since anyone who knows it can trigger campaign processing. See Cron Without Command Line for more details.