Mailman

Z Milan Kerslager
Přejít na: navigace, hledání

Mailman je sada skriptů, které umožňují provozovat elektronickou konferenci. Elektronická konference slouží k opakovanému rozesílání e-mailů na daný okruh e-mailových adres, které představují její členy. Vše je maximálním způsobem automatizováno, takže členové mohou využít webové stránky, pomocí kterých se mohou do konferencí přihlásit, odhlásit nebo samotnou konferenci řídit a nastavovat její chování. Distribuce e-mailu probíhá tak, že příspěvek je zaslán na e-mailovou adresu konference a výše zmíněný skript jej rozešle. Zároveň zajišťuje archivaci příspěvků, kontrolu úspěšnosti doručování a podobně.

Instalace

Před instalací Mailmanu je potřeba zajistit, aby byl server schopen přijímat elektronickou poštu, viz Konfigurace poštovního uzlu.

Mailman nainstalujeme:

$ yum install mailman

Základní konfigurace je uložena v souboru /etc/mailman/mm_cfg.py. V tomto souboru je potřeba správně nastavit doménové jméno WWW serveru, na kterém je Mailman spuštěn, aby jeho WWW rozhraní správně fungovalo. Dále je potřeba nastavit doménu, která bude přidávána za do mailové adresy (za znak zavináč), URL webového rozhraní konference a implicitní jazyk rozhraní. Na konci souboru nalezneme řádky, kde se stejné proměnné nastavují a tuto část upravíme podle příkladu níže. Příkaz add_virtualhost, který je v konfiguračním souboru umístěn, musí následovat až za našimi úpravami.

DEFAULT_URL_HOST   = 'www.domena.cz'
DEFAULT_EMAIL_HOST = 'domena.cz'
DEFAULT_URL_PATTERN = 'https://%s/mailman/'
DEFAULT_SERVER_LANGUAGE = 'cs'

Dále je třeba založit systémovou konferenci s názvem mailman. Budete požádáni o vložení e-mailové adresy správce systému (uveďte svoji emailovou adresu nebo například postmaster@domena.cz) a heslo pro tuto konferenci.

/usr/lib/mailman/bin/newlist mailman

Po založení konference budete požádáni o založení příslušných aliasů do souboru /etc/aliases, které umožní vyvolat po příchodu e-mailů na tyto adresy příslušné automatické skripty:

## mailman mailing list
mailman:              "|/usr/lib/mailman/mail/mailman post mailman"
mailman-admin:        "|/usr/lib/mailman/mail/mailman admin mailman"
mailman-bounces:      "|/usr/lib/mailman/mail/mailman bounces mailman"
mailman-confirm:      "|/usr/lib/mailman/mail/mailman confirm mailman"
mailman-join:         "|/usr/lib/mailman/mail/mailman join mailman"
mailman-leave:        "|/usr/lib/mailman/mail/mailman leave mailman"
mailman-owner:        "|/usr/lib/mailman/mail/mailman owner mailman"
mailman-request:      "|/usr/lib/mailman/mail/mailman request mailman"
mailman-subscribe:    "|/usr/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe:  "|/usr/lib/mailman/mail/mailman unsubscribe mailman"

Na webovém administrativním rozhraní konference zkontrolujte, zda je správně nastavena (zde https://www.domena.cz/mailman/listinfo). Můžete vyplnit položky destription, info a další.

Spustíme Mailman a zajistíme jeho automatické spouštění po startu serveru:

$ chkconfig mailman on
$ /etc/init.d/mailman start

Dále nastavíme globální hesla, která slouží ke správě Mailmanu. První heslo je možné použít místo jakéhokoliv jiného hesla (včetně uživatelských), je to tedy obdoba hesla roota, avšak platného jen pro Mailman:

$ /usr/lib/mailman/bin/mmsitepass

Dále je možné (ale není to nutné) nastavit heslo, s pomocí kterého je možné zakládat konference:

$ /usr/lib/mailman/bin/mmsitepass -c

Testování

Systém lze otestovat založením konference a zasláním e-mailu na její adresu. Mail by měl následně přijít všem členům konference. V tomto případě máme založenu konferenci mailman@domena.cz, jejímž správcem je postmaster@domena.cz, avšak nemá žádné členy. Proto je nutné nejprve nějaké členy do konference zanést. Vložení členů lze provést v administrativním rozhraní konference nebo zasláním mailu na adresu mailman-subscribe@domena.cz.

Další informace

Další informace naleznete na stránkách projektu Mailman: http://www.gnu.org/software/mailman/