[Raspberry-mailserver] – 6. Fetchmail (mail collector)

Die Linux Philosophie ist ja „ein Programm pro Aufgabe“.
Soll bedeuten:
Unter Windows gibt es Exchange der macht alles (versenden, abholen, …).
Bei Linux gibt es z.B Exim nur zum mails versenden (oder sendmail oder oder -> einfach mal nach MTA – Mail Transfer Agent googeln).

Ich verwende für meinen Mailserver:

  1. Eximzuständig für den Mailversand
  2. Dovecotlokaler IMAP Server
  3. Fetchmailabholung der mails beim provider
  4. RoundcubeGUI für Dovecot

Fetchmail (mail collector)
Fetchmail wird zum abholen der mails vom Provider eingesetzt.

Die Installation erfolgt ganz einfach per aptitude

sudo aptitude install fetchmail procmail

Nach abgeschlossener Installation muss im Homedrive „/home/<USERNAME>“ jedes Mailusers (diese wurden ja nach der Dovecot Installation angelegt) folgende Datei angelegt werden:
Am besten mit dem entsprechenden User anmelden.

pico /home/<USERNAME>/.fetchmailrc

mit folgendem Inhalt (ACHTUNG zum testen die Option keep setzen – so werden die mails beim Provider nicht gelöscht):

poll imap.gmail.com
protocol IMAP
user ‘maxmuster@googlemail.com’
is mmuster
pass ‘123456’
folder INBOX
ssl
mda ‘formail -c -a Date: >> ~/mail/.INBOX.Gmail’
keep

ODER

#.fetchmailrc
#Server GMX with IMAP
poll imap.gmx.de protocol IMAP:
username „maxmuster@gmx.de“ password „123456“ is „mmuster“ here;
folder INBOX
ssl

#Optionen
# formail als mda – formail optionen
#http://www.man-online.org/page/1-formail/
mda „formail -c -a Date: >> ~/mail/.INBOX.GMX“
keep

… to be continued!!!

Tipps & Tricks

ich musste das Verzeichnis /mail/ manuell anlegen, danach werden die mails auch in die Datei geschrieben.
Eine Installationsanleitung und Tipps sind zu finden bei tuxhausen.de

Datum und Uhrzeit werden geändert (wann die mail vom Provider abgeholt wurde)

Datum und Uhrzeit „Erhalten“ entspricht nicht mehr der Uhrzeit zu der die mail beim eigentlichen Provider ankam.
Laut einem Post in linux.debian.user.german setzt derMTA (in meiner konfig. Exim) die Zeit und verursacht das Problem.

Aus der Fetchmail-FAQ:
O10: Why is the received date on all my messages the same?
A: This is a design choice in your MTA, not fetchmail. It’s taking the
received date from the last Received header.

Die Lösung ist relativ simpel wenn man weis nach was suchen.
Es handelt sich ganz einfach um einen BUG von fetchmail, der auch in der man Page von formail beschrieben ist.

BUGS
       When formail has to generate a leading `From ' line  it  normally  will
       contain  the  current date.  If formail is given the option `-a Date:',
       it will use the date from the `Date:' field in the header (if present).
       However,  since formail copies it verbatim, the format will differ from
       that expected by most mail readers.

LÖSUNG
mda „formail -c -a Date: >> ~/mail/.INBOX.GMX“

anstelle von
mda „formail -c >> ~/mail/.INBOX.GMX“

Aktueller Stand

10.01.2014
Die mails scheinen sauber beim Provider abgeholt zu werden, allerdings hänge ich noch an einem Problem mit Dovecot, deswegen noch nicht produktiv geschalten.

21.01.2014
Nachdem das Dovecot Problem nun gelöst ist, stelle ich fest dass die mails mit dem Zeitstempel versehen werden wenn fetchmail die mails beim Provider abgeholt hat.

 23.01.2014
Ich bin immer noch dem timestamp Problem auf der Spur, ich denke mal dass die Zeile „mda ‚formail -c >>“ eine Spur sein könnte. Denn fetchmail soll wohl nicht schuld sein.
MDA bedeutet Mail Delivery Agent – dass schreit ja fast schon danach.

 25.01.2014
Das timestamp Problem ist jetzt gelöst (und der Blogpost geändert. Es fehlte einfach der Parameter „-a“ in mda „formail -c -a Date: >>…

Schreibe einen Kommentar

Trage deine Daten unten ein oder klicke ein Icon um dich einzuloggen:

WordPress.com-Logo

Du kommentierst mit Deinem WordPress.com-Konto. Abmelden / Ändern )

Twitter-Bild

Du kommentierst mit Deinem Twitter-Konto. Abmelden / Ändern )

Facebook-Foto

Du kommentierst mit Deinem Facebook-Konto. Abmelden / Ändern )

Google+ Foto

Du kommentierst mit Deinem Google+-Konto. Abmelden / Ändern )

Verbinde mit %s

%d Bloggern gefällt das: