This project is not covered by Drupal’s security advisory policy.

SunMailer is an email newsletter module that aggregates content using views from the Views module. Once configured and scheduled, it can automatically send newsletters on a recurring basis without any user intervention. It originated as a project for The Cornell Daily Sun, hence the name SunMailer.

Scroll down to SunMailer 6.x-2.x Notes for more information about the next major release of SunMailer.


  • Automatically aggregates content, sends the newsletter, and removes sent content from future newsletters (the newsletter can also be manually sent)
  • Newsletter can be split into multiple sections that can be individually subscribed to
  • Users can individually subscribe, or subscriptions can be managed via user roles
  • Supports both text and HTML emails
  • Can send a custom email message to all subscribers
  • Full documentation included when Advanced help is installed
  • Subscription statistics
  • Alternate text body for HTML emails (useful for text-only email clients, e.g., mobile phones)
  • SMTP support, including authentication, SSL, and TLS

Customizing the newsletter

SunMailer generates the newsletter by first generating XML and then translating it to text or HTML via XSLT. It comes with two XSL files, one for a text newsletter and one for an HTML newsletter.

The XML includes both basic information about each node as well as the rendered values of any fields provided by the view which generated the node. Alter hooks are provided to further modify the XML.

The two included XSL files only use the basic information provided for each node, but additional XSL files can be uploaded via the module's user interface to redesign the existing text or HTML newsletter or add brand new designs.


In addition to PHP 5.2 or higher, SunMailer requires PHP's XSL extension and a third-party library named PHPMailer. It generally supports anything PHPMailer supports. Scheduling the newsletter to be sent automatically requires cron. Consult the README for more info.

Important components of SunMailer have been tested with SimpleTest.

SunMailer 6.x-2.x Notes

The next major version of Sunmailer, 6.x-2.x, has a release candidate. It should be safe to deploy in a production site, though as with any upgrade, testing in a development environment first is still recommended.

Major new features

  • Anonymous users can subscribe to the newsletters
  • Multiple newsletters are supported
  • New interface for managing subscriptions and importing subscribers

Unsupported existing features

In order to both land the major new features for 6.x-2.x and to simplify the architecture and user interface, other less important or rarely used features were removed or moved.

The focus of the core SunMailer module will shift back to a simple newsletter targeted at anonymous users, though flexibility has been added to support other subscription models.

  • Role-subscribe has been moved into a separate module.
  • Individualized newsletter content based on each authenticated user's permissions are no longer supported.
  • Subscribers no longer choose from a potentially unlimited number of designs (formerly known as formats) for a single newsletter. Each newsletter will have one single design (and optionally one alternate text design for email clients without HTML support).

Reorganized menu

The menu has been reorganized to put items where they logically belong instead of putting everything under Administer > Site configuration > SunMailer.

  • Building newsletters? Navigate to Administer > Site building > Email newsletters.
  • Managing subscribers? Navigate to Administer > User management > Email newsletter subscribers.
  • Sending newsletters? Navigate to Administer > Content management > Email newsletters
  • Viewing subscription statistics? Navigate to Administer > Reports > Email newsletters.

For developers and designers

The format of the newsletter's XML and some of the sunmailer_xml_*_alter hooks have slightly changed. You will need to ensure that any custom XSL designs or implementations of these hooks are updated for the 6.x-2.x version.

Project information