E-Mails lokal abfangen.

Kommentieren Oct 27 2015 .txt, .json, .md

Wenn man lokal eine Anwendung entwickelt aber mit den gleichen Einstellungen wie das produktive System arbeitet hat man ein Problem mit dem versenden von E-Mails. Man darf ja nicht den Kunden belästigen.

Daher hat man bei PHP (ich denke das geht mit anderen Sprachen auch) die Möglichkeit die Anwendung zum versenden der E-Mails anzugeben. Und zwar global. Das kann ein Pfad auf eine Anwendung oder auch auf ein Script sein.

Ich verwende ein Script. Dieses verändert die Zieladresse und hängt die originale als Zusatzinformation an. Danach sendet es die E-Mail an ein lokales Unix-Konto. Und schon hat man die E-Mail abgefangen und kann so viel Testen wie man möchte.

Einstellungen in der php.ini:

sendmail_path = /usr/local/bin/trapmail

Das trapmail Script (eine Zeile):

/opt/local/bin/formail -R cc X-original-cc -R to X-original-to -R bcc X-original-bcc -f -A"To: username" | /usr/sbin/sendmail -t -i

Hinweis: Der Befehl formail ist zB. im Package procmail enthalten.

Hinweis zu OSX: Mit El Capitan gibt es den Befehl formail nicht mehr ! Da hilft nur der Weg über Homebrew oder Macports. Dabei das Paket procmail installieren und gut ist.

Das trapmail script ist von hier.