Kapitel 17 - Mailinglistor med ezmlm

17.1 Introduktion till ezmlm
Ezmlm är en mailinglisthanterare för Qmail (som är det mailsystem som Algonet använder). I en grundinstallation av Qmail så följer det med ett program som heter qlist, som man kan använda för att skapa mailinglistor. Detta program är dock inte så bra om man vill ha lite koll på sin mailinglista. Qlist är bra när man snabbt vill sätta upp en mailinglista och inte behöver så mycket säkerhet eller arkivering. Min tanke med att skriva detta kapitel är att förklara hur ezmlm fungerar och hur man sätter upp en mailinglista med ezmlm, för att alla som vill ha en mailinglista skall kunna sätta upp en sådan.

Ezmlm är ett programpaket som innehåller program för att sätta upp och ändra i en mailinglista, samt administrera prenumeranter, moderatorer, kill listor och andra saker. Tillägget ezmlm-idx ger även möjlighet till indexering av alla inlägg, och man kan sätta upp listor där man kan hämta gamla inlägg genom att skicka ett tomt brev till en given adress. Här nedan följer en mer detaljerad lista över funktioner som man får tillgång till med ezmlm.

Notera att ezmlm inte stöds officiellt av Algonet.

Ezmlm sätter upp en katalog där den sparar alla data, inklusive prenumeranter, moderatorer och alla postade inlägg (om man har en arkiverad lista). Alla filer i den katalogen skapas av ezmlm när man sätter upp listan (mer om detta senare), och man skall inte ändra i dessa för hand. Undantaget från denna regel är en del textfiler (mer om detta senare). När man vill lägga till eller ta bort prenumeranter eller moderatorer använder man ett program för det.

Ni som använder qlist idag för era mailinglistor, och vill ha bättre funktionalitet och säkerhet, bör uppgradera er lista till ezmlm. Jag har skrivit ett Perlskript som exporterar prenumeranterna i en qlist lista, och denna lista kan sedan användas för att lägga in prenumeranterna i den nya ezmlm listan. Perlskriptet finns att ladda ner här.

Ni som väljer att sätta upp en lista med ezmlm måste gå med i min Qmail lista. Detta för att jag lätt skall kunna nå ut till alla som använder ezmlm ifall det dyker upp buggar i ezmlm, eller om jag har tips eller information till alla som använder ezmlm. Detta för att slippa få ett antal olika mail med samma frågor. För att få med i listan skickar ni ett tom brev till matax-qmail-subscribe@algonet.se och följer sedan instruktionerna i det brev ni får skickat till er.

Mer information om ezmlm hittar ni på http://www.ezmlm.org/


17.2 Hur installerar jag ezmlm?
Jag har gjort det ganska enkelt för er som vill använda ezmlm. Ni behöver bara lägga in följande två rader i er .cshrc fil. Om ni kör bash som shell så finns det ett exempel lite längre ner.

setenv MANPATH ${MANPATH}:/home/user7/matax/local/man
setenv PATH ${PATH}:/home/user7/matax/local/bin/ezmlm

Exemplet ovan skall vara två olika rader (varje setenv skall vara på en egen rad). För bash:

MANPATH=${MANPATH}:/home/user7/matax/local/man
PATH=${PATH}:/home/user7/matax/local/bin/ezmlm

export MANPATH PATH

Exemplet ovan skall vara tre olika rader (MANPATH och PATH är två olika rader, och export raden är en egen rad).

När ni gjort detta måste ni logga ut och in igen (med telnet/SSH) för att ändringarna skall slå igenom.


17.3 Hur sätter man upp en lista med ezmlm?
För att skapa en mailinglista med ezmlm använder man kommandot ezmlm-make. Innan ni börjar kan det dock vara bra att skapa en katalog, där ni placerar alla era mailinglistor. Ezmlm skapar en katalog för varje mailinglista nämligen. Ni kan skapa t.ex. en katalog som heter ml som ligger i roten på ert konto. I den kan ni därefter placera alla era mailinglistor. För att skapa katalogen använder ni kommadot mkdir:

mkdir ~/ml

Jag tänker nu beskriva hur en vanlig användare (dvs inte ett domänkonto) sätter upp en mailinglista med ezmlm. För er med egen domän så kan ni följa samma instruktioner, men på vissa ställen finns speciella instruktioner för er med egen domän.

Förutsättningarna för detta, och alla kommande exempel, är att:

Ledtext Beskrivning
USERNAME Detta är användarnamnet för användaren. Jag har t.ex. matax som användarnamn, så i mitt fall skulle USERNAME bli matax. Ersätt alla USERNAME i exemplen nedan med ert användarnamn.
LISTNAME Detta är namnet på listan som ni vill sätta upp. Detta skall skrivas med enbart små bokstäver. Om listan heter testlista, så skall ni ersätta LISTNAME med testlista i alla exemplen.
DOMAIN Detta är domännamnet för användaren. För en vanlig användare är detta algonet.se. För de med egen domän så skall DOMAIN ersättas med deras domännamn.
LISTFOLDER Namnet på den katalog där ezmlm kommer att placera filerna för mailinglistan. I mina exempel kommer jag att förutsätta att alla de katalogerna skapas i ~/ml/ katalogen. Om man vill att katalogen skall heta testlista, så ersätter man LISTFOLDER med testlista i alla exempel nedan. Notera att LISTNAME och LISTFOLDER kan vara olika om man vill det.
MAILADDRESS  En mailadress, t.ex. till en prenumerant, en moderator eller en adress som man inte vill skall få tillgång till mailinglistan.

I exemplen nedan kommer dessa ledord att skrivas med fet text, så ni vet var ni skall byt ut dem mot era värden.

Om man bara vill sätta upp en mailinglista med ezmlm:s defaultvärden, skriver man:

ezmlm-make -A ~/ml/LISTFOLDER ~/.qmail-LISTNAME USERNAME-LISTNAME DOMAIN

För er som har egen domän så skriver ni lite annorlunda:

ezmlm-make -A ~/ml/LISTFOLDER ~/.qmail-LISTNAME LISTNAME DOMAIN

USERNAME-LISTNAME är det som kommer att placeras före @ tecknet i mailinglistans adress, och DOMAIN är det som hamnar efter @ tecknet. För er med egen domän är det LISTNAME som hamnar före @ tecknet, och DOMAIN det som hamnar efter @ tecknet i mailinglistans adress.

När ni kör detta så kommer ~/ml/LISTFOLDER att skapas, liksom ett antal filer i den katalogen. Det kommer även att skapas symboliska länkar från ~/.qmail-LISTNAME* till några filer i ~/ml/LISTFOLDER.

Om ni sätter upp en lista för er egen domän, måste ni även utföra de saker som står i avsnittet för domänanvändare.

Om ni vill ha mer info om alla funktionerna som beskrivs här, eller i de andra avsnitten, så kan ni titta på man sidorna för ezmlm, framför allt ezmlm och ezmlm-make.

VIKTIG! Arkiverade listor fungerar för närvarande inte med ezmlm, så slå inte på den funktionen. Jag har ändrat exemplen ovan så att de skapar listor som inte är arkiverade (-A betyder att listan inte skall vara arkiverad).


17.4 Hur testar jag min nyskapade ezmlm lista?
Om du satt upp din mailinglista enligt ovan, så skall du börja med att lägga till en mailadress till listan, så att du ser att ditt testinlägg går fram. För att ni skall se hur det fungerar för en vanlig användare, så använder jag mig av den metod som en vanlig användare använder, nämligen att skicka ett mail till subscribe adressen.

Gör således så här: Skicka ett tomt brev till adressen USERNAME-LISTNAME-subscribe@DOMAIN. Om ni har egen domän skickar ni ett tomt brev till LISTNAME-subscribe@DOMAIN. Ni kommer då att få tillbaka ett brev som ber er bekräfta att ni vill gå med i listan. Samma sak sker när man försöker gå ur listan. Detta är för att ingen annan skall kunna anmäla/avanmäla en adress till en lista utan personens vetskap. När ni fått bekräftelsebrevet svarar ni på det. Ni behöver inte ta med någon text i själva brevet. Det är bara mailadressen som ezmlm bryr sig om. Ni kommer därefter att få ett välkomstmeddelande som talar om att ni gått med i listan.

När ni gått med i listan kan ni prova att skicka ett inlägg till lista. Skicka ett brev till USERNAME-LISTNAME@DOMAIN. För er med egen domän gäller att ni skall skicka brevet till LISTNAME@DOMAIN. Om allt går bra kommer ni få tillbaka en kopia av brevet. Prova att svara på brevet och se om ni får tillbaka även det.

Om stegen ovan går bra har ni lyckats sätta upp er lista och verifierat att den fungerar.


17.5 Hur ändrar jag i en befintlig ezmlm lista?
Om ni redan skapat en lista och vill ändra i den, så använder ni även då ezmlm-make programmet. Ni måste dock skicka med ett par extra parametrar, så att ni inte tappar era gamla inställningar.

Dessa parametrar är -+ och -e. -+ parametern talar om för ezmlm-make att den skall använda alla gamla inställningar, och -e talar om att man vill redigera en befintlig lista, istället för att sätta upp en ny.

När man redigerar en lista så kan man inte ändra katalognamn, namn på .qmail filen, eller själva mailadressen. Det man däremot kan ändra är alla de flaggor som finns för listan, som t.ex. att det skall vara en modererad lista, att den skall arkivera alla inlägg eller enbart tillåta de som är med på listan att posta till den. Ni kan läsa mer om dessa funktioner i de olika avsnitten för dessa funktioner.


17.6 Hur lägger jag till prenumeranter, moderatorer eller kill adresser manuellt?
För att lägga till adresser manuellt till prenumerantlistan, moderatorlistan eller killistan, så använder man kommandot ezmlm-sub. Det tar som inparameter sökvägen till LISTFOLDER, samt en mailadress.

För att lägga till en adress i prenumerantlistan skriver man:

ezmlm-sub ~/ml/LISTFOLDER/ MAILADDRESS

För att lägga till en adress i moderatorlistan skriver man:

ezmlm-sub ~/ml/LISTFOLDER/mod/ MAILADDRESS

För att lägga till en adress i prenumerantlistan skriver man:

ezmlm-sub ~/ml/LISTFOLDER/deny/ MAILADDRESS

För att lägga till en adress i prenumerantlistan för digestlistan skriver man:

ezmlm-sub ~/ml/LISTFOLDER/digest/ MAILADDRESS

När man använder ezmlm-sub för att lägga till adresser så skickas inga bekräftningsmeddelanden ut, utan adressen läggs in direkt.


17.7 Hur tar jag bort prenumeranter, moderatorer eller kill adresser manuellt?
För att ta bort adresser manuellt från prenumerantlistan, moderatorlistan eller killistan, så använder man kommandot ezmlm-unsub. Det tar som inparameter sökvägen till LISTFOLDER, samt en mailadress.

För att ta bort en adress från prenumerantlistan skriver man:

ezmlm-unsub ~/ml/LISTFOLDER/ MAILADDRESS

För att ta bort en adress från moderatorlistan skriver man:

ezmlm-unsub ~/ml/LISTFOLDER/mod/ MAILADDRESS

För att ta bort en adress från killistan skriver man:

ezmlm-unsub ~/ml/LISTFOLDER/deny/ MAILADDRESS

För att ta bort en adress från prenumerantlistan för digestlistan skriver man:

ezmlm-unsub ~/ml/LISTFOLDER/digest/ MAILADDRESS

När man använder ezmlm-unsub för att ta bort adresser så skickas inga bekräftningsmeddelanden ut, utan adressen tas bort direkt.


17.8 Hur listar jag prenumeranter, moderatorer eller kill adresser?
För att lista vilka mailadresser som finns med i prenumerantlistan, moderatorlistan eller killistan, använder man kommandot ezmlm-list. Det tar som inparameter sökvägen till LISTFOLDER.

För att lista mailadresserna i prenumerantlistan skriver man:

ezmlm-list ~/ml/LISTFOLDER

För att lista mailadresserna i moderatorlistan skriver man:

ezmlm-list ~/ml/LISTFOLDER/mod/

För att lista mailadresserna i killistan skriver man:

ezmlm-list ~/ml/LISTFOLDER/deny/

För att lista mailadresserna i prenumerationslistan för digestlistan skriver man:

ezmlm-list ~/ml/LISTFOLDER/digest/


17.9 Vilka filer kan jag redigera, och vad bör jag tänka på?
Innan ni börjar redigera filerna, så är det en sak ni måste göra, och det är att ändra rättigheterna på rotkatalogen på ert konto, så att inte ezmlm kör saker medan ni håller på och redigera filerna. Innan ni börjar redigera filerna måste ni köra:

chmod u+t ~/

Detta sätter sticky biten på ert konto, vilket gör att ezmlm och qmail inte levererar några mail till er medan den är satt. När ni är klara med redigeringen, så måste ni köra:

chmod u-t ~/

för att slå av sticky biten, så att qmail och ezmlm kan ta emot mail igen.

De filer som ni kan redigera, om man utgår från ~/ml/LISTFOLDER/, är följande:

Filnamn Beskrivning
headeradd Innehåller information om vilka mailheadrar som skall läggas till på de postade inläggen. Denna hör ihop med headerremove.
headerremove Innehåller information om vilka mailheadrar som skall tas bort på de postade inläggen. Denna hör ihop med headeradd.
inlocal Denna får enbart ändras av de som har egen domän. Denna fil styr vad den lokala adressen är för mailinglistan. Rör inte denna om du inte måste!
mailinglist Innehåller information om vem som driver mailinglistan. Ändra denna enbart om du vill översätta alla texterna som ezmlm använder.
outlocal Behöver denna ändras för remote admin? @@@@
prefix Denna fil innehåller prefixet för subjectraden som sätts på alla postade inlägg, om man har prefix flaggan påslagen.
owner Ändras på egen risk. Denna fil innehåller det som körs när någon skickar ett brev till ägaren av listan. Per default så sparas breven i filen Mailbox.
text/bottom Detta är sidfoten på det svarsbrev man får när man skickar ett mail till de administrativa adresserna för listan.
text/bounce-bottom Denna fil innehåller texten som skjuts in sist i ett brev som studsar (precis innan originalinlägget).
text/bounce-num I denna fil finns texten som talar om vilka inlägg som studsat till en given mottagare.
text/bounce-probe I denna fil finns texten som skickas ut av ezmlm när den skickar ett s.k. probe meddelande till en prenumerant (för att se om adressen fortfarande studsar).
text/bounce-warn Här finns texten som skickas ut när ett meddelande studsar från en adress i prenumerantlistan.
text/dig-bounce-num Detta är samma som bounce-num, men för digest versionen av listan.
text/digest Denna fil innehåller info om hur man går med och ur digest listan samt till vilken adress man postar inlägg.
text/faq I den här filen kan man placera FAQ:en för listan, om man har en sådan.
text/get-bad Denna fil innehåller felmeddelandet som man får om man försöker hämta ett inlägg ur arkivet med ett nummer som inte finns.
text/help Detta är det generella hjälpmeddelande som man får om ezmlm tar emot ett kommando som den inte känner igen. Denna tillsammans med top och bottom är det som skickas tillbaka till adressaten.
text/info I den här filen placerar man information om listan.
text/mod-help Detta är hjälptexten för moderatorer.
text/mod-reject Denna fil innehåller texten som skickas tillbaka när moderatorn väljer att inte tillåta inlägget att postas till listan.
text/mod-request I den här filen finns texten som skickas till moderatorn när någon försöker skicka ett inlägg till en modererad lista. När moderatorn svarar på det brevet så går antingen inlägget ut (accept) eller skickas tillbaka till den som postade det (reject).
text/mod-sub Denna text skickas till prenumeranten när moderatorn godkänt användaren så att denna kommer med på listan.
text/mod-sub-confirm Den här texten skickas till moderatorn när någon försöker gå med i listan och listan använder moderering för att gå med i listan.
text/mod-timeout Denna text skickas ut till den som postat ett inlägg till en modererad lista, men där moderatorn inte accepterat eller avvisat det inom den givna tidsrymden.
text/mod-unsub-confirm Denna text skickas till prenumeranten när denne vill gå ur listan.
text/sub-bad Denna text skickas till prenumeranten om ezmlm får in ett brev med ett felaktigt confirm ID (dvs när man valt att gå med i listan och svarat på brevet där man godkänner att man läggs till i listan).
text/sub-confirm Den här texten skickas till prenumeranten när denne försöker gå med i listan.
text/sub-nop Denna text skickas till prenumeranten om denne redan finns med i prenumerationslistan.
text/sub-ok Denna text skickas till prenumeranten när denne blivit godkänd och inlagd i prenumerationslistan.
text/top Detta är sidhuvudet på det svarsbrev man får när man skickar ett mail till de administrativa adresserna för listan.
text/trailer Detta är trailern som läggs till i slutet på alla inlägg som postas till listan.
text/unsub-bad Denna text skickas till prenumeranten om ezmlm får in ett brev med ett felaktigt confirm ID (dvs när man valt att gå ur listan och svarat på brevet där man godkänner att man tas bort från listan).
text/unsub-confirm Den här texten skickas till prenumeranten när denne försöker gå ur listan.
text/unsub-nop Denna text skickas till prenumeranten om denne försöker gå ur listan och adressen inte finns i prenumerationslistan.
text/unsub-ok Denna text skickas till prenumeranten när denne blivit bortplockad från prenumerationslistan.

Jag listar alla filer som ni kan redigera, men beroende på om ni har slagit på de vissa funktioner eller inte, så är det inte säkert att alla filerna används. Läs nästa avsnitt för information om hur ni redigerar filerna, och vad ni bör tänka på.

När det gäller filerna i text/, så använder ezmlm #l# för att skjuta in namnet på listan.


17.10 Hur redigerar jag felmeddelanden och automatiska svarsmeddelande?
Innan ni sätter igång och redigera några ezmlm filer, så skall ni läsa avsnittet ovan. Där står det vilka filer ni kan ändra i, samt vad ni måste göra före och efter redigeringen.

Ni som är vana vid Unix kan använda en Unix texteditor för att redigera filerna. För er som inte känner er lika hemtama med Unix, så kan ni använda er av metoden som beskrivs i avsnitt 12.4. Kom ihåg att använda ASCII mode när ni laddar upp/ned filerna med FTP. Notera också att alla filer som ligger utanför text/ katalogen inte får ha några extra tomrader i sig.


17.11 Vad måste jag ändra för att min lista skall fungera om jag har en egen domän?
För er med egen domän på Algonet, så kan ni sätta upp listan enligt de instruktioner som nämnts tidigare i det här kapitlet, men när ni väl kört ezmlm-make måste ni ändra i inlocal filen.

Om ert konto heter dxxxxx och er lista heter testlista, så kommer inlocal att innehålla enbart texten testlista. Detta fungerar inte med ezmlm per default, utan man måste ändra det till dxxxxx-testlista.

Hur ni redigerar inlocal filen hittar ni i avsnitten ovan.


17.12 Vilka adresser använder ezmlm?
Grundadressen för er lista är USERNAME-LISTNAME@DOMAIN. För domänkunder gäller LISTNAME@DOMAIN. Detta är även den adress som man skickar inlägg till listan till. Alla andra adresser byggs upp med ett bindestreck (-) och en text. Här nedan finns en tabell över alla adresser som man kan använda. Notera att de rader som har en adress som bara börjar med - (bindestreck), betyder att man skall lägga till det till själva basadressen. Om det t.ex. står -help, så blir hela adressen USERNAME-LISTNAME-help@DOMAIN för vanliga användare, och för domänkunder LISTNAME-help@DOMAIN.

Mailadress Beskrivning
USERNAME-LISTNAME@DOMAIN Basadress för listan om man är vanliga användare. Det är denna adress man skickar inlägg till listan till.
LISTNAME@DOMAIN Basadress för listan om man är domänkund. Det är denna adress man skickar inlägg till listan till.
-help Denna adress skickar tillbaka ett automatsvar med generell hjälp för listan och de olika kommandona. Denna fil skickas även om man skickar mail till en adress som inte ezmlm hanterar.
-subscribe Detta är adressen som man skickar till när man vill gå med i listan. När man skickar ett brev till den här adressen får man ett automatiskt brevsvar skickat till sig, som man måste svara på, för att godkänna att man läggs till till listan.
-unsubscribe Detta är adressen som man skickar till när man vill gå ur listan. När man skickar ett brev till den här adressen får man ett automatiskt brevsvar skickat till sig, som man måste svara på, för att godkänna att man tas bort från listan.
-get.X_Y Den här adressen använder man när man vill hämta gamla inlägg i listan (om listan arkiverar inläggen). X och Y ersätts med en siffra, där Y >= X, som motsvarar inläggets nummer. Om man t.ex. skickar till -get.1_10 så får man tillbaka ett brev med inlägg 1 till 10 i listan. Om Y värdet överstiger maxvärdet på inlägg i listan, så skickas enbart inläggen upp t.o.m. det sista inlägget i listan. T.ex. så kan en lista ha inlägg 1-456. Om man då skickar till -get.1_500 så kommer man bara få inlägg 1 till 456 skickat till sig. Ezmlm skickar max 100 inlägg per förfrågning.
-index.X_Y Denna adress fungerar på samma sätt som -get.X_Y, men den skickar bara en indexlista över de inlägg mellan X och Y, som finns arkiverade i listan. I svarsbrevet får man en lista på inläggen, med deras nummer, subject, när de postade dem samt vem som postade dem. Ezmlm skickar max 2000 index per förfrågning.
-thread.X Denna adress skickar tillbaka alla index (för inlägg) med samma subject som inlägg X har. Denna funktion fungerar på samma sätt som -index.X_Y i övrigt.
-faq Den här adressen returnerar FAQ:en för listan.
-info Den här adressen returnerar information om listan.
-owner Denna adress går till listans ägare.
-digest-subscribe Denna adress fungerar på samma sätt som -subscribe, men för digest versionen av listan.
-digest-unsubscribe Denna adress fungerar på samma sätt som -unsubscribe, men för digest versionen av listan.


17.13 Hur lägger jag till många adresser på en gång med ezmlm?
Om man vill lägga till många adresser på en gång, så använder man ezmlm-sub, precis som när man lägger till en adress manuellt till listan. När man vill lägga till fler än en adress så skriver man mailadresserna i följd, åtskilda av mellanslag. ezmlm-sub kommer då att lägga till varje adress till listan, förutsatt att det är giltiga adresser. Om man t.ex. vill lägga till adress1@home.com, adress2@home.com och adress3@home.com på en gång, skriver man:

ezmlm-sub ~/ml/LISTFOLDER/ adress1@home.com adress2@home.com adress3@home.com

Om man har en massa mailadresser i en textfil (med en mailadress per rad), så kan man använda xargs tillsammans med ezmlm-sub för att lägga till adresserna. Om t.ex. massa_adresser.txt innehåller ett antal mailadresser, så skriver man:

cat massa_adresser.txt | xargs ezmlm-sub ~/ml/LISTFOLDER/


17.14 Hur tar jag bort många adresser på en gång med ezmlm?
Om man vill ta bort många adresser på en gång, så använder man ezmlm-unsub, precis som när man tar bort en adress manuellt från listan. När man vill ta bort fler än en adress så skriver man mailadresserna i följd, åtskilda av mellanslag. ezmlm-unsub kommer då att ta bort varje adress från listan, förutsatt att det är giltiga adresser och att de finns med i listan. Om man t.ex. vill ta bort adress1@home.com, adress2@home.com och adress3@home.com på en gång, skriver man:

ezmlm-unsub ~/ml/LISTFOLDER/ adress1@home.com adress2@home.com adress3@home.com

Om man har en massa mailadresser i en textfil (med en mailadress per rad), så kan man använda xargs tillsammans med ezmlm-unsub för att ta bort adresserna. Om t.ex. massa_adresser.txt innehåller ett antal mailadresser, så skriver man:

cat massa_adresser.txt | xargs ezmlm-unsub ~/ml/LISTFOLDER/


17.15 Hur skapar jag en modererad lista?
Det ni behöver göra är att ange flaggan -m (litet m) när ni skapar eller redigerar listan. När ni gör detta så skapas en katalog som heter ~/ml/LISTFOLDER/mod/, där ni sedan skall placera de mailadresser som går till moderatorn (eller moderatorerna) för listan.

Per default så är en lista omodererad när man skapar den (dvs om man inte anger -m).

När ni gjort detta så kommer listan att vara modererad, men för att några postningar skall gå fram måste ni lägga till åtminstone en mailadress till moderatorlistan. Hur ni gör det beskrivs tidigare i detta kapitel.

Notera att om ni även slår på flaggan som tillåter att enbart prenumeranterna på listan får posta till listan, så kommer deras inlägg att gå ut till listan direkt, utan moderering. Det kommer bara att vara icke-prenumeranters inlägg som skickas till moderatorn.

När någon postar ett inlägg till en modererad lista så kommer ett brev, med det postade inlägget som en bilaga, att gå ut till alla moderatorer, som sedan antingen får godkänna det eller avvisa det. Om moderatorn godkänner inlägget skickas det ut till prenumeranterna. Om det avvisas så skickas det tillbaka till den som postade inlägget, tillsammans med en text som säger att moderatorn avvisade inlägget.

När moderatorn får detta modereringsbrev så finns det två val. Det ena är att svara på brevet och skicka svaret till adressen som innehåller -accept-. Då kommer inlägget att godkännas och gå ut till prenumeranterna. Det andra är att svara på brevet och skicka svaret till adressen som innehåller -reject-. Då kommer inlägget att skickas tillbaka till den som försökte posta det. Om moderatorn inte svarar på inlägget inom en given tidsrymd kommer brevet att skickas tillbaka till den som postade det, med en text som säger att moderatorn inte gjorde något med inlägget under den givna tidsrymden.

Om ni känner er osäkra så står det tydligt förklarat i moderatorbrevet hur ni skall göra.

Om ni vill slå av modereringen av listan så använder ni flaggan -M (stort M) flaggan på listan.


17.16 Hur skapar jag en lista med modererad prenumeration?
För att slå på modererad prenumeration, dvs att enbart de som moderatorn godkänner får gå med i listan, så använder ni flaggan -s (litet s) när ni sätter upp eller ändrar listan.

I övrigt så fungerar denna typ av moderering på samma sätt som moderering av själva listan. Notera att det enbart är när någon vill gå med i listan som modereringen sker. Om man vill gå ur så påverkas inte det av denna flagga.

Per default så är en lista öppen för prenumeration när man skapar den (dvs om man inte anger -s).

Om ni vill slå av modereringen av prenumeration använder ni flaggan -S (stort S).


17.17 Hur skapar jag en lista med en killista?
För att skapa en lista med en killista (dvs en lista med adrsser som inte tillåts posta till listan), så använder man flaggan -k (litet k). Denna flagga fungerar även om ni ändrar i en befintlig lista.

Det som händer är att katalogen ~/ml/LISTFOLDER/deny/ skapas, och i den placerar ni sedan de adresser som ni inte vill tillåta att posta till listan. Hur ni lägger till adresser till den listan beskrivs tidigare i detta kapitel.

Per default så skapas inte någon killista när man sätter upp en ny lista.

Om ni vill slå av killistan använder ni flaggan -K (stort K).


17.18 Hur skapar jag en lista där enbart prenumeranterna får posta till listan?
För att skapa en lista där enbart prenumeranter får posta, så använder man flaggan -u (litet u). Denna flagga fungerar även om ni ändrar i en befintlig lista.

Det som händer är att om någon prenumerant försöker posta ett inlägg till listan, så går det ut till listan, även om listan är modererad. Om en adress som inte finns med i prenumerationslistan försöker posta till listan, så går inlägget inte ut till listan, utan studsar tillbaka till den som försökte skicka inlägget.

Per default så kan vem som helst posta till listan.

Om ni vill slå av denna funktion använder ni flaggan -U (stort U).


17.19 Hur skapar jag en arkiverad lista?
För att slå på arkivering av en lista använder man flaggan -a (litet a) när man skapar eller ändrar en lista.

Det som händer är att katalogen ~/ml/LISTFOLDER/archive/ skapas, och i den kommer alla postningar att arkiveras.

Per default så arkiveras ingenting när man skapar en ny lista.

Om ni vill slå av denna funktion använder ni flaggan -A (stort A).


17.20 Hur skapar jag en indexerad lista?
För att slå på indexering av en listan använder man flaggan -i (litet i) när man skapar eller ändrar en lista.

Per default så slås indexering på när man skapar en ny lista.

Om ni vill slå av denna funktion använder ni flaggan -I (stort I).


17.21 Hur skyddar jag ett mailinglistarkiv?
För att skydda ett mailinglistarkiv, så att enbart de som är med på listan får tillgång till det, så använder man flaggan -g (litet g) när man skapar eller ändrar en lista.

Per default så skyddas inte arkivet när man skapar en ny lista.

Om ni vill slå av denna funktion använder ni flaggan -G (stort G).


17.22 Hur skapar jag en lista med subject prefix?
Om man vill ha ett prefix i subject raden, t.ex. [MyList], så skall man ange flaggan -f (litet f) när man skapar eller ändrar i listan. Då kommer filen ~/ml/LISTFOLDER/prefix att skapas. Denna kan man sedan ändra till den text man vill ha som prefix. Notera att det enbart är första raden som används, samt att man bör hålla prefixet relativt kort, annars hamnar själva subjectet väldigt långt bort.

Per default så används inte prefix på nya listor.

Om ni vill slå av denna funktion använder ni flaggan -F (stort F).


17.23 Hur skapar jag en lista med egendefinerad sidfot (trailer)?
Om man vill ha en egen sidfot på alla inlägg som går ut till listan, så skall man ange flaggan -t (litet t) när man skapar eller ändrar i listan. Då kommer filen ~/ml/LISTFOLDER/text/trailer att skapas. Denna kan man sedan ändra till den text man vill ha som sidfot. Försök att hålla sidfoten till runt fyra rader, så att det inte blir så mycket extra text som skickas. Detta är särskilt viktigt om det är mycket trafik på er lista.

Per default så används inte egendefinerad sidfot på nya listor.

Om ni vill slå av denna funktion använder ni flaggan -T (stort T).


17.24 Hur tar jag bort headers från brev till listan?
OBS! Detta skall bara göras av de som vet vad de håller på med!

Ibland vill man plocka bort headers från breven innan de går ut till listan, eller kanske ersätta dem med en annan headerrad. Ett vanligt sådant fall är att man vill ersätta Reply-To: headern med en egen, som gör att när man svarar på ett inlägg, så går det tillbaka till listan.

För att säga åt ezmlm att plocka bort en given header, så redigerar man filen ~/ml/LISTFOLDER/headerremove. I den finns det en header per rad som skall plockas bort. Headern skrivs med enbart små bokstäver i denna fil, och utan det sista kolonet (:). Om man vill plocka bort Reply-To: raden skriver man således:

reply-to

Notera att det inte får förekomma några tomma rader i denna fil.


17.25 Hur lägger jag till headers till brev till listan?
OBS! Detta skall bara göras av de som vet vad de håller på med!

Ibland vill man lägga till headers till breven innan de går ut till listan. Ett vanligt exempel är att man vill ersätta Reply-To: raden med en egen sådan, som gör att när man svarar på inlägg från listan, så går svaren tillbaka till listan. Ibland vill man kanske också lägga till några andra headers. Om man prompt vill lägga till icke-standard headers, så måste de föregås av X-, vilket betyder att det är en experimentell header. Om jag vill lägga till headern MinLista, så måste jag kalla den X-MinLista:.

För att säga åt ezmlm att lägga till en given header, så redigerar man filen ~/ml/LISTFOLDER/headeradd. I denna fil finns det en header per rad som skall läggas till. Headerraderna skall skrivas enligt givna standarder. Om man t.ex. vill lägga till en Reply-To: rad skriver man:

Reply-To: USERNAME-LISTNAME@DOMAIN

om man är en vanlig användare, eller:

Reply-To: LISTNAME@DOMAIN

om man är domänkund.

Notera att det inte får förekomma några tomma rader i denna fil.


17.26 Hur får jag svaren att gå tillbaka till listan?
För att få svaren att gå tillbaka till listan, så gör ni som i exemplen i avsnitt 17.24 och 17.25.


17.27 Hur skapar jag en digest lista?
Om ni vill skapa, utöver själva listan, en digest lista, som skickar ut ett antal brev i ett enda brev, så använder ni flaggan -d (litet d) när ni skapar eller ändrar er lista. Då sätts en ny adress upp, som blir USERNAME-LISTNAME-digest@DOMAIN för vanliga användare, och LISTNAME-digest@DOMAIN för domänanvändare. Notera att det inte går att posta till denna adress, utan att digest meddelandena kommer från denna adress.

Digest meddelandena går per default ut när 30 meddelanden, 48 timmar eller 64 KB av meddelandetext postats till listan. Detta kan man ändra med andra flaggor. För mer info om digest listor hänvisas till man sidan för ezmlm-make, samt ezmlm.

Per default så skapas ingen digest lista när man sätter upp en ny lista.

Om ni vill slå av denna funktion använder ni flaggan -D (stort D).

17.28 Varför kommer inte mina brev fram till lista? Det fungerade förut.
Detta beror med största sannolikhet på att du överskridit quotan på ditt konto. När man överskrider quotan, så kan man inte längre skapa några nya filer på kontot. När detta inträffar, och man skickar mail till en ezmlm lista, så ser ezmlm att det inte går att spara saker på disken för tillfället, utan väntar med att skicka brevet.

Detta inträffar oftast när man har arkivering påslaget för en lista. För varje brev som postas till listan, så sparas en kopia i arkivet, och om det kommer mycket brev till listan, så kan den fylla quotan rätt fort.

För att verifiera att så är fallet, loggar ni in på någon av användarservrarna och skriver:

quota -v

Om quota inte fungerar, så kan ni använda:

du -sk ~/

Har ni ett vanligt användarkonto så är quotan 10 MB, och för ett domänkonto 30 MB. Har man köpt till extra quota så stämmer inte siffrorna ovan, men då har man troligen koll på hur mycket ens quota är.

Om ni överskridit quotan, så får ni rensa. När ni rensat så ni inte överskrider quotan kommer det att fungera igen.

En annan orsak till att det slutar fungera kan vara att något ändrats, eller att man råkat på en bugg i ezmlm. Nyligen upptäckte jag ett par buggar i ezmlm som gjorde att alla listor slutade fungera. Det ena felet berodde på att fillåsningen inte fungerade (man fick då ett felmeddelande som sade:

ezmlm-sub: fatal: unable to obtain /home/userX/LOGIN/ml/LISTDIR/lock:
operation would cause deadlock

Denna bugg är fixad med den nya versionen av ezmlm som finns på mitt konto. Ni som satt upp ezmlm listor tidigare, och har en lokal installation av ezmlm bör läsa hur man uppgraderar till att använda den version som ligger på mitt konto. Den andra buggen har att göra med arkiverade listor. För tillfället fungerar inte arkiverade listor med den version av ezmlm som finns på mitt konto.

Det felmeddelande ni kommer att få ser ut någonting liknande detta:

Segmentation Fault
ezmlm-archive: fatal: Unknown temporary error from child
I'm not going to try again; this message has been in the queue too long.

För att slå av arkiveringen på en lista, för att på så sätt få den att fungera, måste ni göra följande:

chmod +t $HOME
ezmlm-make -+ -e -A ~/ml/LISTDIR
chmod -t $HOME

där LISTDIR är den katalog där er lista ligger. Notera att när ni gör detta så återställs prefix filen (om ni har ett prefix i subjectraden på er lista) till ursprungsvärdet, så ni får ändra den igen. När jag fixat buggen i ezmlm kommer jag att skicka ut ett mail till min Qmail lista.

Ännu en orska till att en lista inte fungerar kan vara att ni redigerat en lista, och då slagit på stickybiten på er hemkatalog (chmod +t $HOME) för att stoppa leveranser av mail till era listor medan ni ändrar dem, men sedan glömt att slå på det igen. Om ni kör:

ls -ld $HOME

och det ser ut så här (notera t bland flaggorna till vänster):

drwxr-xr-t 22 matax algonet 4096 Feb 26 19:03 /home/user7/matax

så är stickybiten på. För att slå av den kör ni:

chmod -t $HOME

Om ni gjort rätt kommer t inte att synas i raden av flaggor.

17.29 Jag har ezmlm installerat lokalt, men vill köra den version som ligger på ditt konto. Hur gör jag?
Plocka bort de gamla raderna i er .cshrc fil som setupskriptet bad er lägga till (setenv MANPATH samt setenv PATH raderna). Därefter raderar ni ~/local katalogen och allt som finns i den. Om ni installerat annat i den katalogen än ezmlm, så får ni manuellt plocka bort de saker som hör till ezmlm, så att ni kan spara de andra sakerna som ni installerat där.

Därefter följer ni instruktionerna i avsnittet om hur man installerar ezmlm.

Notera att det är inte nödvändigt att radera ~/local. Den lokala installationen av ezmlm kommer inte att användas, så för att spara plats på ert konto kan det vara bra att radera den gamla, lokala, installation av ezmlm.