Heute war das Problem, wie man Postfix dazu bringt alle E-Mails als .eml-Datei in ein Verzeichnis zu speichern statt diese zu versenden. Das ist extrem hilfreich wenn man Software entwickelt die E-Mails per SMTP versenden möchte.

So hat es dann geklappt:

postfix Installation

Installiere postfix und die postfix-pcre Extension:

$ sudo apt-get install postfix postfix-pcre

Weiter lesen? Klicke die Headline um den ganzen Artikel zu sehen!

postfix virtual

Erstelle eine Datei /etc/postfix/virtual und schreibe folgende Zeile hinein (als Regel):

/.*/ filer

Das bewirkt, dass ALLE Nachrichten an den virtual "filer" gehen.

Jetzt aktivieren wie diesen virtual in postfix:

$ sudo postmap virtual

Um postfix dazu zu bringen diese zu nutzen, müssen wir /etc/postfix/main.cf bearbeiten und diese Zeile hinzufügen:

virtual_alias_maps = regexp:/etc/postfix/virtual

Jetzt nur noch den output für die "local" Regel in /etc/postfix/master.cf setzen. Ändere die Zeile mit local unix um so auszusehen:

local     unix     -     n     n     -     -     pipe
    user=volker argv=tee /home/volker/Dokumente/localMail/${original_recipient}_${queue_id}.eml

Hier muss user=volker ein gültiger Linux-User sein der Schreibrechte auf den Pfad hinter tee hat. Bitte passe den Ausgabe-Pfad nach deinem Geschmack an.

ACHTUNG: Unter Debian ist tee durch das System auf 64KB beschränkt! Wenn Mails > 64KB zu untersuchen sind, dann geht das so nicht. Dann muss man wohl ein extra Script schreiben um statt tee was anderes zu nutzen!

Jetzt nur noch postfix neu starten um die neuen Einstellungen zu übernehmen:

$ sudo /etc/init.d/postfix restart