GNU Mailman¶

Presentation¶
Mailman is free software for managing electronic mail discussion and e-newsletter lists. Mailman is integrated with the web, making it easy for users to manage their accounts and for list owners to administer their lists. Mailman supports built-in archiving, automatic bounce processing, content filtering, digest delivery, spam filters, and more.
Mailman uses django-allauth for external authentication. And as of version 0.49, django-allauth is compatible with LemonLDAP::NG
First, make sure you have set up LemonLDAP::NG ‘s OpenID Connect service and added a Relaying Party for your Mailman instance
Mailman can use the following OpenID Connect attributes to fill the user’s profile:
name
email
preferred_username
Make sure you create a Client ID and a Client Secret for the Relying Party, and
that the mailman callback URL is allowed : https://mailman.example.com/accounts/lemonldap/login/callback/
Mailman configuration¶
Note
Make sure you are using at least version 0.49 of django-allauth
Provider activation¶
In the Mailman config (settings.py), enable the LemonLDAP::NG provider:
INSTALLED_APPS = [
'allauth',
'allauth.account',
'allauth.socialaccount',
'allauth.socialaccount.providers.lemonldap',
]
SOCIALACCOUNT_PROVIDERS = {
'lemonldap': {
'LEMONLDAP_URL': 'https://auth.example.com',
},
}
Provider configuration¶
Browse to Mailman django administration, then add a new Social application
Provider: LemonLDAP::NG
Name: pick one
Client id: must match the Client ID set in LemonLDAP::NG
Secret key: must match the Client Secret set in LemonLDAP::NG
Sites: choose which Mailman site can use LemonLDAP::NG
You should then be able to login on your Mailman site using LemonLDAP::NG