News / Changelog

The Postorius Django app provides a web user interface to access GNU Mailman.

Postorius is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, version 3 of the License.

Postorius is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.

You should have received a copy of the GNU Lesser General Public License along with Postorius. If not, see <>.


(XXXX-XX-XX) * Postorius now runs only on Python 3.4+ and supports Django 1.8 and 1.11+ * Added the ability to set and edit alias_domain to the domains forms.



  • Added a new reset_passwords command that resets _all_ user’s passwords inside of Core. This password is different from the one Postorius maintains and is used for logging users in.
  • Postorius now sets the ‘Display Name’ of the user in Core correctly. This fixes a security vulnerability where user’s display_name would be set as their Core’s password.



  • Improved testing and internal bug fixes.
  • Preserve formatting of Mailing List description in the summary view.
  • Site’s Name isn’t capitalized anymore in the navigation bar.
  • html5shiv and response.js libraries are now included, instead of loading from a CDN.

1.1.0 – “Welcome to This World”


  • Added DMARC mitigation settings
  • Switch to Allauth auth library
  • Preference page improvements
  • Moderation page improvements
  • Django support up to Django 1.11
  • Added form to edit header matches
  • Domain edit form improvements
  • All pipelines recognized in alter messages form
  • Use django-mailman3 to share common code with HyperKitty
  • Various bug fixes, code cleanup, and performance improvements



  • Fix security issue



  • Bug fix release



  • Help texts Small visual alignment fix; removed unnecessary links to

separate help pages. * Import fix in fieldset_forms module (Django1.6 only)

1.0.0 – “Frizzle Fry”


  • French translation. Provided by Guillaume Libersat
  • Addedd an improved test harness using WebTest. Contributed by Aurélien Bompard.
  • Show error message in login view. Contributed by Aurélien Bompard (LP: 1094829).
  • Fix adding the a list owner on list creation. Contributed by Aurélien Bompard (LP: 1175967).
  • Fix untranslatable template strings. Contributed by Sumana Harihareswara (LP: 1157947).
  • Fix wrong labels in metrics template. Contributed by Sumana Harihareswara (LP: 1409033).
  • URLs now contain the list-id instead of the fqdn_listname. Contributed by Abhilash Raj (LP: 1201150).
  • Fix small bug moderator/owner forms on list members page. Contributed by Pranjal Yadav (LP: 1308219).
  • Fix broken translation string on the login page. Contributed by Pranjal Yadav.
  • Show held message details in a modal window. Contributed by Abhilash Raj (LP: 1004049).
  • Rework of internal testing
  • Mozilla Persona integration: switch from django-social-auto to django-browserid: Contributed by Abhilash Raj.
  • Fix mmclient command for non-IPython shells. Contributed by Ankush Sharma (LP: 1428169).
  • Added archiver options: Site-wide enabled archivers can not be enabled

on a per-list basis through the web UI. * Added functionality to choose or switch subscription addresses. Contributed by Abhilash Raj. * Added subscription moderation, pre_verification/_confirmation. * Several style changes.

1.0 beta 1 – “Year of the Parrot”


  • fixed pip install (missing MANIFEST) (LP: 1307624). Contributed by Aurélien Bompard
  • list owners: edit member preferences
  • users: add multiple email addresses
  • list info: show only subscribe or unsubscribe button. Contributed by Bhargav Golla
  • remove members/owners/moderator. Contributed by Abhilash Raj

1.0 alpha 2 – “Is It Luck?”


  • dev setup fix for Django 1.4 contributed by Rohan Jain
  • missing csrf tokens in templates contributed by Richard Wackerbarth (LP: 996658)
  • moderation: fixed typo in success message call
  • installation documentation for Apache/mod_wsgi
  • moved project files to separate branch
  • show error message if connection to Mailman API fails
  • added list members view
  • added developer documentation
  • added test helper utils
  • all code now conform to PEP8
  • themes: removed obsolete MAILMAN_THEME settings from templates, contexts, file structure; contributed by Richard Wackerbarth (LP: 1043258)
  • added access control for list owners and moderators
  • added a mailmanclient shell to use as a command (python mmclient)
  • use “url from future” template tag in all templates. Contributed by Richard Wackerbarth.
  • added “new user” form. Contributed by George Chatzisofroniou.
  • added user subscription page
  • added decorator to allow login via http basic auth (to allow non-browser clients to use API views)
  • added api view for list index
  • several changes regarding style and navigation structure
  • updated to jQuery 1.8. Contributed by Richard Wackerbarth.
  • added a favicon. Contributed by Richard Wackerbarth.
  • renamed some menu items. Contributed by Richard Wackerbarth.
  • changed static file inclusion. Contributed by Richard Wackerbarth.
  • added delete domain feature.
  • url conf refactoring. Contributed by Richard Wackerbarth.
  • added user deletion feature. Contributed by Varun Sharma.

1.0 alpha 1 – “Space Farm”


Many thanks go out to Anna Senarclens de Grancy and Benedict Stein for developing the initial versions of this Django app during the Google Summer of Code 2010 and 2011.

  • add/remove/edit mailing lists
  • edit list settings
  • show all mailing lists on server
  • subscribe/unsubscribe/mass subscribe mailing lists
  • add/remove domains
  • show basic list info and metrics
  • login using django user account or using BrowserID
  • show basic user profile
  • accept/discard/reject/defer messages
  • Implementation of Django Messages contributed by Benedict Stein (LP: #920084)
  • Dependency check in contributed by Daniel Mizyrycki
  • Proper processing of acceptable aliases in list settings form contributed by Daniel Mizyrycki