Anpassning av Mailman för nyhetsbrev.

Anteckningar från konfigurering av Mailman-epostlista för nyhetsbrev på Oderland..

Allmänt
GNU Mailman är ett fritt program skrivet i Python för att hantera sändlistor. Det kan administreras genom ett webbgränssnitt eller med e-post. Också för användarna finns webbsidor för att anmäla sig till en lista m m. Sedan kan man skicka e-post via listan till alla deltagare utan att behöva specificera alla adresser varje gång. Detta sköts centralt på servern. Programmet har dessutom arkivmöjligheter.

Krav på ett nyhetsbrev
Mailman brukar fungera bra med standardinställningarna (och de är många!) men för ett nyhetsbrev blir det tvärt om. Dessutom finns standardmeddelanden på många språk, inte heller anpassade för nyhetsbrev. Mitt är på svenska och bara listans administratör ska skriva till det.

Inställningar
Som grund har jag haft How do I create a newsletter/announcement/one-way list?. Den som trivs bättre med engelska använder den sammanställningen och skummar bara igenom mina anteckningar ...
Se också How do I create a newsletter (admin-post only)

Ett råd jag inte försökt följa är att slå på personalisering under Inställningar för normalversion (the NonDigest section):

Turn on personalization under the NonDigest section so people get their options page URL included in the footer of every message.

In 2.1 personalization is not enabled by default -- adding: OWNERS_CAN_ENABLE_PERSONALIZATION = 1 to ${prefix}/Mailman/mm_cfg.py will reveal this functionality.

3.15. How do I enable personalization (messages tailored to the recipient)?
Personalization may considerably increase your bandwidth usage
To allow list owners to personalize messages, set the OWNERS_CAN_ENABLE_PERSONALIZATION variable to true. (Read about it in $prefix/Mailman/Defaults.py, but change it in $prefix/Mailman/mm_cfg.py.) Note that "true" in Python is the value 1 (one).

Now the owner of each list can turn on personalization of that list. To turn on personalization, login as list owner and look at the second option under "Non-Digest Options". Follow the "details" link for a helpful discussion of how you can personalize the messages.

Den inställningen kräver betydligt större bandvidd därför att varje försändelse hanteras separat och i sidfoten får en länk till medlemmens egna inställningssida, något som ska underlätta bl a utträde.

Detta har jag gjort i webbgränssnittet:
(sorterat i den ordning kategorierna kommer och med svenska som förvalt språk):

För att förstå alla dessa inställningar gjorde jag en testlista och provade mig fram. Vill man ändra välkomstmeddelande, webbsidor mm måste man anpassa Mailmans mallar enligt nedan.

Anpassning av meddelanden
I Mailman 2.1.x kan man anpassa webbsidor och meddelanden som skickas ut som bekräftelse när man vill gå in i resp lämna listan. För att göra ändringar måste man först kopiera de mallar som kommer med Mailman. Hittas med "ls ~mailman/templates" (På Oderland /usr/local/cpanel/3rdparty/mailman/templates). Mallar för administratör och användare är där sorterade på språk.

Normalt använder man webbsidor både som prenumerant (anmälan, utträde, ändringar) och som administratör och kommer åt sina data med hjälp av lösenord. De filer som prenumeranterna ser är då listinfo.html, masthead.txt, options.html och subscribe.html.

Mailmans e-postsvar skapas från subscribeack.txt, subscribe.txt, unsub.txt och verify.txt, filer som behöver kopieras och redigeras.

Först hade jag tänkt använda webbsidor på svenska, engelska och tyska. Men efter lite tester bestämde jag mig för att inte använda Mailmans webbsidor. Man kan istället skapa ett formulär som skickar mail till <listans namn>-request@<server> med ämnesraden subscribe resp unsubscribe. Mailman skickar då ett mail där man får bekräfta ansökan och sedan välkomstbrev som bygger på subscribeack.txt. På detta sätt slipper användarna hålla reda på eller skicka efter lösenord, något som kan bli ett säkerhetsproblem.

Välkomstmeddelandet när man anmält sig innehåller bl a "För att skicka ett e-postbrev till listan, skicka det till: ..." och "få ett sammandrag", uttryck som jag inte vill ha med.
Ta bort delar av välkomstmeddelandet subscribeack.txt: För detta behövs skrivrättigheter eller webbhotellets support. På Oderland löstes detta genom att skapa ~mailman/lists/<listans namn>/sv, en och de och ändra ägandet till katalogerna och för bekvämlighet göra symboliska länkar till sv, en och de (aktuella språk) under den egna hemkatalogen. T ex subscribeack.txt

Välkommen till e-postlistan %(real_name)s@%(host_name)s ! %(welcome)s Du kommer nu att få Folkmusikhusets utskick med ordinarie utgivning ca en gång/månad.

Om du önskar att avsluta prenumerationen går du enklast in på Folkmusikhusets hemsida och avanmäler dig. Du får då ett bekräftelsebrev att besvara.

Trix: "Egen" webbsida, kod för antal prenumeranter
I RFC 2369 definieras en rad List-* fält i meddelandehuvudet. Dessa kan användas av e-postprogrammet som hjälp till användaren och innehåller bl a länkar som öppnar listinfo.html för att man ska kunna anmäla och avsluta prenumeration. Jag har i stället en egen sida med formulär, Innehållet i filen listinfo.html har jag därför ersatt med:

<HTML> <HEAD>
<META HTTP-EQUIV="Refresh" CONTENT="5; URL=http://servernamn.se/sv/epostsida.html">
<TITLE>Epostlistan</TITLE>
</HEAD>
<BODY>
<H1>Vänta lite.</H1>
<H3>Välkommen</H3>
Du kommer snart till E-postsidan
<P>
Tryck <A HREF="http://servernamn.se/sv/epostsida.html"> här </A> om inget händer!<BR>
</BODY> </HTML>
Jag har "slaktat" subscribe.html och skrivit bara en rad, variabeln i Mailman som anger antalet prenumeranter:
<MM-Num-Reg-Users>.
På prenumerationssidan har jag php-koden
<?php
$data = file_get_contents ("http://servernamn.se/mailman/subscribe/lista" );
preg_match ("/\d+/", $data, $content );
echo "{$content [0]}";
?>
Den returnerar och skriver antalet prenumeranter på prenumerationssidan.

Det kanske finns enklare/bättre sätt att göra detta - tar gärna emot tips!

Länkar:
Folkmusikhusets hemsida med anmälningsruta och prenumerationssida med ytterligare information.
Se också 4.33. How do I put a subscribe form for my list on a web page? med kodexempel.
Mailman vid Åbo Akademi
MM Variables

Åter början


Sidan besökt 803 gånger sedan 22 juli 2004.

Åter hemsidan

Se också sidor om:

Error robot   Skapa anpassade felmeddelanden (bättre kolla fellogg)
PHP   Tester med PHP på Algonet  
SSH   Secure shell - bättre än Telnet  
WAP   Grunder för att publicera för WAP-telefon  
XSSI   Extended Server Side Includes Anpassar för datum, webbläsare mm
Allmänt   Tekniska grunder Varför sidorna flyttats till Oderland & Co
    Titta gärna in hos Folkmusikhuset i Stockholm

Kontakta Arne Kjellman arnek@sverige.nu
Uppdaterad 2004-10-02
Delivered by Mailman
version 2.1.5
Python Powered GNU's Not Unix

Valid
   HTML 4.01! Visas bäst med Valfri web-läsare
Server 91.201.60.12