Unter Linux ist es mit Hilfe von sendmail, qpopper und fetchmail relativ einfach einen EMailserver aufzusetzen, d. h. einen Rechner der für angeschlossene Intranet-Client-Rechner EMail ins www versendet und aus dem www empfängt. Das relativ beschränkt sich hierbei auf einfaches smtp, smtp-auth (aka smtp-after-pop) ist da etwas komplexer.


Zuerst das grundsätzliche :
als Hardware reicht prinzipiell alles aus was noch läuft, für das normale Mailaufkommen von bis zu 10 Personen sollte bereits ein 486DX2-66 mit 16 MB RAM ausreichen
smtp - "Simple Mail Transfer Protocol" - damit wird die Email _versendet_
pop - "Post Office Protocol" - damit wird die Mail empfangen
sendmail - zum versenden der EMail
fetchmail - zum Empfang der EMail
qpopper - wird von fetchmail benötigt



Als Basis nehmen wir auch hier die SuSE 7.2. Zuerst installieren wir über yast die Pakete sendmail, fetchmail und qpopper. Danach, ebenfalls mit yast unter /Administration des System/Netzwerk konfigurieren/Sendmail konfigurieren wählen wir "Rechner mit temporäre Netzwerkverbindung" oder "Rechner mit ständiger Netzwerkverbindung" aus (bei einem zeitabgerechneten Zugang sollte unbedingt "Rechner mit temporäre Netzwerkverbindung" gewählt werden da sonst die Gefahr besteht das sich der Rechner für jede EMail ins www einwählt. Kann teuer werden ;-) )


Danach tragen wir im "Expertenmodus" folgendes ein :

Domainnamen für lokale Zustellung     localhost ihr-hostname    (kann man nach Eingabe von "hostname" herausfinden)
Host für alle ausgehende Mail     smtp.von-ihrem-provider.com
Mail nur in die Queue stellen     [X]
sendmail als smtp-Demon starten     [X]
kein canonify der Hostnamen     [X]
Kommandozeilenparameter     -bd -om     (das -q30m bedeutet das sendmail alle 30min versuchen soll sich mit dem smtp zu verbinden)



Nun muß für jeden User der über diesen Rechner seine Mail abwickeln will noch ein acount angelegt werden. Idealerweise sollte dabei als Login-Shell /bin/false gewählt werden um ein Login der User auf dem Mailserver zu verhindern . Dann yast verlassen .


In /etc/mail muss die Datei genericstable angepasst werden :

carsten     carsten-becher@cbecher.de
carsten@localhost     carsten-becher@cbecher.de

Und so weiter für jeden in Frage kommenden User.


Dann sollten wir in der Datei access noch festlegen welche Rechner alles über unseren Server Mail versenden dürfen (idealerweise beschränken wir uns hier aufs eigene Intranet :

127      RELAY
192.168  RELAY

Nun löschen wir im Verzeichnis /etc/mail alle Dateien mit der Endung *.db und erstellen sie danach neu mit dem Befehl "make" (die Textdateien die wir vorher editiert haben dienen nur als Grundlage für die *.db - Dateien und werden nicht direkt verwendet.


Nun sollten wir die Datei /root/.fetchmailrc anlegen/editieren. In dieser Datei wird festgelegt welche externen Mailaccounts (also beim Provider) mit welchen Passwörtern abgefragt werden :

defaults proto pop3

poll pop.ihr-provider.com user Ottos-Name-auf-dem-Mailserver pass ottos-passwort is Ottos-Mailserveraccountname

Da diese Datei die ganzen Passwörter im Klartext enthält sollte sie nur von "root" lesbar sein !!!!!!


qpopper wird aus der inetd.conf heraus aufgerufen :

pop3 stream tcp nowait root /usr/sbin/tcpd /usr/sbin/popper -s -R



Jetzt noch ein cron-Eintrag für fetchmail (wird ohne Parameter einfach mit "fetchmail" aufgerufen) und für sendmail (wird sendmail -q -v aufgerufen).


Wenn etwas nicht so recht will helfen die Einträge in /var/log/mail und /var/log/warn weiter .


Auf den Clients wird einfach der eigene Mailserver eingetragen - fertig.