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.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]

Release files for rer.newsletter 3.1.6

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.1.6
File Size Uploaded
rer_newsletter-3.1.6.tar.gz 1.8 MB Details

Built distribution (wheel)

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

Total release size: 4.9 MB

Release files / rer_newsletter-3.1.6.tar.gz

Download URL rer_newsletter-3.1.6.tar.gz
Size 1.8 MB
Tags Source
SHA-256 checksum
How to use checksums
a4140692052ee2ae14f71c71cc84508c840933f993eb85008eae70b8c7ab3ca1
BLAKE2b-256 checksum
How to use checksums
3202402e4b0cec1906fc6b1119c73386913ffa08af02bc1aaa168aec8b78c6e5
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.1.6-py3-none-any.whl

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

Release history Release notifications | RSS feed

This release

3.1.6 This release

2 release files

3.1.5

2 release files

3.1.4

2 release files

3.1.3

2 release files

3.1.2

2 release files

3.1.1

2 release files

3.1.0

2 release files

3.0.2

2 release files

3.0.1

1 release file

3.0.0

1 release file

1.3.1

2 release files

1.3.0

1 release file

1.2.0

1 release file

1.1.2

1 release file

1.1.1

1 release file

1.1.0

1 release file

1.0.7

1 release file

1.0.6

1 release file

1.0.5

1 release file

1.0.4

1 release file

1.0.3

1 release file

1.0.2

1 release file

1.0.1

1 release file

1.0.0

1 release file

0.4.0

1 release file

0.3.1

1 release file

0.3.0

1 release file

0.2.0

1 release file

0.1.12

1 release file

0.1.11

1 release file

0.1.10

1 release file

0.1.9

1 release file

0.1.8

1 release file

0.1.7

1 release file

0.1.6

1 release file

0.1.5

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

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