offline mailinglist
Normaal gesproken moet je een geregistreerde domeinnaam en een permamente
verbinding met het Internet hebben om een mailinglist aan te bieden.Wij laten je zien hoe je hetzelfde kunt bereiken met een inbel-verbinding en een dynamisch IP.
Waar is een mailinglist goed voor?
Een mailinglist ondersteund de communicatie tussen veel mensen die in
hetzelfde onderwerp geïnteresseerd zijn.
De service werkt vergelijkbaar met een nieuwsgroep al heb je geen speciale
news client nodig, je eigen mail client volstaat.
Een schets van het informatie netwerk ziet er als volgt uit:
Als iemand in de lijst van van geregistreerde clients een bericht naar
alle leden van de lijst wil sturen hoeft hij niet te weten wie dit
allemaal zijn. Hij stuurt alleen het bericht naar de server
(list@server.com) en de server verzend het naar iedereen die is
ingeschreven op de lijst.
Hier kun je zien dat deze service verschilt van die je op webpagina's
vindt. Daar kan alleen de beheerder van de websites een e-mail naar alle
ingeschreven leden sturen (een zogenoemde annouce (aankondiging) list).
Echte mailinglists volgen het idee dat de inhoud van de e-mails gericht is aan een speciale client maar dat alle anderen de discussie kunnen volgen.
Wanneer en waarvoor heb je een mailinglist nodig?
Hier zou een grote collectie taken kunnen staan. Ontwikkelaars van Linux
programma's gebruiken er vaak een omdat de programmeurs verspreid zitten
over de hele wereld.
Maar je kunt ook een mailinglist voor privé taken maken, zoals
bijvoorbeeld een lijst voor klasgenoten van school of een sportteam.
Data en discussies kunnen dan door iedereen worden gevolgd.
Probleem: offline
Op de malinglist server draaid meestal majordomo voor het automatisch
beheren van de mailinglist(s).
Dit programma kan commando's uitvoeren die verstuurd zijn via e-mail,
zoals in- en uitschrijvingen op een lijst.
Verder krijgt iedere mailinglijst zijn eigen e-mail adres dat wordt
gebruikt voor de communicatie tussen de clients.
Als je geen permanente verbinding met het Internet hebt, heb je het
probleem dat je, iedere keer als je inbelt, een dynamisch IP en een andere
domeinnaam krijgt.
De mails van de clients bereiken de server niet omdat hij niet is ingebeld
of omdat hij een andere domeinnaam heeft gekregen. Nu weet je waarom
mailinglijsts meestal op permanent-verbonden servers worden geplaatst.
Met wat meer werk en enkele truuks kun je ook zonder een vaste verbinding met het Internet een mailinglijst aanbieden.
Ook zonder een permanente Internet verbinding heeft iedereen een e-mail
adres of kan er een krijgen. Veel ISPs of andere bedrijven bieden een POP3
account op hun servers, waar je e-mail in wordt opgeslagen terwijl je
offline bent.
Nadat je bent ingebeld, kan de mail automatisch worden opgehaald voor je
lokale computer (of het hele lokale netwerk). Zie ook
fetchmail I en
fetchmail II.
Voor een offline mailinglijst heb je een POP3 server nodig waar je je opgeslagen e-mails kunt ophalen om deze door te sturen naar je lokale Majordomo.
In veel Linux distributies is majordomo reeds opgenomen, maar het kan op
veel manieren geconfigureerd worden die nodig zijn voor normaal gebruik.
Zo kun bijvoorbeeld commando's voor de mailinglijst toevoegen aan het
e-mail adres.
Maar dit werkt niet offline (wellicht met veel meer, maar onnodig werk).
In plaats daarvan gebruiken we het "kleine broertje" van majordomo,
genaamd Minordomo. Deze is makkelijk te installeren en
configureren en biedt voldoende functionaliteit voor de gebruikelijke
taken.
De commando's voor de mailinglijst server moeten in de onderwerp regel
worden geschreven, offline gebruik is dus mogelijk.
Installatie
De installatie gaat erg vlot.
Eerst haal je het programma (als tarbal) op van de homepage,
http://www.nodomainname.net/software/minordomo/ en pak het uit naar
/usr/local met
>> tar zxvf minordomo-0.7.6.2.tar.gz -C /tmp/Je hoeft het niet te compileren omdat het een perl script is. Je moet echter wel het eigenlijke programma minordomo.pl naar /usr/local/bin/ kopiëren:
>> cp -a /usr/local/minordomo-0.7.6.2/minordomo.pl /usr/local/bin/Het programma zoekt zijn configuratie in het bestand: /etc/minordomo.conf:
>> cp /usr/local/minordomo-0.7.6.2/minordomo.conf.sample /etc/minordomo.confHet beheer van de mailinglijst vindt plaats in de directory /var/lib/minordomo:
>> mkdir /var/lib/minordomoVervolgens maak je een subdirectory voor iedere lijst
>> mkdir /var/lib/minordomo/lijstnaam
PROBLEEM:
Het programma sendmail moet lees en schrijfrechten hebben voor de
directories en bestanden in /var/lib/minordomo.
Maar de user- en group IDs van sendmail verschillen per distributie.
De user.group is soms mail.mail, maar SuSE gebruikt
daemon.daemon.
De eigenaar van de bestanden kun je veranderen met
>> chown deamon.deamon FILENAMEAls je het user en groep ID van van sendmail niet weet, kun je ook alle gebruikers schrijf-toegang geven. Nadat sendmail de subdirectory archive heeft gemaakt, kun je de eigenaar zien via
>> ls -l /var/lib/minordomo/lijstnaam/archive/ total 1 drwxr-xr-x 3 daemon daemon 1024 Sep 12 17:16 2000Verwijder de schrijftoegang voor alle gebruikers weer en geef de bestanden het user- en groep id van sendmail (hier is het deamon.deamon).
Vervolgens configureer je enkele bestanden.
Voorbeelden zijn te vinden in de directory
/usr/local/minordomo-0.7.6.2/sample-list. De volgende bestanden
kopieer je naar /var/lib/minordomo/lijstnaam/:
- footer: Deze tekst komt aan het einde van iedere
e-mail en bevat de informatie over hoe je je kunt uitschrijven van de de
mailinglijst.
File /var/lib/minordomo/lijstnaam/footer ---------------------------------------- Listname -- http://www.homepage.de To unsubscribe, send mail to majordomo@pop3server.de with a subject of 'unsubscribe \l'
Minordomo vervangt de entry \l door de naam van de lijst. Het e-mail adres vervang je door het officiële POP3 server adres omdat Minordomo het zou vervangen door naam van de lokale mailserver.
- info: In dit bestand plaats je een langere beschrijving van het thema van de mailinglijst.
- one-liner: Een korte beschrijving van de mailinglijst. (slechts een regel)
- template.html: Dit bestand is alleen nodig als je de website met dit bestand wilt gebruiken.
- config: Je kunt een specifieke configuratie maken in
de subdirectory van iedere mailinglijst.
De instellingen herroepen de algemene configuratie in /etc/minordomo.conf. Zo kun je verschillende configuraties voor iedere mailinglijst gebruiken.
| File /etc/minordomo.conf |
# minordomo.conf - Configuratie bestand voor minordomo mailing list manager # De gebruikte SMTP server -- je bent offline, gebruik hier dus localhost SMTP_server=localhost # De domeinnaam domain=my.domainname.de # De directory waar de verschillende mailinglijsten worden opgeslagen directory=/var/lib/minordomo # Het e-mail adres van de beheerder van de mailinglijst. Omdat je offline # bent, moet je hier een officieel adres opgeven admin=my.name@yahoo.de # Alle lijsten die gearchiveerd moeten worden. Een leeg veld betekend # geen gearchiveerde lijsten, een * betekend alle lijsten archive=* # Je kunt een lijst krijgen van alle ingeschreven leden van de lijst. # Schakel dit uit voor meer privacy list_cmd= # Hier geef je op in welke lijst gepost kan worden, # een * betekend alle lijsten open_lists=* # Gesloten lijsten waar alleen de beheerder naar kan schrijven closed_lists= # Maximale bericht lengte. Deze restrictie schakel je uit met een 0 max_size=0 # Moet minordomo de reply-to entry gebruiken? # Omdat je offline bent, stellen we dit in op "yes" set_re_to=yes # Ieder bericht krijgt deze prefix aan het begin van het onderwerp, # een handig patroon om deze mails in je mail programma terug te vinden. subject_prefix=[lijstnaam] # Homepage van de mailinglijst URL=http://www.homepage.com # De plaats van het template bestand voor het web frontend. # Leeg betekend de default template= |
Vervolgens heb je twee e-mail adressen op een publieke POP3 server op het Internet nodig. Kies als adres bijvoorbeeld iets als majordomo@pop3server.de en lijstnaam@pop3server.de. Deze namen zijn niet erg belangrijk en kunnen vrij gekozen worden. Verder is het nodig dat beide adressen op dezelfde server staan.
Nu moet je de gebruikers minordomo en lijstnaam op je
lokale machine toevoegen. De e-mail wordt dan via de POP3 server naar deze
twee doorgestuurd.
Voeg hiervoor de volgende twee regels toe aan /etc/aliases:
| File /etc/aliases |
minordomo: "|/usr/local/bin/minordomo.pl" lijstnaam: "|/usr/local/bin/minordomo.pl lijstnaam" |
Om de nieuwe entries te activeren, type je
>> newaliasesOm er zeker van te zijn dat de e-mails vanaf het Internet worden doorgestuurd naar het lokale adres, voeg je de volgende regels toe aan je /root/.fetchmailrc (voor een gedetailleerde configuratie, zie: fetchmail I en en fetchmail II).
| /root/.fetchmailrc |
poll pop3server.de protocol pop3 user LOGIN_NAME pass PASSWORD to listname poll pop3server.de protocol pop3 user LOGIN_NAME pass PASSWORD to minordomo |
Om het ophalen ook te automatiseren kun je entry maken in /etc/ppp/ip-up (als je die nog niet had):
| /etc/ppp/ip-up |
fetchmail -q fetchmail -d 300 |
Afhankelijk van je sendmail configuratie wordt de mail vanaf het Internet direct naar je doorgestuurd of eerst gebufferd in /var/spool/mqueue/. Als het laatste het geval is op jouw machine, heb je nog de entry sendmail -q nodig aan het eind van /etc/ppp/ip-up (ook als je dezelfde entry aan het begin van het bestand hebt):
| /etc/ppp/ip-up |
sleep 200 sendmail -q |
Nu wordt de mail die afkomstig is van de leden van de mailinglist niet
alleen klaar gezet, maar ook verstuurd.
(Let op: SuSE heeft een bestand, waarin ip-up en ip-down
beide in zijn opgenomen. Plaats de entries in het deel ip-up)
Vanaf dit punt kun je je inschrijven op de mailinglist. Hiervoor stuur je
een mail naar majordomo@pop3server.de met als onderwerp
subscribe lijstnaam. Als je het antwoord krijgt dat je bent
toegevoegd aan de lijst, wordt ieder bericht dat je naar
lijstnaam@pop3server.de stuurt naar alle leden van de lijst
doorgestuurd.
Een lijst van alle ingeschreven leden kun je vinden in het bestand
/var/lib/minordomo/linuxnetmag/list.
Tips & Hints
- Als je de optie voor het maken van een archief hebt inggeschakeld, kun je het programma minweb.pl naar de cgi directory van je webserver kopiëren. Dan krijg je een comfortabel web front-end voor het bekijken van de verzonden mails.
- Het web frontend werkt alleen op de server die de mails archiveerd en alleen de beheerder kan dit programma gebruiken. Als je het archief publiek wilt maken, kun je sitecopy gebruiken om het bestand naar een publieke server te kopiëren.
- Offline mailinglists hebben een trage doorstroom van mails. Voor tijd-critische discussies zou dit dan ook een slechte oplossing zijn.
- Met minordomo kun je natuurlijk meer dan een lijst beheren. Voor iedere additionele lijst maak je een nieuwe subdirectory in /var/lib/minordomo/, een extra e-mail adres en een nieuwe entry in /root/.fetchmailrc en een nieuwe entry in /etc/aliases. De geboden oplossing werkt ook met een permanente Internet verbinding. Het voordeel zou zijn dat je een mailinglist onafhankelijk van je servernaam kunt aanbieden. Als je een nieuwe domeinnaam hebt, verstoord dit het mail-verkeer niet.
- In principe kun je majordomo ook in een offline modus gebruiken. (Zelfs de commando's in het e-mail adres werken dan als je een publiek POP3 adres voor ieder mogelijk majordomo adres gebruikt.)
Links:
| http://www.nodomainname.net/software/minordomo/ | Homepage van Minordomo |
| http://www.greatcircle.com/majordomo/ | Homepage van Majordomo |
| fetchmail I en fetchmail II). | Artikel(en) over de configuratie van fetchmail |