fetchmail
Also wir stellen uns folgende Situation vor, Wir haben ein Emailkonto e@mail.de von unserem Provider haben wir folgende Zugangsdaten bekommen
pop-Server : pop.popserver.de smtp-Server : smtp.mailserver.de
Username : abcde Password : passwort
Normalerweise würden wir die Email mit unserem Mail-Client Mozilla-Mail abholen, aber wir wollen ja das sie dem Mailserver zugestellt werden, damit der sie weiterverteilt, und zwar soll die Mail an den Benutzer root am server weitergeleitet werden. Und genau für diese Fälle benutzen wir fetchmail. Die Konfiguration von fetchmail gehört mit zu dem einfachsten was es bei Unix/Linux gibt, man editiert die Datei /etc/fetchmailrc, (ist sie nicht vorhanden erzeugt man sie einfach) und schreibt hinein (wer unser obiges Beispiel wiederfindet hat sich ein Eis verdient):
poll "10.11.12.13" protocol POP3 : user "mailboxname" there with password "00000" is "userhier" here keep;
poll "pop.popserver.de" protocol AUTO: user "abcde" there with password "passwort" is "root" here fetchall;
poll "mx.nix.net" protocol IMAP : user "dings@nix.net" there with password "qwert" is "dings@bums.com" here ;
soll heissen:
Hol von dem Server mit der IP 10.11.12.13 per pop3 alle email für den Benutzer mailboxname mit dem Passwort 00000 ab aber lass Kopien (keep) auf dem Server liegen und gibt sie weiter (an sendmail) als Mail für userhier.
Der nächste mailserver wird per dns adressiert fetchmail versucht das Protokoll automatisch zu bestimmen und es werden alle email vom Server gelöscht (fetchall).
Beim dritten schliesslich wird die Mail per IMAP abgeholt. Und die Mail an dings@bums.com weitergereicht.
Wichtig ist nur, das man die Hochkommata beachtet und : / ; nicht vergisst. user "......." there ist immer der Name with password "......." das Passwort unter dem man auch mit einem lokalen Mailprogramm wie Outlook oder Mozilla Mail seine Email abholt. is "........." here bezeichnet den Namen des Useraccounts an den die Mail gehen soll.
Wie gesagt macht Fetchmail nichts anderes als eine Reihe von Email von diversen Mailservern abzuholen die Adresse zu ändern und diese in die Warteschlange des lokalen Mailservers zu legen. Für den Mailserver selbst spielt es keine Rolle wie diese dorthingelangt sind man kann sie auch manuell dorthinkopieren, er bearbeitet sie einfach weiter.
Gestartet wird fetchmail sinnvollerweise mit fetchmail -f /etc/fetchmailrc wobei -f für file steht, das heisst fetchmail bezieht seien Parameter aus der hier angegebenen Datei, alternativ könnte man natürlich auch alle Parameter manuell auf der Konsole angeben (siehe hierzu man fetchmail). Wenn wir unsere datei schlumpf genannt und sie in den Ordner /var gelegt hätten würde unser Aufruf übrigens fetchmail -f /var/schlumpf heissen. Das können wir dann aus einem script starten (z.B. jedesmal wenn wir online gehen, oder per cronjob alle * Minuten, ...).