Skip to main content

rer.newsletter

python version ci license number

This product allows the complete management of a newsletter.

Features

New Content-type

  • Channel

    • Totally customizable because it is possible to set a header, a footer and CSS styles. This fields allows to uniform template of email that will be sent from one channel.

    • content type that inherit from folder content.

  • Message

    • content type that inherit from folder content.

Portlet and Tile

The product provide a portlet and a tile for user subscribe.

Form for user subscribe have an email field and is protected for spam with collective.honeypot.

User Management

Allows complete management of user.

  • Add user from admin setting

  • Delete user from admin setting

  • Import users directly from CSV file

  • Export users directly to CSV file

  • Delete a group of user directly from CSV file

  • Subscribe users

  • Unsubscribe users

Advanced Features

Customize how to send your newsletter

By default, this product send all the emails through the standard plone mailer. The actual sending mechanism is handled by an adapter (a multi-adapter):

<adapter
  for="rer.newsletter.behaviors.ships.IShippableMarker
       zope.publisher.interfaces.browser.IBrowserRequest"
  provides=".base_adapter.IChannelSender"
  factory=".base_adapter.BaseAdapter"
/>

To change this default activity, you can create a new Plone add-on that register a new adapter with a more specific layer (e.g. use the browser layer of the new add-on) and override the sendMessage method as you wish.

rer.newsletterplugin.flask is an example of plugin with a custom sender. It uses an external Flask app to send emails.

Advanced security

New permissions have been added for the management of the Newsletter:

  • rer.newsletter: Add Channel

  • rer.newsletter: Add Message

  • rer.newsletter: Manage Newsletter

  • rer.newsletter: Send Newsletter

This permission are assigned to Manager and Site Administrator. There is also a new role, Gestore Newsletter, which has permissions for all possible operations on newsletter.

Bot protection

This product use collective.honeypot to prevent bot submissions.

You just need to set two environment variables:

  • EXTRA_PROTECTED_ACTIONS customer-satisfaction-add

  • HONEYPOT_FIELD xxx

xxx should be a field name that bot should compile.

If you get hacked, you could simply change that variable.

Subscriptions cleanup

There is a view (@@delete_expired_users) that delete all users that not have confirmed subscription to a channel in time.

You can set subscription token validity from the product’s control panel.

Inside the settings of the product there is a field that allows you to set validity time of the channel subscription token.

Installation

Install rer.newsletter by adding it to your buildout:

[buildout]

...

eggs =
    rer.newsletter

and then running bin/buildout

Dependencies

This product has been tested on Plone 6 with volto integration.

Credits

Developed with the support of Regione Emilia Romagna;

Regione Emilia Romagna supports the PloneGov initiative.

Authors

This product was developed by RedTurtle Technology team.

RedTurtle Technology Site

Contributors

Changelog

3.2.0 (2026-10-21)

  • Fix channel_workflow: private channels no longer acquire View and Access contents information, so they are not visible (nor searchable) by anonymous users. Upgrade step to 1007 updates existing channels. [TheSaintSimon]

  • Add Matomo campaign tracking parameters to portal links in sent messages. [fedevancin]

3.1.6 (2026-06-17)

  • Wrap header/footer content in <tr> only if not already wrapped. [cekk]

3.1.5 (2025-06-19)

  • Improve confirm/delete messages. [cekk]

3.1.4 (2025-06-11)

  • Fix handler for br tag in slate2html. [cekk]

3.1.3 (2025-02-06)

  • Handle text-larger class in slate2html. [cekk]

  • Do not pretty slate2html output to avoid not needed spaces between tags. [cekk]

  • Changed label from Parametro to Dato. [eikichi18]

3.1.2 (2024-12-05)

  • Handle hr tag in slate blocks. [cekk]

3.1.1 (2024-10-22)

  • Fixed shippable collection [eikichi18]

3.1.0 (2024-06-13)

  • Add restapi endpoints to improve Volto compatibility. [cekk]

  • Enable blocks on messages. [cekk]

3.0.2 (2024-05-06)

  • Added fields for customize header and footer logos in newsletter. [eikichi18]

  • Disable resource not needed in Plone6. [cekk]

3.0.1 (2023-09-06)

  • newsletter subscribe and unsubscribe email templates [pnicolli]

3.0.0 (2023-08-09)

  • release [eikichi18]

2.0.0a4 (2023-07-26)

  • Fixed resources with module federation for Plone 6 support [pnicolli,sabrina-bongiovanni,eikichi18]

2.0.0a3 (2023-07-21)

  • Adapt management buttons for Plone 6 [pnicolli]

2.0.0a2 (2023-03-16)

  • Updated subheader template [pnicolli]

2.0.0a1 (2023-03-14)

  • added restapi services for Volto usage

  • fixed results for unsubscribe service

  • italian translation

  • remove CSRFProtection when call services

  • fix email validation when mailinglist are imported

  • using preview_image instead of lead image in newsletter shippable collection

  • Remove subtitle (h4) in nl template and preview

1.2.0 (2023-01-25)

  • Remove recaptha usage in the channel subscribe form, will be used honeypot instead. [foxtrot-dfm1]

1.1.2 (2022-05-12)

  • Improve error handling messages in massive user import. [cekk]

1.1.1 (2021-11-11)

  • Fix encoding in unsubscribe.py. [cekk]

1.1.0 (2021-06-10)

  • Use mail validator from portal_registration. [cekk]

1.0.7 (2021-01-28)

  • Fix logic in delete expired users view. [cekk]

1.0.6 (2020-12-18)

  • Handle “running” state in status table for long queues. [cekk]

1.0.5 (2020-11-25)

  • Fix upgrade step. [cekk]

1.0.4 (2020-11-12)

  • Fix encoding for the channel title. [daniele]

1.0.3 (2020-11-06)

  • Handle mail not found in subscribe form. [cekk]

1.0.2 (2020-08-18)

  • Styles for newsletter subscription modal

  • Fix cancel button moving when in error state [nzambello]

1.0.1 (2020-07-27)

  • Remove direct dependency to collective.taskqueue. [cekk]

1.0.0 (2020-07-21)

  • Heavy refactoring to support different send methods from adapters. [cekk]

0.4.0 (2020-04-21)

  • Fixed subscribers import in Python3. [daniele]

  • Fixed RichText behavior name in types definition. [daniele]

  • Fix initializedModal.js to correctly support tiles loading [nzambello]

0.3.0 (2020-03-07)

  • Python 3 compatibility. [cekk]

0.2.0 (2019-04-01)

  • Fix initializedModal.js to support new functionality in tilesmanagement: anonymous always load a static version of tiles list. [cekk]

0.1.12 (2019-01-30)

  • Added shippable collection.

  • Fixed template for shippable collection.

  • Fixed search object for channel history view. [eikichi18]

  • a11y: added role attribute for portalMessage [nzambello]

0.1.11 (2018-09-27)

  • Fix ascii encode problem on site name. [eikichi18]

0.1.10 (2018-09-27)

  • Added number of removed user on delete_expired_users view.

  • Removed layer for delete_expired_users view.

  • Fixed view for delete expired users. [eikichi18]

0.1.9 (2018-09-20)

  • Fixed modal timeout [eikichi18]

0.1.8 (2018-07-19)

  • Added Redis for asynchronous task

  • Fixed label of close button on subscription modal

  • Added Translatation

  • Fixed the way in which it takes the title of the site

  • Added content rules for user subscription and unsubscription [eikichi18]

0.1.7 (2018-06-19)

  • Fixed buildout [eikichi18]

0.1.6 (2018-06-19)

  • Fixed some minor label [eikichi18]

0.1.5 (2018-05-25)

  • fixed default profile in upgrade step [eikichi18]

0.1.4 (2018-05-23)

  • upgrade step to fix bundle for initializedModal.js [eikichi18]

0.1.3 (2018-05-23)

  • Fixed accessibility problem on subscribe/unsubscribe modal for IE. [eikichi18]

0.1.2 (2018-03-15)

  • Fixed accessibility and style for subscribe/unsubscribe modal. [eikichi18]

0.1.1 (2018-03-02)

  • Fixed doc. [eikichi18]

0.1.0 (2018-03-02)

  • Initial release. [eikichi18]

Metadata

Release files for rer.newsletter 3.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for rer.newsletter 3.2.0
File Size Uploaded Provenance Actions
rer_newsletter-3.2.0.tar.gz 1.8 MB Without provenance Details for rer_newsletter-3.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for rer.newsletter 3.2.0
File Interpreter ABI Platform Actions
rer_newsletter-3.2.0-py3-none-any.whl Python 3 none any Details for rer_newsletter-3.2.0-py3-none-any.whl

Total release size: 4.9 MB

Release files / rer_newsletter-3.2.0.tar.gz

Download URL rer_newsletter-3.2.0.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
ebf8f539ab5d0d8da724b5aa8fbcfdd04f7c851454134e31fd4ecc6bfefd953a
BLAKE2b-256 checksum
How to use checksums
99905cf5ddef5c44e6736864aff813546818560bcd770d698319007e3417a7f7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.11

Release files / rer_newsletter-3.2.0-py3-none-any.whl

Download URL rer_newsletter-3.2.0-py3-none-any.whl
Size 3.2 MB
Tags Python 3
SHA-256 checksum
How to use checksums
ee44a28f340107a9a97e39a449951873873e91c2f3bdcb5bda1986dc11756c36
BLAKE2b-256 checksum
How to use checksums
aa3e3c99561fd39367b88646882b3483258e1ee0dafce070635bfdda9c0380bf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.11.11

Security for rer.newsletter 3.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

3.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page