ForumMailheader-Manipulation mit procmailrc und formail
Stefan Günther – Samstag, 03. Februar 2007 19:41 Uhr

Hi,

ich stehe vor dem Problem, daß ich aus unserem CRM-System [1] heraus Faxe mittels mail2fax versenden möchte. Das System schreibt die Faxnummer in den Betreff der Email, die Faxsoftware erwartet die Faxnummer aber in der Adresszeile im Format FAXNUMMER@in-put.de.

Auf unserem Mailserver habe ich nun mit Hilfe der procmailrc [3] und mit formail [4] versucht, die Nummer aus dem Subject auszulesen und in die To-Zeile einzusetzen. Laut “man procmailex” kann man mittels formail einer Variablen einen Wert aus dem Header zuweisen:

To extract certain headers from a mail and put them into environment variables you can use any of the following constructs:

SUBJECT=‘formail -xSubject:‘

Also sieht meine procmailrc wie folgt aus:

:0
^ *Subject:.*[0-9]+
FAX=’formail -xSubject’
| formail -I “To: “

Wenn ich das Logging für die procmailrc aktiviere, dann haben meine Versuche ergeben, daß die formail Zeile ausgelassen wird (skipped) oder die Email an $FAX@in-put.de verschickt wird.

Hat einer von Euch schon einmal erfolgreich auf diese (oder eine ähnliche) Weise den Header manipuliert?

Danke für jeden Tipp.

Gruß,

Stefan

********************************************
in-put GbR – Das Linux-Systemhaus
Stefan-Michael Guenther
Moltkestrasse 49 D-76133 Karlsruhe
Tel./Fax : +49 (0)721 / 83044 – 98/93
http://www.in-put.de
********************************************
Schulungen Installationen
Beratung Support
Voice-over-IP-Loesungen
********************************************

[1] http://www.cierp.de
[2] http://www.in-put.de/software/bitkit/
[3] http://www.procmail.org
[4] http://www.linuxcommand.org/man_pages/formail1.html

1 Antwort
Alexander Steinböck – Dienstag, 06. Februar 2007 12:40 Uhr

Auf die ‘Schnelle’ haette ich gemeint, dass die Quotes schuld sind.
Hier muessen IMHO Backquotes stehen, also
-> FAX=`formail -xSubject`
Oder hat hier die Formatierung beim Posten zugeschlagen?

HTH
z3ttacht

Stefan Günther – Mittwoch, 07. Februar 2007 21:17 Uhr

Hi Alexander,

der Vorschlag mit den Quotes war schon nicht schlecht. Inzwischen habe ich die vollständige Lösung:

Um den Header aus der Mail auszulesen und die Mail an diesen Eintrag zu
schicken, kann man folgendes verwenden:

TO=`formail -xSubject`

:0fhw

!$TO@in-put.de

Hiermit wird das Subject ausgelesen und die E-Mail an die ausgelesene
Adresse+Domain weitergeleitet.

Gruß,

Stefan

********************************************
in-put GbR – Das Linux-Systemhaus
Stefan-Michael Guenther
Moltkestrasse 49 D-76133 Karlsruhe
Tel./Fax : +49 (0)721 / 83044 – 98/93
http://www.in-put.de
********************************************
Schulungen Installationen
Beratung Support
Voice-over-IP-Loesungen
********************************************