Skip to main content

A complete Newsletter product for Plone.

Project description

Tested with

Version above 3.2

  • Plone-4.1.4 [taito]

Version 3.2

  • Plone-4.1.3 (4112) [morphex]

  • Plone-3.3 [vincentfretin]



There is new style portlet called Subscribe Newsletter Portlet. To make the subscribing work, you need to add NewsletterTheme first anyway.

There are also the old style portlet available. Add Classic portlet and enter:

portlet name


macro name



The look of the HTML newsletter

You may change globally the way the newsletter are rendered by customizing the “newsletter_mua_formatter” template. Be very careful to follow the instructions in the comments of this template: “newsletter_mua_formatter” is not a Plone template like the others.

You may have your own HTML newsletter formatter. Copy “newsletter_mua_formatter” to “/yourplone/skins/custom/my_mua_formatter” or anywhere else in the skins path. You just need to modify your NewsletterCentral, setting the “Newsletter render template (TALES)” field to “nocall:here/my_mua_formatter”.

Add your own recipients list

Just write a script that returns a list of tuples in the form

[(email, html, changeUrl), ...]
  • “email” is a mail address

  • “html” is “HTML” to receive HTML newsletters and “Text” for plain text newsletters

  • “changeUrl” is an URL where the user may change his newsletter preferences



Call that script “/yourplone/skins/custom/additionalSubscribers” or anywhere else in the skins path. Modify your NewsletterCentral setting the “Extra recipients (TALES)” field to “nocall:here/additionalSubscribers”.

In example, you could add newsletter settings in the member preferences of your Plone site and make a script that gathers all subscribers and related options.



Please be sure your Subscribers folder is always private. Otherwise Anonymous will be able to see all your subscribers.

Subscriber objects itself uses one_state_workflow to be always accessible to anonymous (all users has to be able change own settings and we can’t distinguish between anonymous users).

Instead of using the standard CMF/Plone permissions (“Add portal content”), PloneNewsletter comes with its own set of permissions such you can tweak the roles that can add/manage newsletter related resources.

  • PNL Add Newsletter Theme, PNL Change Newsletter Theme

  • PNL Add Newsletter, PNL Change Newsletter

  • PNL Add Subscriber, PNL Change Subscriber

More informations

The NewsletterReference type allows to refer any portal_type of the site within the newsletter.

In the Newsletter the Referece has a title, a description, and an ordered list of the referenced objects. In our usecase we need to build a newsletter with different reference objects. They need

  • Title

  • Descriptive text with richtext functionality (text is not taken from the referred content type)

  • an optional image

  • and of course the reference to a content object within the portal

The differences to the currently availablle NewsletterReference are

  • richtext edit (to have more freedom of design within the newsletter)

  • preview image (to provide icons for types that don’t have a preview image, and also to provide a different format that fits the layout of the newsletter)

If you have any questions about NewsletterRichReference contact <> (fRiSi on #lovely)


3.2.2 (2015-01-22)

  • Nothing changed yet.

3.2.1 (2014-02-25)

  • Avoid errors for links without href or class [mpeeters]

  • Do not break the mailto links [mpeeters]

  • Adding support for external https links [morphex] (2012-11-22)

  • Dropped support for Products.SecureMailHost in favor of Products.MailHost [dokai]

  • Subscribe Newsletter Portlet added. [taito]

  • UnicodeDecodeError while previewing plain text newsletter fixed. [taito]

  • Locales related files moved to locales directory. [taito]

  • Spam prevention added. [dokai, taito]

  • ReferenceField updated to ordered one. [dokai, taito]

  • Release for Plone-4.2.2. [taito]

3.2 (2012-02-09)

  • Added backwards-compatible patch for Plone 4.1.3, TinyMCE 1.2.9 which fixes error messages when editing a Newsletter. [morphex]

  • Added more Norwegian translations and improved some of them.

  • Added support for internal-links which didn’t have the CSS class set.

  • Added Plone 4.1 compatibilty. [nteixeira, sdemagny, vincentfretin]

  • Added compatibility. [fdelia, keul, vincentfretin]

  • Added a migration step that’ll try and make private all NewsletterBTree objects. The devastating effect of these becoming public during the upgrade process is that the Google bot will delete all your subscriptions. [nouri]

  • Fallback to ‘MailHost.send’ if ‘MailHost.secureSend’ is not available. [nouri]

  • Support specifying the id of the MailHost to use through an environment variable. [nouri]

3.1.1 (2009-10-22)

  • Fixed “Link to member preferences does not work” (#63). Thanks to Gauthier Bastien for bug report. [naro]

  • Added separate subscriber_workflow which allows to edit subscribers objects anonymously. Please read UPGRADE.txt how to run GS upgrade step to switch existing subscribers to this workflow. [naro]

3.1.0 (2009-10-18)

  • Add the possibility to define a newsletter header similar to newsletter footer. And add a field for defining CSS style properties that go into the <body> element of the newsletter that’s sent out (but not into Plone’s view of the newsletter). [Ingo Van den Broeck, nouri]

  • Update the role mappings of a Subscriber during creation. We got Unauthorized errors when trying to edit the subscriber anonymously. This was fixed by clicking the ‘Update security settings’ button on the portal_workflow tool. This code fixes it too. [maurits]

  • Subscriber class now has a portal_type attribute. This fixes a bug with failing to create new subscribers while having a contentrule with a portal_type condition active. [Huub Bouma]

  • Fixed bug where a faulty email address (without even a ‘@’) would result in a zope error instead of a template which renders the error. [reinout]

  • listFolderContents and getFolderContents moved back to the subclasses. Plone 3 has another implementation of the folder listing. [naro]

3.0.0 (2008-07-11)

  • fixed test newsletter if testing user were subscribed but not activated [naro]

  • all emails are now encoded. In case of utf8 emails, these will be generated in base64 encoding. Subject is encoded too (if applicable). This may fix situations described in #37 and #40. [naro]

  • Fixed listing of NewsletterRichReference. This fixes #36 [Guido A.J. Stevens, naro]

  • added changeRelativeToAbsolute method which converts all relative links generated by Kupu to absolute links. [Ralph Jacobs, 4D]

  • Moved listFolderContents and getFolderContents to PNLBase class. This fixes #34. [naro]

3.0.0-rc2 (2008-03-22)

  • added missing i18n:domain to browser/configure.zcml [hannosch]

  • fixed getUrl -> getURL [naro]

3.0.0-rc1 (2008-02-17)

  • fixed attribute error when accessing NewsletterBTree folder contents (#30)

  • fixed UnicodeError when activation subject or body contains non ascii characters

  • PG is registered to all skins layers

  • another subscribers catalog fix. Catalog is based on CMFCore. catalog tool instead of ZCatalog

3.0.0-beta2 (2007-12-06)

  • fixed initialization of subscribers catalog. Thanks to Wouter Vanden Hove

3.0.0-beta1 (2007-12-03)

  • see UPGRADE.txt for upgrade notes, see README.txt for general installation and usage notes.

  • only major change against 2.5 version is creation of subscribers catalog inside NewsletterTheme objects. All Subscribers are stored in the subscribers_catalog to be easily and fast found and listed.

  • Content types are still CMF based, code is not polished and optimized.

  • removed Extensions/ dir, added basic GS profile with content types and skin layer

  • use secureSend. Emails are generated as email.Message.Message instances and not strings

  • make all forms and object manipulation working in Plone 3

  • cutoff Plone 3.0 compatible version. Dropped Plone 2.1 and 2.5 compatibility. If you want to use PloneGazette on Plone 2.5, use 2.5 branch and versions in PloneGazette 2.5 line.

2.5.0-beta1 (2007-11-25)

  • fixed HTML markup in subscriber edit form to support <label> in radio boxes

  • fixed testSendToMe

  • fixed toLocalizedTime definition (plone 2.5). Thanks to Andrew Kornilov for pointing to it. [naro]

2.5.0-alpha1 (2007-11-24)

  • replaced toPortalTime with toLocalizedTime in Newsletter view. Fixes #11

  • added getFolderContents method to the NewsletterTheme. This fixes #4 - Subscribers do not appear in folder listing or view

  • do not use secureSend in combination with email.Message.Message. There is bug in SecureMailHost used in plone 2.5 which prevents this combination (#6504)

  • trying to stay compatible with Plone 2.1 for the moment

  • removed metadata and duplicate Contents tab from newslettertheme and newsletter [naro]


  • Morten W. Petersen <info at>, The current maintainer

  • Kai Lautaportti <kai.lautaportti at>

  • Taito Horiuchi <taito.horiuchi at>


Thanks to translators for their precious help.

  • Ricardo Kirkner for Spanish,

  • Tiziano Fogliata and Paolo Melchiorre for Italian,

  • Klaus Raasch for Deutsch,

  • Luciano De Fazio and Rafahela Garcia Bazzanella for Portugues do Brasil (viva brasil !!),

  • Anton Stonor for Danish.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution (278.2 kB view hashes)

Uploaded source

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page