Skip to main content

Powerful newsletter/mailing addon for Plone

Project description

Products.EasyNewsletter

CI codecov PyPI PyPI Status Python Versions License

EasyNewsletter is a simple but powerful newsletter/mailing add-on for Plone.

Features

  • Plain text and HTML newsletters (including images)
  • Manual written newsletters/mailings
  • Automatic Plonish newsletters/mailings: Utilize Plone's Collections to collect content
  • Send out daily/weekly/monthly issues automatically, based on collections (by cron or clock-server)
  • Flexible templates for Collections, to generate newsletter content
  • TTW customizable output template to generate HTML newsletters
  • Personalized emails
  • Subscribing/unsubscribing
  • Import/export subscribers via CSV
  • Use Plone Members/Groups as receivers (works also with Membrane)
  • External subscriber filtering/manipulation with plugins (filter out or add more subscribers)

Requirements

  • Python 3.10+
  • Plone 6.1.1

Installation

Install dependencies using uv:

uv sync --extra dev

Running

Start the Plone instance:

invoke start

Or run directly:

runwsgi instance/etc/zope.ini

The initial admin user is configured in instance/inituser (default: admin/admin).

Development

Running Tests

uv run pytest

Tasks

Use invoke for common tasks:

uv run invoke --list

Releasing

The project uses zest.releaser for releases. The build backend is hatchling — no setup.py is needed.

To do a full release:

uv run fullrelease

This will:

  1. Update the version in pyproject.toml
  2. Update CHANGES.rst
  3. Tag the release in git
  4. Build an sdist and wheel
  5. Upload to PyPI via twine

Release configuration is in pyproject.toml under [tool.zest-releaser].

Documentation

For more documentation please visit: http://productseasynewsletter.readthedocs.io

Known Issues

  • If parts of the ENLIssue footer show up in the Plone footer, change the footer portlet view name from footer to @@footer. This issue was fixed in Plone already, but you have to manually update this in an existing site.

Translations

translation status

Please help us to improve translations with Weblate: https://hosted.weblate.org/engage/products-easynewsletter/

Source Code

https://github.com/collective/Products.EasyNewsletter

Bug Tracker

https://github.com/collective/Products.EasyNewsletter/issues

ToDo

Funding welcome ;)

  • Async task queue for Plone > 5.2, as an alternative to collective.taskqueue which will not support WSGI
  • Integration of Mosaico newsletter editor
  • External subscriber sources / delivery services
  • convert robot tests with playwright based E2E tests

Maintainer

Contributors

  • Kai Dieffenbach: initial release
  • Andreas Jung
  • Dinu Gherman
  • Jens W. Klein
  • Peter Holzer
  • Philip Bauer
  • Thomas Massman [tmassmann]
  • Timo Stollenwerk

License

GPL-2.0-or-later

Project details


Release history Release notifications | RSS feed

This version

6.0.0

Download files

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

Source Distribution

products_easynewsletter-6.0.0.tar.gz (530.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

products_easynewsletter-6.0.0-py3-none-any.whl (420.7 kB view details)

Uploaded Python 3

File details

Details for the file products_easynewsletter-6.0.0.tar.gz.

File metadata

  • Download URL: products_easynewsletter-6.0.0.tar.gz
  • Upload date:
  • Size: 530.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.2

File hashes

Hashes for products_easynewsletter-6.0.0.tar.gz
Algorithm Hash digest
SHA256 88ee20acaa030cefc15da95579e9a78003dc1db0a4b57e0c6425aede6bf8d7fb
MD5 5bbdec96c20eb6f3cff7ce8cd680290a
BLAKE2b-256 555303d18a71a8b41f7e247d64aec13325655589294de653330c804a00aadf34

See more details on using hashes here.

File details

Details for the file products_easynewsletter-6.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for products_easynewsletter-6.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 87c9e160714fa3fdec0ec6230f26d9c76d2613debcec20b930e337baf26489c2
MD5 8835a2f8c92412851fa88e8a13fb4cae
BLAKE2b-256 7559e0603c6c66c025713fc04da2c9a94e8b0e96b349f2f58ea8d996478ac3a5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page