Mailman kasutamine Postfixi ja Debianiga

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti

Sissejuhatus

Mailman (ingl. k. postiljon) http://www.list.org/ on postiloendite (ingl. k. list) pidamise tarkvara; Mailman on programmeeritud Python keeles.

Järgnevas kirjaldatakse sellise eesmärgi saavutamist

  • ühe Mailman eksempari abil peetakse kolme domeeniga seotud postiloendeid, @lists.loomaaed.tartu.ee, @lists.vagunitehas.tartu.ee, @lists.raudteejaam.tartu.ee
  • MTAna kasutatakse Postfixi, kusjuures mainitud domeene kasutatakse ainult eposti jaoks
  • postiloendite haldusliidesed sh arhiivid on ligipääsetavad aadressidelt https://lists.loomaaed.tartu.ee/listinfo ja /admin, https://lists.vagunitehas.tartu.ee/listinfo ja /admin jne

Postiloendi domeeninimi ja haldusliidese urlis kasutatud domeeninimi ei pea tingimata kokku langema, mõnel juhul on isegi sobivam neid hoida erinevatena (nt https sertifikaadi kasutamise kaalutlusel). Sellist juhtumit on kirjeldatud tekstis juhtides sellele spetsiifiliselt tähelepanu.

Kirjeldatud moel kasutusel on üks märkimisväärne piirang, listide nimede vasakud pooled peavad olema unikaalsed, st aadressidele info@lists.loomaaed.tartu.ee ja info@lists.vagunitehas.tartu.ee saadetud kirjad jõuavad välja ühte ja samasse listi.

Mailman tarkvara paigaldamine

Tarkvara paigaldamiseks tuleb öelda

 # apt-get install mailman

Seejärel küsitakse, millistes keeltes soovitakse, et Mailman oleks võimeline kasutajaga suhtlema, eriti puudutab see valik, millistes keeltes saab saata kasutajatele automaatselt genereeritud kirju (nt teated listiga liitumise kohta)

Fail:Mailman-2.gif

Seejärel küsib installer vaikekeelt, võiks valida en.

Lisaks mailman paketile paigaldatakse automaatlselt ka Apache veebiserver, kuna tavaliselt toimub Mailmani haldamine üle veebiliidese. Paigaldamise käigus tuleb valida kasutatavad lokaadid, mis tähendab seda, millistes keeltes on võimalik mailmani kasutajaliidest tööle lülitada.

Seejärel teatab installer, et

 Missing site list

 Mailman needs a so-called "site list", which is the list from which password reminders and such 
 are sent out from.  This list needs to be created before mailman will start. To create the list, run
 "newlist mailman" and follow the instructions on-screen. Note that you also need to start mailman after
 that, using /etc/init.d/mailman start.

Mailmani seadistamine

Mailmani listihalduse tarkvara esineb arvutis töötava deemoni kujul ning oluliseks seadistusfailiks on /etc/mailman/mm_cfg.py. Selles tuleks teha sellised muudatused

MAILMAN_SITE_LIST = 'mailman'
DEFAULT_URL_PATTERN = 'https://%s/'
PRIVATE_ARCHIVE_URL = '/private'
IMAGE_LOGOS         = '/images/mailman/'
DEFAULT_EMAIL_HOST = 'lists.loomaaed.tartu.ee'
DEFAULT_URL_HOST   = 'lists.loomaaed.tartu.ee'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
DEFAULT_SERVER_LANGUAGE = 'en'
USE_ENVELOPE_SENDER    = 0              # Still used?
DEFAULT_SEND_REMINDERS = 0
MTA=None
DEB_LISTMASTER = 'listmaster@lists.loomaaed.tartu.ee'

kus

  • DEFAULT_URL_PATTERN, PRIVATE_ARCHIVE_URL ja IMAGE_LOGOS on olulised seada õigeks enne listide tekitamist, et veebipõhine haldusliides töötaks
  • MTA=None - tulemusena ei genereeri Mailman listide loomisel alias faile (eeldusel, et kasutatakse postfix-to-mailman.py skripti, allpool on selle skripti kasutamist selgitatud)
  • DEB_LISTMASTER - postfix-to-mailman.py skript kasutab selle muutuja väärtust, kuhu saata nö süsteemsed teated

Kui Mailman on seadistatud, siis tuleb tekitada esimene list

# newlist mailman mart@loomaaed.tartu.ee parool

Seejärel saab listserveri deemoni käivitada

# /etc/init.d/mailman start

Mailman üldparooli seadmiseks sobib öelda

# mmsitepass parool
Password changed.

Lisaks võib olla mõttekas kasutada selliseid parameetreid, ideid saab failist /usr/lib/mailman/Mailman/Defaults.py

PUBLIC_ARCHIVE_URL = 'https://%(hostname)s/pipermail/%(listname)s/'
REMOVE_DKIM_HEADERS = Yes
DEFAULT_ARCHIVE = Off
DEFAULT_ARCHIVE_PRIVATE = 1
DEFAULT_SUBSCRIBE_POLICY = 3

kus

  • PUBLIC_ARCHIVE_URL - avalikus kasutamiseks seadistatud arhiivi aadress
  • REMOVE_DKIM_HEADERS - listi sisenenud kirjadelt eemaldakse edasisaatmisel DKIM päis
  • DEFAULT_ARCHIVE - vaikimisi on uue moodustatud listi arhiveerimine välja lülitatud
  • DEFAULT_ARCHIVE_PRIVATE - vaikimisi on uue moodustatud listi arhiiv privaatne
  • DEFAULT_SUBSCRIBE_POLICY = 3 - kui uus kasutaja püüab end listi liikmeks lisada, siis nõutakse kinnitust temalt endale ja listi administraatorilt

Apache veebiserveri seadistamine

Ülidselt tuleb veebiserver seadistada käima aadressidel

tavalisel moel. Mailmanile spetsiifilise osa kohta on toodud näide failis

 /etc/mailman/apache.conf

Kokkuvõttes võiks olla lists.loomaaed.tartu.ee virtuaalhosti seadistusfail nt sellise sisuga

 <VirtualHost 10.0.6.221:443>
   ServerName  lists.loomaaed.tartu.ee
   ServerAdmin mart@loomaaed.tartu.ee
   DocumentRoot /srv/www
   ErrorLog     /var/log/apache2/lists.loomaaed.tartu.ee-ssl-error.log
   TransferLog  /var/log/apache2/lists.loomaaed.tartu.ee-ssl-access.log
 
   SSLEngine on
   SSLCertificateFile /etc/apache2/serdid/lists.loomaaed.tartu.ee-200706-200906.crt
   SSLCertificateKeyFile /etc/apache2/serdid/lists.loomaaed.tartu.ee-200706-200906.key
   SSLCACertificateFile /etc/apache2/serdid/ca-sk.crt

   AddDefaultCharset "utf-8"

   <Directory /srv/www>
     Options All
     AllowOverRide None
     Order Allow,Deny
     Allow from All
   </Directory>
   
   RewriteEngine On
   RewriteRule ^/$ https://lists.loomaaed.tartu.ee/listinfo [R]
 
   Alias /pipermail/ /var/lib/mailman/archives/public/
   Alias /images/mailman/ /usr/share/images/mailman/
   ScriptAlias / /usr/lib/cgi-bin/mailman/
  
   <Directory /usr/lib/cgi-bin/mailman/>
     AllowOverride None
     Options ExecCGI
     AddHandler cgi-script .cgi
     Order allow,deny
     Allow from all
   </Directory>
 
   <Directory /var/lib/mailman/archives/public/>
     Options Indexes FollowSymlinks
     AllowOverride None
     Order allow,deny
     Allow from all
   </Directory>
  
   <Directory /usr/share/images/mailman/>
     AllowOverride None
     Order allow,deny
     Allow from all
   </Directory>
 
 </VirtualHost>

kus

  • Apache v. 2.4 puhul tuleb asendada
Order allow,deny
Allow from all

reaga

Require all granted
  • selleks, et arhiivi attachmentide utf-8 oleks korras on vajalik kasutada rida
AddDefaultCharset "utf-8"

Kontrolliks sobib proovida logida sisse veebipõhisesse haldusliidesesse kasutades mailman listi parooli, kasutajanime ei pea sisestama.

Fail:Mailman-1.gif

Postfixi seadistamine

Kui kogu domeeni eposti kasutus on seotud postiloendiga ja ainult postiloendiga, siis saab seadistada Postfixi käima lihtsustatud kujul ja otsekohesemalt. Muu hulgas tähendab see seda, et ei pea kasutama aliases'eid.

Sellisel juhul tuleb

  • kasutada /etc/postfix/main.cf failis
 relay_domains = ... lists.loomaaed.tartu.ee, lists.vagunitehas.tartu.ee, lists.raudteejaam.tartu.ee
 transport_maps = hash:/etc/postfix/transport
 mailman_destination_recipient_limit = 1
  • kasutada /etc/postfix/master.cf failis
 mailman unix  -       n       n       -       -       pipe
 flags=FR user=list 
 argv=/var/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${mailbox}
  • kasutada /etc/postfix/transport failis
 lists.loomaaed.tartu.ee     mailman:
 lists.vagunitehas.tartu.ee  mailman:
 lists.raudteejaam.tartu.ee  mailman:
  • kasutada /etc/mailman/mm_cfg.py failis
 MTA = None # No MTA alias processing required
 DEB_LISTMASTER = 'postmaster@loomaaed.tartu.ee'

ning lisaks olemasolevatele ridadele

 # Default domain for email addresses of newly created MLs
 DEFAULT_EMAIL_HOST = 'lists.loomaaed.tartu.ee'
 #-------------------------------------------------------------
 # Default host for web interface of newly created MLs
 DEFAULT_URL_HOST   = 'lists.loomaaed.tartu.ee'
 #-------------------------------------------------------------
 # Required when setting any of its arguments.
 add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)

kaks rida

 add_virtualhost('lists.vagunitehas.tartu.ee','lists.vagunitehas.tartu.ee')
 add_virtualhost('lists.raudteejaam.tartu.ee','lists.raudteejaam.tartu.ee')

Mailmani haldamine

  • Listimootori adminstraatori parooli muutmiseks tuleb öelda
# mmsitepass uusparool
  • Listimootori listide creatori parooli muutmiseks/tekitamiseks tuleb öelda
# mmsitepass -c uusparool

Olulised failid asuvad kataloogis /var/lib/mailman

 lrwxrwxrwx  1 root root   24 Feb 10 09:53 Mailman -> /usr/lib/mailman/Mailman
 drwxrwsr-x  4 root list 4096 Feb 10 09:53 archives
 lrwxrwxrwx  1 root root   20 Feb 10 09:53 bin -> /usr/lib/mailman/bin
 lrwxrwxrwx  1 root root   24 Feb 10 09:53 cgi-bin -> /usr/lib/cgi-bin/mailman
 lrwxrwxrwx  1 root root   21 Feb 10 09:53 cron -> /usr/lib/mailman/cron
 drwxrwsr-x  2 root list 4096 Feb 10 22:58 data
 lrwxrwxrwx  1 root root   25 Feb 10 09:53 icons -> /usr/share/images/mailman
 drwxrwsr-x  5 root list 4096 Feb 11 01:04 lists
 lrwxrwxrwx  1 root root   17 Feb 10 09:53 locks -> /var/lock/mailman
 lrwxrwxrwx  1 root root   16 Feb 10 09:53 logs -> /var/log/mailman
 lrwxrwxrwx  1 root root   21 Feb 10 09:53 mail -> /usr/lib/mailman/mail
 drwxr-sr-x 37 root list 4096 Feb 10 09:53 messages
 lrwxrwxrwx  1 root root   26 Feb 10 09:53 pythonlib -> /usr/lib/mailman/pythonlib
 drwxrwsr-x 11 list list 4096 Feb 10 10:57 qfiles
 lrwxrwxrwx  1 root root   24 Feb 10 09:53 scripts -> /usr/lib/mailman/scripts
 drwxrwsr-x  2 root list 4096 Jan 26 21:52 spam
 lrwxrwxrwx  1 root root   12 Feb 10 09:53 templates -> /etc/mailman
 drwxrwsr-x  4 root list 4096 Feb 10 09:53 tests
  • /etc/mailman - muu hulgas paigaldatud keeled (milles saadetakse kasutajatele teavitusi jms)
  • lists/test/config.pck - listi test seadistusfail
  • data/adm.pw - listimootori superuseri parool
  • data/heldmsg-listinimi-* - modereerimisele läinud kirja ajutine asukoht
  • archives - listide arhiivid
  • qfiles - ühel või teisel põhjusel probleemse käsitluse osaliseks saanud kirjad
  • spam - modereerimisel tehtud 'Preserve messages for the site administrator' valikul paigutatakse kiri spam kataloogi

Listi moodustamiseks tuleb öelda

# newlist listinime@domeeninimi halduri@epostiaadress halduriparool

Listi seadistuse saab esitada tekstilisel kujul öeldes, seejuures ei näe kõiki seadistusparameetreid

# config_list -o - listinimi

Alternatiiviks on küsida seadistusfaili kui Pyhtoni pickle formaadis faili dumpi, seejuures näeb kõiki seadistusparameetreid, nt web_page_url ja listi loomise aega, sekunditest epoch algusest

# /usr/lib/mailman/bin/dumpdb /var/lib/mailman/lists/listinimi/failinimi.pck | grep created_at
'created_at': 1386790488.2976799,
# date -r 1386790488.2976799
Wed Dec 11 21:34:48 EET 2013

Uue listi juures võiks pöörata tähelepanu sellistele määratlustele

General Options

  • real_name - listi nimi, kasutatakse listi aadressis, vasakul @ märki ja reeglina näidatakse listi tekitamisel
  • owner - listi halduri aadress, sinna saadab listimootor erinevaid automaatselt genereeritud teateid; kasutajate aadressil listinimi-owner@domeeninimi kirjad saadetakse samuti sellele aadressile (või neile aadressidele)
  • respond_to_post_request - kas listimootor saadab listi kirja saatnud kasutajale tagasi kirja teatega kui tema kirja modereeritakse, soovitav väärtus on No, et internetti mitte risustada
  • max_message_size - listimootori poolt töödeldava kirja maksimaalne suurus, ehk on tänapäeval 8M sobiv kui rahvas saadab ka kirja lisasid
  • send_reminders - kas saadetakse listi liikmetele igakuiseid meeldetuletusi liikmeks olemise kohta koos kasutaja parooliga

Passwords

  • listi haldusi ja moderaatori paroolide määramine

Membership management

  • Listi liikmete lisamine, eemaldamine jm haldus

Privacy Options -> Subscription rules

  • advertised - määrab, kas listi nimi esineb listserveri listide nimekirjas aadressil https://lists.loomaaed.tartu.ee/admin/listinimi, võiks valida No, et mitte liigselt tähelepanu tõmmata
  • subscribe_policy - määrab, mis tingimustel saab tekkida listi uus kasutaja, soovitav on Confirm and approve, et vaikselt ei saaks huvilised ennast ise listi lisada

Archival options

  • archive - määrab, kas listi kirjad arhiveeritakse listserveris
  • archive_private - määrab, kas listi arhiiv on avalik või privaatne, kusjuures privaatne tähendab, et arhiivi saavad näha vaid listi kasutajad ja nad peavad enda veebiliideses autentima, soovitav valida private

Nö ühe domeeni listide nimekirja esitamiseks tuleb öelda

 # list_lists -V lists.raudteejaam.tartu.ee
  • Liste eemaldamine toimub öeldes, kusjuures listi aadress on listinimi@lists.loomaaed.tartu.ee
 # rmlist listinimi

Kui lisaks kasutada võtit -a rmlist käsu järel, siis eemaldatakse ka kogunenud listi arhiivid.

Listi kõigi seadistusparameetrite esitamiseks tuleb küsida seda otse seadistusfailist, nt listi test puhul

$ cd /var/lib/mailman/lists/test
$ /usr/lib/mailman/bin/dumpdb config.pck | less

Millistesse listidesse kasutaja kuulub küsimine, nt

$ for i in `/usr/sbin/list_lists -b`; do if /usr/sbin/list_members $i | \
  grep -i 'priit@loomaaed.tartu.ee' > /dev/null; then echo on listi $i liige; fi ; done

Selleks, et saada teada, millisesse domeeni mõni list kuulub sobib öelda nt

$ for i in *; do echo -n "$i: "; /usr/lib/mailman/bin/dumpdb /var/lib/mailman/lists/$i/config.pck | \
  grep host_name | grep -v footer; done

Parem

# for i in `list_lists | grep -v matching | awk {'print $1'} | tr '[:upper:]' '[:lower:]'`; do echo -n "$i: "; /usr/lib/mailman/bin/dumpdb /var/lib/mailman/lists/$i/config.pck | grep host_name | grep -v footer; done | head -n 4
karud:     'host_name': 'lists.moraal.ee',
rebased:     'host_name': 'lists.moraal.ee',
janesed:     'host_name': 'lists.moraal.ee',
...

Kui administreerimisliidese ja listi eposti aadressi domeeninimi ei lange kokku, siis tuleb newlist öelda selliselt

# /usr/sbin/newlist -u urlhost -e emailhost listinime@emailhost halduri@epostiaadress halduriparool

Veebiliidese abil listi tekitamine

Pöördudes aadresile https://lists.loomaaed.tartu.ee/create avaneb veebiliides, mille abil saab tekitada uue listi

Fail:Mailman-3.gif

kus

  • Name of list - ilma domeeninime osata listi eposti aadress
  • Initial list owner address - listi omaniku eposti aadress
  • List creator's password - listserveri superkasutaja parool

Kui administreerimisliidese ja listi eposti aadressi domeeninimi ei lange kokku, võetakse see erinevus automaatselt arvesse, nt

# /usr/lib/mailman/bin/dumpdb /var/lib/mailman/lists/loomajuht/config.pck | egrep "'host_name'|'web_page_url'"
 'host_name': 'postiloendid.loomaaed.tartu.ee',
 'web_page_url': 'https://lists.loomaaed.tartu.ee/',

Võib olla, et sellele URI'le on mõistlik ligipääsu piirata, nt kasutades sellist Apache seadistusfaili sektsiooni

<Location /create>
  Allow from 10 192.168 172.19
  Deny from All
</Location>

Subscription requests ja pending messages

Listiga liitumissoovid ja andmed töötlemist ootavate kirjade kohta on salvestatud faili request.pck, mida saab samuti lugeda käsuga dumpdb

# /var/lib/mailman/lists/listinimi/request.pck

Töötlemist ootavad kirjed ise asuvad kataloogis /var/lib/mailman/data hldmsg-listinimi-n.pck nimelistest failides, mis on jällegi Pyhtoni pickle formaadis.

Listi veebipõhise haldusliidese aadressi muutmine

Olemasoleva listi veebipõhise haldusliidese aadressi saab muuta /usr/lib/mailman/bin/fix_url.py skriptiga. Olgu nt mm_cfg.py failis sellised virtuaalsed domeenid kirjeldatud

...
add_virtualhost('www.loomaaaed.tartu.ee','lists.loomaaed.tartu.ee')
add_virtualhost('www.juurviljaaed.tartu.ee','lists.juurviljaaed.tartu.ee')

ning on olemas list aiamehed, mille haldusliides asub aadressil

https://lists.loomaaed.tartu.ee

ning meiliaadress on

aiamehed@lists.loomaaed.tartu.ee

Listi aiamehed haldusliidese ja eposti aadressi muutmiseks vastavaks juurviljaaiale sobib öelda

# withlist -l -r fix_url aiamehed -u lists.juurviljaaed.tartu.ee
Importing fix_url...
Running fix_url.fix_url()...
Loading list aiamehed (locked)
Saving list
Finalizing

kus

  • -l - list lukustatakse töötamise ajaks
  • -r fix_url - withlist programm kasutab sisemiselt skripti fix_url
  • aiamehed - listi nimi, millega töötatakse
  • -u lists.juurviljaaed.tartu.ee - mm_cfg.py failist leitakse sellist sõne esimesel positsioonil sisaldav add_virtualhost rida ning kasutatakse esimese ja teise positsiooni väärtusi vastavalt listi web_page_url ja host_name parameetrite uute väärtustena

Aadressidega tegelemisel tuleb arvestada, et erinevate nn postidomeenide haldusliidesed peavad asuma erinevatel nn http domeenidel.

Listi aadressi muutmine

http://wiki.list.org/pages/viewpage.action?pageId=4030617

# mv lists/oldlist lists/newlist
# mv archives/private/oldlist archives/private/newlist
# mv archives/private/oldlist.mbox archives/private/newlist.mbox
# mv archives/private/newlist.mbox/oldlist.mbox archives/private/newlist.mbox/newlist.mbox

Then go to the web admin interface for the 'newlist' list and change the real_name from 'OldList' to 'NewList'.

# bin/arch --wipe newlist

Listi arhiivi avalikuks muutmine

Selleks, et arhiivi kasutava privaatse listi arhiivis oleks attachmentide lingid kasutatavad peale listi avalikuks tegemist tuleb regenereerida arhiiv

# cd /usr/lib/mailman
# bin/arch --wipe newlist

Mailmani logi

Mailmani protsessid logivad oma tegevusi sellistesse failidesse

/var/log/mailman# ls -l
total 72
-rw-rw-r-- 1 list     list    83 Feb 12 12:04 bounce
-rw-rw-r-- 1 list     list  1140 Feb 12 18:17 config
-rw-rw-r-- 1 root     list 16860 Feb 12 17:35 error
-rw-rw-r-- 1 list     list  1972 Feb 12 18:06 post
-rw-rw-r-- 1 list     list   729 Feb 12 06:25 qrunner
-rw-rw-r-- 1 list     list  2549 Feb 12 18:17 smtp
-rw-rw-r-- 1 www-data list   753 Feb 12 01:43 subscribe
-rw-rw-r-- 1 list     list  1140 Feb 12 18:17 vette

kus

  • config failis registreeritakse seadistusega seotud vead, nt haldurite poolt mittekorrektselt kasutatud regulaaravaldised

Listserveri MTA + listimootori läbimisel tekivad kirjast Postfixi logisse sellised sissekanded

Feb 10 23:05:58 smtp2a postfix/smtpd[28944]: connect from moraal.auul[192.168.2.38]
Feb 10 23:05:58 smtp2a postfix/smtpd[28944]: E57443E4EC: client=moraal.auul[192.168.2.38]
Feb 10 23:05:59 smtp2a postfix/cleanup[28947]: E57443E4EC: message-id=<alpine.DEB.1.10.0902102305480.2613@moraal.auul>
Feb 10 23:05:59 smtp2a postfix/qmgr[25982]: E57443E4EC: from=<mart@loomaaed.tartu.ee>, size=523, nrcpt=1 (queue active)
Feb 10 23:05:59 smtp2a postfix/smtpd[28944]: disconnect from moraal.auul[192.168.2.38]
Feb 10 23:05:59 smtp2a postfix/pipe[28998]: E57443E4EC: to=<test@lists.loomaaed.tartu.ee>, relay=mailman, delay=0.3, delays=0.1/0/0/0.2, \
  dsn=2.0.0, status=sent (delivered via mailman service)
Feb 10 23:05:59 smtp2a postfix/qmgr[25982]: E57443E4EC: removed

Feb 10 23:05:59 smtp2a postfix/smtpd[28944]: connect from localhost.localdomain[127.0.0.1]
Feb 10 23:05:59 smtp2a postfix/smtpd[28944]: E2F1E3E4EC: client=localhost.localdomain[127.0.0.1]
Feb 10 23:05:59 smtp2a postfix/cleanup[28947]: E2F1E3E4EC: message-id=<alpine.DEB.1.10.0902102305480.2613@moraal.auul>
Feb 10 23:05:59 smtp2a postfix/qmgr[25982]: E2F1E3E4EC: from=<test-bounces@lists.loomaaed.tartu.ee>, size=1445, nrcpt=1 (queue active)
Feb 10 23:05:59 smtp2a postfix/smtpd[28944]: disconnect from localhost.localdomain[127.0.0.1]
Feb 10 23:06:00 smtp2a postfix/smtp[28995]: E2F1E3E4EC: to=<priit@loomaaed.ee>, relay=mail.loomaaed.tartu.ee[192.168.96.138]:25, delay=0.11, delays=0.01/0/0.04/0.06, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as YTFF42CB28)
Feb 10 23:06:00 smtp2a postfix/smtp[28995]: E2F1E3E4EC: to=<lauri@loomaaed.ee>, relay=mail.loomaaed.tartu.ee[192.168.96.138]:25, delay=0.11, delays=0.01/0/0.04/0.06, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as IU7A42CB28)
Feb 10 23:06:00 smtp2a postfix/smtp[28995]: E2F1E3E4EC: to=<mart@loomaaed.ee>, relay=mail.loomaaed.tartu.ee[192.168.96.138]:25, delay=0.11, delays=0.01/0/0.04/0.06, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as IUY842CB28)
Feb 10 23:06:00 smtp2a postfix/qmgr[25982]: E2F1E3E4EC: removed

Logist on ilusti näha süsteemi modulaarsus

  • esmalt võetakse kiri vastu smtpd poolt, mail_from ja rcpt_to aadressid on nö tavalised
  • seejärel antakse kiri edasi pipe abil mailmanile
  • mailman töötleb sisemiselt ja pöördub lokaalselt postfix smtpd poole
  • kiri saadetakse süsteemist välja kõigile listi liikmetele, sama sisemise postfix ID väärtusega; muud süsteemid võtavad selle vastu iga oma ID 'ga
  • ühe kirja sisenemise ja väljumise saab kokku viia kirja message-id abil
  • väljuva kirja mail_from on iseloomulik test-bounces@lists.loomaaed.tartu.ee aadress (sellele aadressile ootab mailman tagasi ka võimalikke veateateid internetist)

Mailmanile peale paigaldamist uue keele toe lisamine

Kuigi veebipõhise kasutajaliidese abil on võimalik valida terve hulga keelte seast, millises keeles Mailman kasutajaga suhtleb, toimib ta täieliselt, st nii veebiliides kui automaatselt kasutajatele saadetavad kirjad ainult neis keeltes, mis asuvad /etc/mailman kataloogis. Nt eesti keele puhul peab seal olema kataloog

 /etc/mailman/et

Nende kataloogide tekitamiseks tuleb öelda soovitavalt töötava Mailmani tingimustes

 # dpkg-reconfigure mailman

Seejärel esitatakse kasutajale diagloog

 For each supported language, Mailman stores default language specific texts in /etc/mailman/LANG/ giving
 them conffile like treatment with the help of ucf. This means approximately 150kB for each supported
 language on the root file system. If you need a different set of languages at a later time, just run
 dpkg-reconfigure mailman.                                        | 
  
 NOTE: Languages enabled on existing mailing lists are forcibly re-enabled when deselected and mailman needs
 at least one language for displaying its messages.
 
 Languages to support:
 ...

dpkg-reconfigure käivitab automaatselt Mailmani protsessid.

Märkused

  • Tõlkes paranduste tegemiseks on sobiv parandada tekstifail /var/lib/mailman/messages/et/LC_MESSAGES/mailman.po ja öelda
 # cd /var/lib/mailman/messages/et/LC_MESSAGES
 # /usr/lib/mailman/bin/msgfmt.py mailman.po

Tulemusena genereeritakse nn GNU message catalog formaadis samanimeline .mo lõpuga fail. Mailmani jaoks kehtestub muudatus koheselt, st ei ole tarvis protsessidega midagi teha.

  • Mailmanist läbikäimisel lähevad tavaliselt kirjade DKIM signatuurid katki, üks võimalus selle vastu on kasutada Mailmani seadistusfailis /etc/mailman/mm_cfg .py rida, mis eemaldab listserverisse sisenenud kirjalt vastavad päised
# Some list posts and mail to the -owner address may contain DomainKey or
# DomainKeys Identified Mail (DKIM) signature headers <http://www.dkim.org/>.
# Various list transformations to the message such as adding a list header or
# footer or scrubbing attachments or even reply-to munging can break these
# signatures.  It is generally felt that these signatures have value, even if
# broken and even if the outgoing message is resigned.  However, some sites
# may wish to remove these headers by setting this to Yes.
REMOVE_DKIM_HEADERS = Yes
  • Tavaliselt tegeleb list vaid nende kirjadega kus on listi aadress To või Cc real kirjas, erandeid saab lisada valides
Privacy -> Sender Filter -> acceptable_aliases
  • Kui listi peab saama saata kirju, millel To: real on lisaks listi aadressile hulka muid aadresse, siis tõenäoliselt tuleb muuta listi haldusliideses parameetri max_num_recipients väärtust ennustatavale piirile või kasutada 0, mis tähendab, et seda ei kontrollita
Privaatsus -> Saaja filtrid -> Max.lubatud sihtaadresside arv kirjal

Testimiseks sobib kasutada nt sellist skripti

#!/bin/bash
echo -e "From: imre@imool.ee\nTo: pole1@imool.ee, pole2@imool.ee,\
pole3@imool.ee, pole4@imool.ee,\
...
pole39@imool.ee, test-list@lists.imool.ee\
\nSubject: test 40\n\nkirja sisu 40\n" |\
/usr/sbin/sendmail -f imre@imool.ee \
  pole1@imool.ee pole2@imool.ee \
  pole3@imool.ee pole4@imool.ee \
  ..
  pole39@imool.ee test-list@lists.imool.ee

Mailman uuendamine ja migreerimine

Mailmani uuendamine 2.1.5 -> 2.1.11

Kuigi antud juhul on tegu konkreetse versiooniuuenduse kirjeldusega võib saada siit ideid ka muudeks juhtumiteks. Abiks materjal konkreetseks juhtumiks on www.list.org pealt kopeeritud tar.gz arhiivis UPGRADE failis.

Sammud

  • Vana ja uus listimootor käivad erinevates arvutites ja mõlema töö lõpetada.
  • Kopeerida arhiivid kataloogist /var/lib/mailman/archives ümber uude kohta.
  • Kopeerida listide seadistused kataloogist /var/lib/mailman/lists/listinimi uude kohta.
  • Kopeerida ajutiselt peatatud failid /var/lib/mailman/data/heldmsg-* ümber uude kohta.
  • Käivitada uues kohas listimootor ja veenduda veebipõhises haldusliideses, et seadistused on tulnud ilusti üle, uurida logi.

Debian v. 5 Lenny -> Debian v. 6 Squeeze

Debian v. 5 Lenny -> Debian v. 6 Squeeze uuenduse käigus uuendatakse Mailman 2.1.5 -> 2.1.13.

Migratsioon Debian v. 6 -> Ubuntu 14.04

Migreerimisel Debian v. 6 -> Ubuntu 14.04 platvormide vahel toimib Mailman 2.1.13 -> 2.1.16 versiooni muudatus.

Lisandunud seadistused

  • include_sender_header
  • regular_exclude_ignore
  • from_is_list

Kui lähte listserveris on kasutusel erinevate domeenide listid, siis muudatuse halduskoormuse laialijagamiseks võib olla otstarbekas migreerida andmed lists.domeeninimi.ee kaupa. Nt sellise skriptiga saab küsida domeeninimega seotud listide nimekirja

# cat listide_host_name_web_page_url_kontroll.sh
for i in /var/lib/mailman/lists/*/config.pck; do
 
 echo -n "$i: " | sed 's/\/var\/lib\/mailman\/lists\///' | sed 's/\/config\.pck//';
 /usr/lib/mailman/bin/dumpdb $i | egrep -i "web_page_url"

done

Tulemuseks on

sh listide_host_name_web_page_url_kontroll.sh | grep lists-auul | nl
    1  tammed:     'web_page_url': 'https://lists-auul.moraal.ee/',
    2  mannid:     'web_page_url': 'https://lists-auul.moraal.ee/',
    3  kuused:     'web_page_url': 'https://lists-auul.moraal.ee/',
    4  kased:      'web_page_url': 'https://lists-auul.moraal.ee/',

Muudatuse protseduur

  • juurutatakse uus postimasin ja seadistatakse üldiselt ära (archive jaoks suur failisüsteem, võrk, Postfix (sh TLS), Mailman, Apache)
  • seadistatakse konkreetselt ära Mailman, /etc/mailman/mm_cfg.py
  • seadistatakse konkreetselt ära Apache
rsync -avH --numeric-ids root@10.0.6.221:/etc/apache2/serdid/ /etc/apache2/serdid/
rsync -avH --numeric-ids root@10.0.6.221:/etc/apache2/sites-available/ /etc/apache2/sites-available/
  • pannakse smtp-fe* arvuti /etc/postfix/transport abil migreeritava domeeni meilid liikuma kuhugi olematusse kohta, nt 10.0.6.191:28 (tulemusena neid puhverdatakse)
  • pannakse sihtpunktis seisma cron, postfix, mailman ja apache protsessid
  • pannakse lähtepunktis postfixis kinni migreeritava domeeni meilidega tegelemine (/etc/postfix/main.cf ja transports failist; mailman ja apache konf las säilib)
  • pannakse lähtepunktis seisma postfixi, apache, cron ja mailman protsessid
  • kopeerida listi seadistused, spam, held messages ja arhiiv ( public all on vaid lingid kui on)
# rsync -avH --numeric-ids root@10.0.6.221:/var/lib/mailman/lists/testlist/ /var/lib/mailman/lists/testlist/
# rsync -avH --numeric-ids root@10.0.6.221:/var/lib/mailman/archives/private/testlist/ /var/lib/mailman/archives/private/testlist/
# rsync -avH --numeric-ids root@10.0.6.221:/var/lib/mailman/archives/public/ /var/lib/mailman/archives/public/
# rsync -avH --numeric-ids root@10.0.6.221:/var/lib/mailman/archives/private/testlist.mbox/ /var/lib/mailman/archives/private/testlist.mbox/
# rsync -avH --numeric-ids root@10.0.6.221:/var/lib/mailman/data/heldmsg-testlist-* /var/lib/mailman/data/
# rsync -avH --numeric-ids root@10.0.6.221:/var/lib/mailman/spam/spam-testlist-* /var/lib/mailman/spam/

nt sellise skriptiga

#!/bin/bash
for i in tammed mannid kuused kased ...; do

 echo "$i";
#  ls -ld /var/lib/mailman/lists/${i}/config.pck
 rsync -avH --delete --numeric-ids root@10.0.6.221:/var/lib/mailman/lists/${i}/ /var/lib/mailman/lists/${i}/ >> /var/tmp/rsync-lists.auul.pri.ee-${i}.log 2>&1
 rsync -avH --delete --numeric-ids root@10.0.6.221:/var/lib/mailman/archives/private/${i}/ /var/lib/mailman/archives/private/${i}/  >> /var/tmp/rsync-lists.auul.pri.ee-${i}.log 2>&1
 rsync -avH --delete --numeric-ids root@10.0.6.221:/var/lib/mailman/archives/private/${i}.mbox/ /var/lib/mailman/archives/private/${i}.mbox/  >> /var/tmp/rsync-lists.auul.pri.ee-${i}.log 2>&1
 rsync -avH --delete --numeric-ids root@10.0.6.221:/var/lib/mailman/data/heldmsg-${i}-* /var/lib/mailman/data/  >> /var/tmp/rsync-lists.auul.pri.ee-${i}.log 2>&1
 rsync -avH --delete --numeric-ids root@10.0.6.221:/var/lib/mailman/spam/spam-${i}-* /var/lib/mailman/spam/  >> /var/tmp/rsync-lists.auul.pri.ee-${i}.log 2>&1
done
  • käivitada sihtpunkti arvutis protsessid, tundub, et kui järgmine kord Mailman puudutab listi seadistusfaile, siis need nö uuendatakse ära, lisandub täiendavale funktsionaalsusele vastavad seadisusparameetrid jms
  • käivitatakse vajadusel lähtepunkti arvutis protsessid (sealt kopeeritud listide seadistusi vms ei kustutata et saaks vajadusel tagasi pöörduda)

Tundub, et Ubuntu paketihaldusest kasutamisel ei tööta vaikimisi listide arhiivi komponent, lisaks tuleb kohendada failisüsteemis õigusi, enne

# ls -ld /var/lib/mailman/archives/private/listinimi*
drwxrwsr-x 2 www-data www-data 4096 May 25  2016 /var/lib/mailman/archives/private/listinimi
drwxrwsr-x 2 www-data www-data 4096 May 25  2016 /var/lib/mailman/archives/private/listinimi.mbox

muudatus

# chown -R list:list /var/lib/mailman/archives/private/listinimi
# chown -R root:list /var/lib/mailman/archives/private/listinimi.mbox

pärast

# ls -ld /var/lib/mailman/archives/private/listinimi*
drwxrwsr-x 2 list list 4096 May 25  2016 /var/lib/mailman/archives/private/listinimi
drwxrwsr-x 2 root list 4096 May 25  2016 /var/lib/mailman/archives/private/listinimi.mbox

Migratsioon Debian v. 6 -> Debian v. 8

Selleks, et töötaks seadistusparameeter

REMOVE_DKIM_HEADERS = 2

antakse aadressil https://bugs.launchpad.net/mailman/+bug/1363278 antakse nõu pöörata tähelepanu sellisele muudatusele

# diff CleanseDKIM.py-orig /usr/lib/mailman/Mailman/Handlers/CleanseDKIM.py
39,41c39,42
<         del msg['domainkey-signature']
<         del msg['dkim-signature']
<         del msg['authentication-results']
---
>         return
>     del msg['domainkey-signature']
>     del msg['dkim-signature']
>     del msg['authentication-results']

Shunt jt qfiles

Vahel Mailman uuendamise ajal öeldakse, et shunt failid segavad

Fail:Mailman-4.gif

Siis tulebki nii teha nagu öeldakse

  • abort installation
  • stoppida mailman protsessid
  • veenduda mis failid on queue kataloogides, eriti
/var/lib/mailman/qfiles/shunt
  • kopeerida igaks juhuks failid mujale
  • kustutada failid
rm /var/lib/mailman/qfiles/shunt/*
  • käivitada mailman protsessid
  • uuendada mailman

qfile faili sisu esitamiseks

# /var/lib/mailman/bin/show_qfiles failinimi

Mailmani moderaatori rolli kasutamine

Mailmaniga töötamisel on kasutada moderaatori roll, kelle ülesandeks on tavaliselt veebipõhises kasutajaliideses listi aadressile saabunud kirju modereerida (st kustutada või lubada listi laiali saata). Moderaatori juurutamiseks tuleb

  • määrata moderaatori parool sektsioonis, et sisse logida saaks
Passwords -> Enter new moderator password
  • näidata moderaatorite eposti aadressid, et modereerimisvajadusest teada anda
General Options -> The list moderator email addresses.

Veebiliidese abil modereerimine toimub aadressil https://lists.loomaaed.tartu.ee/admindb/listinimi.

Listi omaniku teavitamine listi liikmele kirja saatmise ebaõnnestumisest

TODO

Umbrella list

Mailman umbrella (ingl. k. vihmavari) list selline list, mille liikmete hulgas on sama Mailman installatsiooni kontrolli all oleva mõne teise listi (sublist) aadress. Umbrella listi pidamisega seotud asjaolud

  • ln@lists.imool.org - umbrella list
  • ln-sub-1@lists.imool.org - üks sub list
  • ln-sub-2@lists.imool.org - teine sub list
  • ln liikmete hulka kuuluvad lisaks tavalistele eposti aadressidele aadressid ln-sub-1@lists.imool.org ja ln-sub-2@lists.imool.org
  • ühtegi listi ei saa saata nö suvalistelt aadressidelt kirju (ootus on, et ainult listide liikmete saadetud kirjad jõuavad kohale)
  • kõigi listide juurest on igakuine paroolide meeldetuletus eemaldatud
  • kõik listid töötavad oma lokaalsete nö tavaliste kasutajate suhtes tavalisel viisil
  • kõigi listide liikmed peavad saama saata kirju ln@lists.imool.org aadressile ilma nö täiendavate küsimusteta (st vastavate listide omanike modereerimiseta)
  • kui üks kasutaja on mitmes sub listis, siis ta ei tohi saada topelt kirju

Umbrella listi juurutamiseks tuleb pöörata kindlasti tähelepanu kahele asjaolule

  • kõik osalevad listid peavad lubama saata kõigi teiste listide from aadressidelt paistvaid kirju (kasutades nn @listname tähistust), nt ln-sub-1 juures
Privacy Options -> Sender filters -> accept_these_nonmembers ->
@ln-sub
@ln-sub-2
  • sub-listide juures peab olema lubatud kirju saata kasutades To: aadressina umbrella listi aadressi
Privacy Options -> Recipient filters -> acceptable_aliases
ln@lists.imool.org

Kui igakuine paroolide saatmine siiski toimub, tuleb lisaks valida umbrella listi enda seadistustes

General Options -> Umbrella list settings -> umbrella_list - Yes

Kasulikud lisamaterjalid

Märkused

  • paroolide saatmine käsitsi ja väljavalitud ühele või mitmele listile
# /usr/lib/mailman/cron/mailpasswds -l listinimi1 -l listinimi2

nimi@moraal.ee -> nimi@lists.moraal.ee suunamine

Töötagu kolm postimasinat

                                           internet

                                              .
                                             ...
 
                                              |
                     ---|---------------------|-----------------------|--------        
                        |                     |                       |
                      __|__                 __|__                   __|__
                     |     |               |     |                 |     |
                     |_____|               |_____|                 |_____|
                
                    10.0.0.50             10.0.0.88               10.0.0.89
                    post-fend             @moraal.ee           @lists.moraal.ee
                     Postfix               Dovecot             Postfix, Mailman

ja olgu ülesandeks

  • post-fend võtab internetist vastu @moraal.ee ja @lists.moraal.ee kirjad ning suunab vastavalt Dovecot ja Mailman arvutitesse
  • Dovecot arvutis töötab lmtp server ja teeb local delivery @moraal.ee kirjadele
  • Mailman arvutis töötab smtp server ja teeb local delivery @lists.moraal.ee kirjadele
  • post-fend arvutis on kirjeldatud üks erandlik suunamine
nimi@moraal.ee -> nimi@lists.moraal.ee

Tundub, et sellise asjakorralduse saab realiseerida kasutades main.cf failis muu hulgas

# cat /etc/postfix/main.cf
..
# NON-LOCAL DELIVERY ALGUS
# relay_domains = /etc/postfix/relay-domains.txt
# transport_maps = hash:/etc/postfix/transport
# relay_recipient_maps = pgsql:/etc/postfix/pgsql.conf 

virtual_mailbox_domains = moraal.ee, lists.moraal.ee
virtual_transport = lmtp:10.0.0.88:1234
virtual_mailbox_maps = hash:/etc/postfix/virtual_mailbox_maps.txt
virtual_alias_maps = hash:/etc/postfix/virtual_aliases_maps.txt
transport_maps = hash:/etc/postfix/transport_maps.txt
# NON-LOCAL DELIVERY LOPP

kus

  • on välja kommenteeritud teises tekstis antud soovitus sarnaseks tegevuseks
  • virtual_mailbox_domains - milliste domeenidega virtual_* direktiivid tegelevad
  • virtual_transport näitab default transpordi (mille saab transport_maps all jätta kirjeldamata)
  • virtual_mailbox_maps.txt kasutatakse vaid rcpt_to aadress eksisteerimise kontrollimiseks
# cat /etc/postfix/virtual_mailbox_maps.txt
mart@moraal.ee         x
priit@moraal.ee        x
info@lists.aso.ee      x
  • virtual_aliases_maps.txt kasutatakse eposti aadressi teisendamiseks
# cat /etc/postfix/virtual_aliases_maps.txt
info@aso.ee info@lists.aso.ee
  • transport_maps.txt kasutatakse eposti releetamiseks edasi vastavale backend serverile, esimene rida pole vajalik kuna see on default
# cat /etc/postfix/transport_maps.txt
# moraal.ee :[10.0.0.88]
lists.moraal.ee :[10.0.0.89]

Kasulikud lisamaterjalid

Listi arhiivist kirjade kustutamine

Listi arhiiv kooseb kahes komponendist

  • mbox formaadis fail, nt /var/lib/mailman/archives/private/test.mbox/test.mbox
  • html formaadis arhiiv, nt /var/lib/mailman/archives/private/test

Selleks, et arhiivist kiri kustutada tuleb

  • panna mailman protsessid kinni, et protseduuri ajal kirju ei lisanduks
  • teha koopiad mõlemast komponendist, väljaspoole private kataloogi
# cp -a /var/lib/mailman/archives/private/test /srv/tmp
# cp -a /var/lib/mailman/archives/private/test.mbox /srv/tmp
  • kustutada kiri alpine abil (MESSAGE INDEX, D, X)
# alpine -f /var/lib/mailman/archives/private/test.mbox/test.mbox
  • millegipärast lisab alpine spetsiifilisi headereid, tõenäoliselt saab need nii eemaldada
# cat alpine-paiste-eemaldaja.sh 
#!/bin/bash
sed '/^X-IMAPbase:.*/d' $1 | sed '/^Status:\ O.*/d' | sed '/^X-Status:.*/d' | sed '/^X-Keywords:.*/d' | sed '/^X-UID:.*/d'
# ./alpine-paiste-eemaldaja.sh /var/lib/mailman/archives/private/test.mbox/test.mbox > test.mbox-uus

kontrollitakse tulemust

# diff test.mbox/test.mbox test.mbox-uus

Kopeeritakse paigale

# cp test.mbox-uus /var/lib/mailman/archives/private/test.mbox/test.mbox
# chown -R list:list /var/lib/mailman/archives/private/test.mbox/test.mbox
  • kustutatakse html arhiiv
# rm -rf /var/lib/mailman/archives/private/test
  • moodustatakse uus html arhiiv ja seatakse korrektne omanik:grupp
# /usr/lib/mailman/bin/arch test
# chown -R list:list /var/lib/mailman/archives/private/test

Kasulikud lisamaterjalid

Debugimine

  • Kahe järjestikulise kirja saatmise toimub listiandmebaasis selline muudatus
root@smtp-listserver:~# /usr/lib/mailman/bin/dumpdb /var/lib/mailman/lists/test/config.pck > /tmp/enne.txt
root@smtp-listserver:~# /usr/lib/mailman/bin/dumpdb /var/lib/mailman/lists/test/config.pck > /tmp/parast.txt
root@smtp-listserver:~# diff /tmp/enne.txt /tmp/parast.txt 
104c104
<     'last_post_time': 1458499116.762706,
---
>     'last_post_time': 1458500074.830118,
164c164
<     'post_id': 112.0,
---
>     'post_id': 113.0,

NginX veebiserveri kasutamine

NginX veebiserveri kasutamisel tuleb eraldi liigutusena juurutada mingi cgi mootor, nt fcgiwrap nagu on kirjeldatud aadressil http://www.auul.pri.ee/wiki/Nginx_veebiserveri_kasutamine_Debian_Wheezy_operatsioonis%C3%BCsteemiga#FastCGI. Seoses Mailman tarkvaraga sobib kasutada nt sellised sektsioonid

location /cgi-bin/ {
  gzip off;
  root  /usr/lib;
  fastcgi_pass  unix:/var/run/fcgiwrap.socket;
  include /etc/nginx/fastcgi_params;
}

location /images/mailman {
  alias /usr/share/images/mailman;
}

location /pipermail {
  alias /var/lib/mailman/archives/public;
  autoindex on;
}

Mailman kasutamime SSL offload seadme järel

Tundub, et Mailman kasutamiseks SSL offload seadme järel ei ole vaja muud erilist teha peale sobiva sisuga /etc/mailman/mm_cfg.py, nt

# cat /etc/mailman/mm_cfg.py
..
MAILMAN_SITE_LIST = 'mailman'
DEFAULT_URL_PATTERN = 'https://%s/cgi-bin/mailman/'
IMAGE_LOGOS         = '/images/mailman/'
DEFAULT_EMAIL_HOST = 'lists.moraal.com'
DEFAULT_URL_HOST   = 'www.moraal.com'
add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST)
DEFAULT_SERVER_LANGUAGE = 'en'
USE_ENVELOPE_SENDER    = 0              # Still used?
DEFAULT_SEND_REMINDERS = 0
MTA=None

kus

Listi personaliseerimine

Listi personaliseerimise all peetakse silmas, et listi liige saab listist kirja, mis paistab talle tema meilikliendis võimalikult sarnane nö tavalisele kirjale (aga iseeensest on ikkagi listi kiri kuna sisaldab mitmeid tehnilisi listile iseloomulikke päiseid)

  • kirja sisu osa (mitte ümbriku) From: aadress on listi kirja saatnud kasutaja eposti aadress (mitte listi aadress)
  • puudub Sender rida päisest, mida mõni meiliklient näitab moel või teisel From:, Date:, To: jt seas
  • puudub iseloomulik listi aadress cc: kujul
  • kui kasutaja vajutab oma meilikliendis Reply, siis asutakse koostama kirja kirja listi saatnud aadressile (mitte listi aadressile)
  • listi pool laiali saadetud kirja Subject: rida ei alga [Listinimi] vms prefiksiga
  • listi sisu osas ei kasutata Footer'is mingit listile viitavat teksti automaatselt
  • listi kasutajale saabunud kirja To: real on kasutaja nimi ja personaalne eposti aadress (mitte listi aadressi)
  • spam skoori tõmmatakse alla lists.moraal.ee domeenile spf kirje seadmisega
  • mailman eemaldab sisenevate kirjade DKIM signatuurid (vt käesoleva teksti põhiosast)
  • spam skoori vähendamiseks peaks listserver lisama väljuvatele kirjadele DKIM signatuuri (ja saama seda teha listi kirja saatvate kasutajate From: aadresside jaoks)

Tulemusena võiks spam skoor olla midagi sellist, kui HTML kirju mitte saata, ehk veel madalam

X-Spam-Status: No, score=-6.3 required=5.0 tests=BAYES_00,DKIM_SIGNED,
   DKIM_VALID,DKIM_VALID_AU,DMARC_PASS,HTML_MESSAGE,MIME_QP_LONG_LINE,
   RP_MATCHES_RCVD,SPF_PASS autolearn=ham autolearn_force=no version=3.4.0

Kirja sisu osa From:

Kirja sisu osa From: positsioonil kasutatakse vaikimisi listi kirja saatja eposti aadressi ja eraldi muudatusi pole tarvis teha.

puudub Sender

General -> Should the Sender header be rewritten for this mailing list to avoid stray bounces? - No

puudub cc: aadress

Kommeteerida failis /usr/lib/mailman/Mailman/Handlers/CookHeaders.py välja rida

msg['Cc'] = COMMASPACE.join([formataddr(pair) for pair in new])

meilikliendi Reply kasutamine

Automaatselt sobiv.

kirja Subject: prefix

General -> Prefix for subject line of list postings.

Footer: tekst

Non-digest options -> Footer added to mail sent to regular list members

To: real kasutaja nimi ja personaalne eposti aadress

Lisada /etc/mailman/mm_cfg.py faili rida, tundub, et see ei muuda olemasolevate listide käitumist, aga kasutajaliideses muutub nähtavaks üks seadistuse valik

OWNERS_CAN_ENABLE_PERSONALIZATION = Yes

ning peale mailman protsesside restarti valida haldusliideses

Non-digest options -> Should Mailman personalize each non-digest delivery? -> Full Personalization

Kusjuures kasutaja nimena kasutatakse listi liikmete nimekirjas tema eposti aadressi juures olevas lahtris olevat teksti

Membership Management

Lülitada välja kord kuus paroolide saatmine

General -> Send monthly password reminders? - No

Kasutajate masshaldus

Listi kasutajate nimekirja esitamine (-f koos nimedega, -r non-digest kasutajad (tavaliselt listidel ainult need ongi))

# list_members -f -r listinimi > listinimi-members.txt

Kasutajate massiliseks eemaldamiseks sobib seda sama faili kasutada veebipõhises kasutajaliideses

Membership Management -> Mass Removal

Kasutajate massiliseks sisselaadimiseks sobib seda sama faili kasutada veebipõhises kasutajaliideses

Membership Management -> Mass Subscription

Neid tegevusi tehes maksab pöörata tähelepanu, kas seejuures kasutajate lisamisel ja eemaldamisel saadetakse välja mingeid notice kirju. Nt lisamise notice saab välja lülitada valides

General -> Send welcome message to newly subscribed members? - No

Sarnaselt

General -> Send goodbye message to members when they are unsubscribed? - No

Kasutajate listi lisamine-eemaldamine sync_members skriptiga

# cat nimekiri 
imre.oolberg@gmail.com
imre.oolberg@moraal.ee
# sync_members -w=no -g=no -a=no -d=no -f nimekiri testaso2
Added  : imre.oolberg@moraal.ee
Added  : imre.oolberg@gmail.com
Removed: imre@auul.pri.ee

Kasulikud lisamaterjalid