E-Mail unter LINUX |
Dies ist die Beschreibung einer Beispielkonfiguration. Das Ziel ist eine E-Mail Anbindung ans Internet für eine Linux-Workstation. Dabei sollten die E-Mail für alle Benutzer der Maschine zentral geholt und versandt werden. Als Distribution wurde S.u.S.E. 7.0 verwendet. Der Provider ist T-Online.
O DeliveryMode=deferred # "Smart" relay host DSsmtp.t-online DMwillemer.deDer DeliveryMode erreicht, dass Nachrichten nur noch versandt werden, wenn sendmail -q aufgerufen wird. DS beschreibt den Mailserver, an den abgehende Mails versandt werden. In diesem Fall wurde der smtprelay von T-Online verwendet, dadurch kann ich meine eigene Domain als Absender verwenden. Hinter DM steht die Absendeadresse. Dies kann eine komplette Adresse wie anton@foo.de sein oder eine Domäne wie willemer.de, die dann einfach an den Nutzernamen angehängt wird. So habe ich ein Account arnold auf dem Linuxsystem. Beim Senden macht sendmail daraus den Absender arnold(at)willemer.de. Da alle anderen Nutzer auf dem Gerät ebenfalls eine @willemer.de-Adresse haben, vereinfacht sich die Installation entsprechend.
Der Startaufruf der von sendmail bei Starten des Systems befindet sich in der Datei /sbin/init.d/sendmail, in anderen Distributionen wohl in /etc/init.d/sendmail. Dort sollten die Attribute des sendmail-Aufrufs auf "-bd -om" eingestellt werden. Unter S.u.S.E. ist das eine Environmentvariable im Skript.
Zum Test wird mit elm oder mail eine E-Mail an eine eigene Internetadresse geschrieben. Man wechselt zum root. Mit mailq sollte die Nachricht anschließend sichtbar sein. Jetzt wird die Verbindung geöffnet und mit sendmail -q das Senden erfolgt sein. Über einen Webmailer (z. Bsp. webmail.t-online.de) kann man anschließend prüfen, ob die Mail einwandfrei versendet wurde.
Konfiguriert wird der Dienst über die Datei ~/.fetchmailrc des Benutzers root. Meine Maschine hat darin folgende Einträge:
poll pop3.web.de protocol POP3 user arnold.willemer password ****** is arnold poll pop3.t-online.de protocol POP3 user willemer password . is arnold poll pop.gmx.net protocol POP3 user andrea.willemer@gmx.de password ***** is andreaBeim T-Online Account ist das Auslesen nicht passwortgeschützt, da der Verbindgungsaufbau die Authentizität gewährleistet. Hier kann als Dummypasswort ein Punkt verwendet werden. In den anderen Mailboxen muss hier leider das Passwort im Klartext stehen. Die man-pages von fetchmail beschreiben zwar, dass man dies auch durch .netrc konfigurieren kann, aber leider ist mir das nicht gelungen.
Damit nicht jeder die Passwörter auslesen kann, muss die Datei mit chmod 710 .fetchmailrc für Fremde unlesbar gemacht werden.
Anschließend sollte der folgende Aufruf alle Mailserver abklappern und die E-Mails ins eigene Mailsystem stellen.
fetchmail -k -L /var/log/fetchmailDamit man die E-Mails auch lesen kann, muss noch einmal sendmail -q durchgeführt werden. Der Parameter -k sorgt dafür, dass die Mails nicht auf dem Server nach dem Lesen gelöscht werden. Insbesondere in der Testphase eine hilfreiche Option. fetchmail liest nur ungelesene Mails. Sollen alle gelesen werden, verwendet man -a.
echo "Post holen..." >/dev/xconsole fetchmail -k -L /var/log/fetchmail >/dev/xconsole echo "Post senden..." >/dev/xconsole sendmail -q
| Homepage | (C) Copyright 2001 Arnold Willemer |