Mailman - The GNU Mailing List Management System packaged for YunoHost.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
decentral1se f97a6bd265
Merge pull request #15 from YunoHost-Apps/alexAubin-patch-1
1 month ago
conf Full pass after a new installation 1 month ago
scripts Full pass after a new installation 1 month ago
.gitignore Bootstrapping mailman3 package 1 month ago
LICENSE Bootstrapping mailman3 package 1 month ago
README.md Full pass after a new installation 1 month ago
README_fr.md Bootstrapping mailman3 package 1 month ago
check_process.default Full pass after a new installation 1 month ago
manifest.json Improve description, don't just say it's "$app for Yunohost" which is implicit 1 month ago
pull_request_template.md Bootstrapping mailman3 package 1 month ago

README.md

Mailman3 for YunoHost

Integration level Install Mailman3 with YunoHost

Lire ce readme en français.

This package allow you to install Mailman3 quickly and simply on a YunoHost server.

If you don’t have YunoHost, please see here to know how to install and enjoy it.

Status

Experimental.

Please review the issues list before choosing to install this application.

There is also a community forum thread for this application.

Overview

This is GNU Mailman, a mailing list management system distributed under the terms of the GNU General Public License (GPL) version 3 or later. Mailman is written in Python which is available for all platforms that Mailman is supported on, including GNU/Linux and most other Unix-like operating systems (e.g. Solaris, *BSD, MacOSX, etc.).

http://docs.mailman3.org/en/latest/userguide.html

Shipped version: 3.2.0

Screenshots

Demo

No user/password is provided, so you must sign up.

Post-installation steps

Setup Admin User

You must configure the admin user:

$ cd /usr/share/mailman3-web
$ python3 manage.py createsuperuser

You should then attempt to log in with this user account in the web UI. Once you’ve logged in, a confirmation mail will be sent to your email address that you specified. Therefore, you should have something like Rainloop installed to view mail on your YunoHost installation.

Setup your main domain

You’ll need to log in as administrator and visit the /admin/site/site.

If you’re Mailman3 is setup on https://myyunohost.org then that would be the following:

https://myyunohost.org/admin/site/site

Configure incoming mail

Mailman3 implements an LMTP server for receiving mail from Postfix. This means that Mailman3 doesn’t need anything from Dovecot. This is important to understand because Dovecot is the default YunoHost local delivery agent. Therefore, the default YunoHost Postfix configuration uses Dovecot. So, in order to deliver incoming mail, we need to override which delivery agent handles which mails based on the addresses. In other words, if you create a mailing list “mylist@myyunohost.org” you want Mailman3’s LMTP server to receive this, not Dovecot, becaues Dovecot only delivers to LDAP created user accounts.

You’ll need to add this to your Postfix configuration:

owner_request_special = no

transport_maps =
  hash:/var/lib/mailman3/data/postfix_lmtp

local_recipient_maps =
  hash:/var/lib/mailman3/data/postfix_lmtp

virtual_mailbox_maps = ldap:/etc/postfix/ldap-accounts.cf, hash:/var/lib/mailman3/data/postfix_lmtp

And then run:

$ sudo -su list mailman aliases

This is unfortunately a manual step at this point because the package remains experimental. Once it matures, this will be integrated into a hook or the default Postfix configuration. For now, remember that when you run yunohost tools regen-conf postfix or if any installation invokes regen-conf, your Postfix configuration will not be changed because it has diverged from the default configuration. This may cause you problems if YunoHost core expects that there is some new value in your Postfix configuration.

Configure outgoing mail

Postfix relies on using SMTP which should be configured in your /etc/postfix/main.cf.

You should make sure that you have outgoing mail working before getting started with Mailman 3.

General Configuration

Mailman 3 or “The Mailman Suite” is made up of 5 moving parts. See the following documentation for more:

http://docs.mailman3.org/en/latest/index.html#the-mailman-suite

On your YunoHost, all the configuration files you need to worry about are in:

  • /etc/mailman3/
  • /usr/share/mailman3-web/

The services you need to manage can be checked with:

  • systemctl status mailman3
  • systemctl status mailman3-web

It is important to note that this package makes use of the mailman3-full Debian package contained in the Debian Stretch backports repository. The default installation assumes the use of a SQLite3 database but the installation script overrides this and uses a PostgreSQL database instead.

Finally, you also configure things through the Django web admin available at /admin/.

YunoHost specific features

Multi-users support

  • No LDAP support yet (apparently under development)
  • Users can also just sign up themselves to manage details
  • Users can use mailing lists without signing up

Supported architectures

  • x86-64b - Build Status
  • ARMv8-A - Build Status

Limitations

  • Migrating from Mailman 2.X is not officially supported, sorry. However, there is a manual and which details an experimental process. Please see the documentation.

  • Mailman3 must be configured to use a root domain (https://myyunohost.org and not https://myyunohost.org/mailman3).

  • You must have a HTTPS certificate installed on the root domain.

  • There may be only one installation per YunoHost.

Mirroring

Links


Developers info

Only if you want to use a testing branch for coding, instead of merging directly into master.

Please make your pull request against the testing branch.

To try the testing branch:

$ yunohost app install https://github.com/YunoHost-Apps/mailman3_ynh/tree/testing --debug

Or to upgrade from the testing branch:

$ yunohost app upgrade mailman3 -u https://github.com/YunoHost-Apps/mailman3_ynh/tree/testing --debug