| Navigationsleiste | Direktzugriff | Software | Home |
Im ersten Teil des Email-Servers [1] erfährst wie du die Emails aller Benutzer abholst und verteilst.
Dazu dient uns fetchmail.
Am einfachsten ist es fetchmail mit den Hilfsmittel deiner Distribution
zu installieren (SuSE: Yast; Mandrake: Software-Manager; Debian: apt-get).
Solltest du es dort nicht finden oder eine zu alte Version haben, kannst
du es aus den Quellen installieren.
Sollte dein Provider dir anbieten die Emails sicher via SSL abzuholen, lies bitte diesen Tuxhausen-Artikel: fetchmail und SSL [3], dort steht auch drin wie du fetchmail aus den Quellen kompilierst.
fetchmail erwartet seine Konfigurationsdatei im Homeverzeichnis des Benutzers
unter dem Namen ".fetchmailrc" .
Die Emails bitte NICHT als root abholen, am besten einen extra Benutzer dafür erstellen !!
Der Aufbau der Datei ist sehr einfach:
In dem folgendem Beispiel werden die Emails von Angela und Bert bei Puretec
abgeholt.
Die Emails von Angela und Bert werden in die INBOX (meist /var/spool/mail/Benutzername)
abgelegt.
Als kleinen Zusatz zu den Fähigkeiten fetchmails werden noch die privaten Emails von markus
(m.u@gmx.net) abgeholt und diese mit procmail sortiert.
Auf procmail gehe ich zunächst nicht weiter ein, vielleicht kommt mal ein
Artikel (bei Interesse bitte mailden):
#.fetchmailrc |
Die einzelnen Zeilen haben die folgende Bedeutung:
| server | Der Name des Servers von dem du die Emails abholst |
| proto | Das Protokoll des Servers. Meist wird POP3 benutzt |
| user | Der Benutzername von dem du die Emails abholen willst |
| pass | Das Passwort des Benutzers |
| to | Emails direkt in die INBOX vom lokalen Benutzer gespeichert |
| keep | Zum Testen kann keep verwendet werden, dann werden die Emails auf dem Server nicht gelöscht |
| mda | Emails werden an das Programm (hier /usr/bin/procmail )weitergeleitet (procmail ist ein Mailfilter-Programm) |
Die Optionen to und mda möchte ich noch etwas erläutern:
Normalerweise hat man bei seinem Provider einen anderen Benutzernamen als
auf dem privaten Arbeitsplatz-Rechner. Deswegen muß man fetchmail sagen
was er mit der Email machen soll. Sagt du das nicht, landen alle Emails
in der INBOX des Benutzers der die Emails abholt. Wenn du die Emails für
mehrere Leute abholst, geht das natürlich nicht.
Mit der Option to werden die Emails dem angegebenen Benutzer zugeordnet und in /var/spool/mail/ abgelegt.
Im ersten Teil des Beispiels werden also alle Emails des Users hdv45 dem
lokalen Benutzer angela zugeteilt. Die Emails landen dann in /var/spool/mail/angela.
Mit der Option mda können die Emails an ein anderes Programm weitergegeben werden. Sinnvoll
wäre der Filter procmail oder ein Virenscanner-Programm (das aber nach
dem Scan die Email weiterleitet !). Auf diese Optionen möchte ich hier
nicht weiter eingehen.
Noch ein Tipp:
Holst du die Emails verschiedener User von dem selben Server ab, kannst du server und proto ab dem zweiten User-Eintrag sparen. Die Einstellung gilt für alle folgenden
user; bis zum nächsten server.
Im obigen Beispiel trifft das auf hdv46 (Bert) zu.
So, nachdem du deine .fetchmailrc geschrieben hast, probieren wir Sie aus.
Am Besten schreibst du erstmal ein keep als Option, dann kann nichts mit deinen nichtabgeholten Emails passieren.
Nun logst du dich als der Benutzer ein, bei dem die .fetchmailrc im Homeverzeichnis
liegt:
| [tux ] $ fetchmail #Emails
abholen 1 message for hdv45 at pop.puretec.de (1244 octets). reading message 1 of 1 (1244 octets) . flushed fetchmail: No mail for hdv46 at pop.puretec.de fetchmail: No mail for m.u@gmx.net at pop.gmx.de |
Du siehst nun folgendes:
Das wars, die Emails wurden angeholt und einsortiert.
Denk daran die Option keep wieder aus der .fetchmailrc zu entfernen, sonst wurden sich einige Benutzer
warum die Email immer wieder ankommt.
Eine Sache solltest du aber noch ändern:
fetchmail sollte als Daemon laufen und selbstständig periodisch die Emails
abholen, sonst müßtet du immer selber fetchmail eintippen.
Das ist auch aber auch nicht schwer:
Für den Daemon-Modus schreibt du folgendes:
| [tux] $ fetchmail --daemon 500 #fetchmail
holt die Emails automatisch alle 500 sec ab [tux] $ fetchmail --quit #Beendet den im Daemon-Modus laufenden fetchmail |
Mit dem Parameter --daemon 500 startest du den Daemon-Betrieb, und zwar
holt fetchmail dann alle 500 Sekunden die Emails ab.
Und mit dem Parameter --quit beendest du den im Daemon-Modus laufenden
fetchmail, sehr schön für Skripte.
Damit das Ganze auch noch nach dem nächsten Booten funktioniert solltest
du dir ein Init-Skript schreiben, oder jeden Morgen um 6h fetchmail per
cron-Job starten und abends wieder beenden.
Auf gehts zum nächsten Teil des Email-Servers: Emails vom Server abholen mit IMAP [4]
Eigentlich nur die man-Pages und die zu fetchmail Dokumentation.
Auf der fetchmail-Homepage
[1] gibt es eine FAQ und die man-Pages als HTML
| [1] | Tuxhausen - Email-Server: | http://www.tuxhausen.de/email-server.html |
| [2] | Fetchmail Homepage: | http://fetchmail.berlios.de/ |
| [3] | Tuxhausen - fetchmail und SSL : | http://www.tuxhausen.de/software_fetchmail_ssl.html |
| [4] | Tuxhausen - Emails vom Server abholen mit IMAP: | http://www.tuxhausen.de/imapd.html |
| Erstellt am: 2002-04-13 | Autor: Markus Ungermann |
| Last Update: 2006-08-14 | URL: http://www.tuxhausen.de/fetchmail.html |