Newsletter & Mailing for Plone

Maik Derstappen

...

PloneConf - 2017 - Barcelona

What can we do with it?

Sending emails to

  • individual Newsletter subscribers
  • Plone users and groups
  • also LDAP/AD users/groups
  • external user sources

Creating email content

  • manually with Plone UI
  • automatically aggregated from Plone content

Using different layouts

  • Output templates
  • Aggregation templates

Customize it!

  • provide your own templates
  • personalize emails with placeholders
  • filter or extend subscribers, user and groups with your addon

Automate it

  • weekly/daily mailings automatically

Scaling

  • optional async generation and sending of emails
  • using external delivery services

Version 3 runs on

Plone 4.3, Plone 5.0, Plone 5.1

Demo

Creating email content manually

Automatically aggregate content with Collections

Changing output template

A quick look into the registry entries

Customize email content

def enl_personalize(event):
    edc = event.data['context']
    event.data['html'] = event.data['html'].replace('PHP', 'Python')
    firstname = edc['receiver'].get('firstname')
    lastname = edc['receiver'].get('lastname')
    if not firstname and not lastname:
        edc['SUBSCRIBER_SALUTATION'] = u'Dear {0}'.format(
            edc['receiver']['email']
        )

Customize email content

<subscriber
 for="Products.EasyNewsletter.interfaces.IBeforePersonalizationEvent"
 handler=".subscribers.enl_personalize"
 />

Docs

http://productseasynewsletter.readthedocs.io

The future

  • migration to Dexterity
  • providing a behavior for collections to set aggregation templates on collections
  • this means dropping Plone 4 support
  • and more...

Mosaico Editor integration

Thank You!

Maik Derstappen - Derico

md@derico.de

Slides are online: https://2017.ploneconf.org/talks/newsletter-mailing-for-plone