Email Newsletters and the Simplenews Module
In April 2008 the Vancouver League of Drupalers featured a presentation on email newsletters by Monique Trottier of Boxcar Marketing titled: Email Newsletters: WTF?, and an overview of the Simplenews module by yours truly.
The video of Monique's presentation turned out well and can be viewed with complete show notes at Email Newsletters: WTF? (6 Mistakes to Avoid), or by watching the embedded video below. It's filled with practical information and a must-see for anyone serious about using newsletters.
My presentation didn't video so well, so here's the recreated notes:
Simplenews is a module that adds newsletters to Drupal. It has the following major features:
- Does not require recipients to have a Drupal account
- Has subscription verification via email
- Uses a node as the newsletter body, allowing content integration with Drupal
- Large mailings handled by cron
- HTML newsletters supported if Mime Mail module also installed
All of Simplenews is managed from Administration >>> Content >>> Newsletters
The configuration and management options of Simplenews and created newsletters are available there as tabs:
General configuration is managed under the Settings tab. The Cron throttle is an important setting and one you'll need to determine based on your own requirements. Otherwise there is very little general configuration required, just your default newsletter settings.
All newsletters are managed from a single interface under the Newsletters tab. There you're given the option to list, add or edit the site's newsletters.
Once a newsletter is created, you can go back to the Settings tab and customize any settings that are different from the site default. In the picture below, you can see the General sub-tab for site-wide defaults and the sub-tab for a newsletter named SiWC Announce.
The administrator can manage subscriptions directly via the administrator user interface. Users can manage their subscriptions via a newsletter subscribe/unsubscribe page or via individual newsletter subscription blocks. The blocks are created when a newsletter is created and are disabled by default, so you need configure them per your requirements.
Simplenews understands the difference between authenticated and anonymous users and handles both.
A newsletter is a Drupal node and so created the way any other Drupal node is created. Once created, you can view it as you would other Drupal content or use the Simplenews management menu. There are Sent Issue and Draft tabs.
The newsletter node has the standard Published and Unpublished status, and it adds a Sent status with values of Not Sent/Draft, Pending, and Sent. The newsletter management interface has tabs to view newsletter Sent and Draft issues. The sent status is also exposed to Views for building custom reports.
If your newsletter is plain text and you use HTML markup in your newsletter body, it will be converted to plain text. If the mime mail module is installed and the newsletter is configured for HTML the HTML is preserved. Images attached to the node as file attachments and referenced in the node body are included in the message body as mime attachments and the mime attachment referenced by the image tag src attribute.
A user specific unsubscribe link is automatically appended to the newsletter content.
The node's published/unpublished visibility status on the site is independent of its draft/pending/sent delivery status. This means the newsletter may be visible on the site before it has been sent to its recipients, or vice versa.
I've used Simplenews on two sites, one with a 40 subscriber newsletter and the other with a 2000 subscriber newsletter. There's only been one problem, and that was because of the cron configuration. Cron was configured to run once per day and the number of subscribers exceeded the number of newsletters sent per cron run. It appeared newsletters were getting delayed because some people received them a day or two after others. In reality the "slower" newsletters were simply waiting till the next cron run. Adjusting cron frequency and deliveries per cron run resolved the issue.
An example of Simplenews with Views integration can be found at SiWC Newsletter.