Skip to main content
Help us improve Python packaging – donate today!

MailChimp integration for Plone.

Project Description


MailChimp integration for Plone.

MailChimp helps you design email newsletters, share them on social networks, integrate with services you already use, and track your results.

collective.mailchimp has been written from the scratch in order to replace raptus.mailchimp for newer versions of Plone (> 4.0).

The difference between collective.mailchimp and raptus.mailchimp is:

  • postmonkey instead of greatape as Python wrapper (because greatape is completely untested, does not support the latest MailChimp API version and seems to be not actively developed any longer)
  • z3c.form instead of formlib for forms (because formlib is deprecated)
  • instead of portal_properties for storing properties (because portal_properties will be deprecated soon)
  • it is tested by automated software tests (because untested code is broken code)

collective.mailchimp is tested on Plone 4.x and should work on Plone > 3.3 (with the appropriate version pins for and z3c.form).


Just add collective.mailchimp to the eggs section of your buildout.

Multiple MailChimp Lists

collective.mailchimp supports multiple MailChimp lists. The MailChimp portlet allows administators to choose a MailChimp list from a dropdown list for each portlet. The MailChimp newsletter view (@@newsletter) allows to provide a list_id (see your MailChimp account) as optional URL parameter:


If no URL parameter is provided the form just chooses the first MailChimp list available (which is fine as long as you have just one list anyway).

Preselect Interest Groups

collective.mailchimp supports MailChimp’s interest groups. In case there is more than one single group you might want to pre-select some of the groups. To do so add one or more ‘preselect_group’ parameters to the URL that points to your MailChimp newsletter form. For instance to select the first and the fifth group entry use the following link:


Extend Newsletter Subscription Form

The collective.mailchimp newsletter form (used in the separate view as well as in the portlet) can be extended without touching the code of collective.mailchimp.

Issue Tracker

Please report bugs to the issue tracker on github.


1.3.1 (2013-03-03)

  • Fix broken group subscription which has been introduced in 1.3.0. [timo]

1.3.0 (2013-03-03)

  • Add option to preselect interest groups in the newsletter form. [timo]

1.2.1 (2013-02-13)

  • Fix 1.2.0 upgrade step. [timo]

1.2.0 (2013-02-13)

  • Make newsletter view not fail if no default_list has been selected. [timo]
  • German translation updated. [timo]
  • Styles for newsletter subscription form added. [timo]

1.1.1 (2013-02-01)

  • Fix mailchimp control panel which fails if no valid MailChimp API key has been provided. [timo]

1.1.0 (2013-01-23)

  • Dutch translation added. [sjoerdve]
  • Make NewsletterForm extendable. [timo]
  • Use MailChimp list settings from the control panel. Note: You have to reinstall collective.mailchimp, otherwise you will end up with a “KeyError: ‘Interface .. defines a field .., for which there is no record.’” [timo]
  • Support for MailChimp interest groups added. For now this feature only works with one single list. [timo]
  • Email type option added. [timo]
  • Rename AvailableListsVocabulary to AvailableLists. [timo]
  • Add fieldsets to MailChimp control panel. [timo]
  • Add a MailchimpLocator utility to encapsulate all MailChimp API calls. [timo]
  • Allow multiple lists for newsletter view; add mailchimp locator to encapsulate api calls. [timo]
  • Add new default_list setting to allow administrators to choose their default MailChimp list for the @@newsletter view. [timo]
  • Add email_type_is_optional setting to allow administrators to choose if they want to allow users to choose their own email_type. [timo]
  • Make README and CHANGES .rst files. [timo]

1.0.3 (2012-12-05)

  • Missing .mo files added. [timo]

1.0.2 (2012-12-05)

  • Raise a more specific error when an email has been already subscribed to a newsletter. [timo]
  • German translations updated. [timo]

1.0.1 (2012-10-28)

Fix to include readme and changelog. [jone]

1.0 (2012-10-17)

  • Initial release [timo]

Release history Release notifications

History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


This version
History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


History Node


Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date (60.3 kB) Copy SHA256 hash SHA256 Source None Mar 3, 2013

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page