Inhalt

4. Mails empfangen

Anm.: wenn der Mailserver einen DNS-Eintrag und eine feste IP-Nummer hat, kann dieses Kapitel übersprungen werden.

Im vorherigen Abschnitt wurde der Mailserver eingerichtet um E-Mails zu versenden. Bei dynamischer IP können externe Mails, die an lokale Benutzer adressiert sind von den Mailservern nicht direkt ausgeliefert werden. Sie werden an den Mailserver des ISP gesendet und müssen selbst abgeholt werden. Hierzu gibt es das Programm fetchmail. Es ruft Mails bei beliebigen Mailservern ab und liefert sie an die lokalen Benutzer.
Weiterhin ist es meist notwendig, dass vor dem Versenden der Mails zuerst eine POP3-Authentifizierung erfolgt. D.h. bevor das unter 3.3.4 aufgelistete Script zum Versenden aufgerufen wird, sollte eine Abfrage mit fetchmail erfolgen.

4.1 Mailretrieval - fetchmail

Fetchmail kann für einen Rechner die Mails aller Benutzer, oder für eine einzelne Person mehrere Mail-Accounts verwalten. Zum Arbeiten mit fetchmail muß die Datei /root/.fetchmailrc bearbeitet werden.

4.1.1 Die Datei '.fetchmailrc'

In der Datei .fetchmailrc werden die Usernamen und Kennwörter der E-Mail- Accounts im Klartext gespeichert. Sie darf daher nur für den User root lesbar sein (chmod 600 .fetchmailrc als root) - ansonsten Verweigert fetchmail seinen Dienst. Falls sie noch nicht existiert kann sie mit einem Editor (z.B. vi) erstellt werden.
poll mail.64-bit.de           protocol POP3   user bender   password qwerzu  to dirk 
poll mail.uniserver.de protocol POP3 user bender password 88rr to dirk 
poll gate.zweiterserver.de protocol POP3 user bender password die2 to dirk
poll mail.64-bit.de protocol POP3 user sybille password 4711m to sybille
poll pop.server.de protocol POP3 user mrd31 password slk300 to willi
Die benutzten Schlüsselwörter haben folgende Bedeutung: Anm.: fetchmail kann die Mails auch von Accounts mit SSL-Verschlüsselung abholen. Details findet man in der Manualpage oder Fetchmail-FAQ.

4.1.2 Die Dateien 'locals' und 'rcpthosts'

In den Dateien locals und rcpthosts sollte auf jeden Fall noch der Eintrag localhost hinzugefügt werden. Ansonsten weiss qmail nicht, dass die von fetchmail übergebenen Mails für die lokalen Benutzer gedacht sind. Ein Auszug aus locals:
localhost
mail.64-bit.de
postbote.heimnetz

4.2 Mails abholen

Nach der Erstellung der .fetchmailrc können die Mails mit folgenden Kommando abgeholt werden:
fetchmail -v --keep -a >> /var/log/fetchmail 2>&1
Die --keep Option sorgt zunächst dafür, daß die Mails auf dem Server nicht gelöscht werden. Dies ist zum Test dringend empfohlen! In /var/log/fetchmail wird alles protokolliert. Der Parameter -v sorgt für ausführliche Informationen. Nach einem erfolgreichen Test empfiehlt sich folgendes Kommando zu benutzen und in die Scripte, die die Netzverbindung herstellen einzutragen:
fetchmail -a >> /var/log/fetchmail 2>&1


Inhalt