fetchmail II - mail voor je LAN
Nu gaan we een stap verder en voorzien we een heel netwerk van mail.
We Bouwen Onze Eigen POP3 Server
We hebben alle gebruikers op een lokale PC van mail voorzien in het vorige artikel. Nu willen we een mail server (POP3 protocol) voor een heterogeen netwerk opzetten. In de afbeelding hieronder is een opzet weergegeven die bruikbaar is voor een klein netwerk dat niet continue verbonden is met Internet.
Het netwerk ziet er ongeveer als in de volgende beschrijving uit:
Ten minste een Linux computer die verantwoordelijk is voor een periodieke Internet verbinding en andere computers die hier op aangesloten zijn (Windows Macintosh, OS/2 en Linux).
Schrijf je PC in
De gebruikers die ook op de centrale Linux PC werken welke de Internet verbindingen beheerd (in het geval dat deze PC niet alleen als server maar ook als workstation wordt gebruikt), schrijven een configuratie die vergelijkbaar is met het
vorige artikel. Je maakt .fetchmail;, voegt fetchmail -d 150 toe aan /etc/ppp/ip-up en je bent klaar.
Maar nu moet deze computer ook gebruikt worden voor andere gebruikers in het netwerk die nu nog onbekend zijn (en dat betekend dat ze tot nog toe nog niet hebben kunnen inloggen). Nu moeten we deze gebruikers aankondigen. Dit kan met yast als volgt:
- Administration of the System
- Groupadministration
Je hebt ook de mogelijkheid een nieuwe groep te maken. Er valt wat voor te zeggen om alle gebruikers die alleen een POP3 account nodig hebben in een aparte groep te plaatsen.
Wij zouden een groep "mailer" aanmaken als die nog niet bestaat.
En nu kondigen we de gebruikers aan. Dit kan ook met yast onder
- Administration of the System
- Useradministration
Daar voeg je een nieuwe gebruiker toe. Dit
gaat op dezelfde manier als wanneer je gebruikers voor je locale PC maakt.
De groep waar ze in zitten is de groep "mailer", hun homedirectory
kan /tmp of /dev/null zijn, daar het ze toch niet is toegestaan om bestanden
op de server te plaatsen. De gebruikte login shell is /bin/passwd. Op deze
manier hebben de gebruikers geen directe toegang tot het systeem, alleen de
mogelijkheid het wachtwoord te wijzigen als ze inloggen.
Nu zijn de gebruikers bekend op de POP3-server en kunnen we ze opnemen
in /root/.fetchmailrc
Als alles goed is aangepast, kunnen we beginnen met het .fetchmailrc bestand.
De /root/.fetchmailrc
| Bestand /root/.fetchmailrc |
poll mail.server.de protocol pop3 user MrSmith to smith password cowboy poll mail.server2.de protocol pop3 user C3PO to starwars password lightsaber |
In dit bestand geef je alle locale gebruikers op en voeg je alle andere
gebruikers toe die de Linux computer als POP3 server gebruiken.
Op deze manier zal iedere keer dat er een verbinding wordt opgezet, alle
mail voor alle gebruikers in het LAN worden gedownload en opgeslagen
op de Linux POP3-server tot de gebruiker de mail ophaalt.
Client Configuratie
Voordat de gebruikers hun mail ophalen, moeten ze Netscape, IE Outlook, of wat ze gebruiken om de mail te lezen, configureren. De POP3-server is nu de Linux -PC en ze moeten een IP nummer of hostname in het overeenkomstige veld opgeven. Het wachtwoord voor je mail is nu het wachtwoord op Linux POP3-server en ook de gebruikersnaam. Om correcte antwoorden te krijgen, geef je je Internet e-mail adres op in het "Reply-to address" veld van je mail client XXX@gmx.com).
Deze laatste configuratie was de laatste stap. Nu kun je je mail ook ophalen als de Linux_PC niet is verbonden met het Internet. Je hoeft geen inbel verbinding op te zetten, alleen omdat een enkele gebruiker zijn mail wil lezen.
Als de server pauzeert
In veel prive netwerken wordt de server 's nachts uitgeschakeld. Dan kun je niet langer je mail ophalen vanaf een andere computer, vooral niet vanaf een M$ PC. Linux biedt een oplossing. Je kunt dit soort problemen oplossen door een POP3 server op je Linux client te installeren die regelmatig op de centrale POP3 server de mail controleert en deze afleverd aan de lokale gebruikers. De mail zal worden getransporteerd van server naar server, als er tenminste een netwerkverbinding is. Als de server niet actief is, zal de client wachten tot de server weer beschikbaar is en dan de mail weer ophalen.
Daarvoor heb je opnieuw een .fetchmailrc nodig die mail ophaalt van de centrale Linux POP3-server en deze afleverd bij de lokale gebruikers (de configuratie van dit bestand zou ondertussen duidelijk moeten zijn). Aansluitend dient de fetchmail daemon gestart te worden tijdens het boot proces. Dit kan met een entry in /sbin/init.d/boot.local, deze entry ziet er dan zo uit: "fetchmail -d 150", of je schrijft een script (dit is de duidelijkste manier). In aansluiting zou je ook een cron-aanroep kunnen gebruiken om te controleren op mail.
Nu zal de mail worden uitgewisseld tussen beide Linux computers, als beide zijn ingeschakeld. De gebruiken kan zijn mail zelfs lezen als de Linux POP3-server uitgeschakeld is.