postfix – gfi faxmaker – Bad recipient address syntax

Es gibt eine Lösung von GFI, um aus Outlook einfach eine E-Mail an eine Faxnummer zu schicken. Die Software wertet dann den User-Teil der E-Mail Adresse aus und stellt sie zu. Problem ist, dass sich fast alle Mailserver querstellen, wenn es sich um eine ungültige Mailadresse handelt.

Ungültig wäre z.B. 0049 (8621) 9960237@fax.local

Leerzeichen sind ein Problem, genauso wie die Klammern. Postfix quitiert das dann auch mit

warning: Illegal address syntax from localhost[127.0.0.1] in RCPT command:

Jetzt hab ich auf der Postfix-Mailinglist aufgeschnappt, dass es ab postfix 2.7 den Befehl smtpd_command_filter gibt. Das ist wirklich die letzte Lösung und greift in den SMPT-Dialog ein. Hier kann man mit regex ansetzen. Mit folgender Zeile schnappe ich mir also alles vor dem @-Zeichen, was aus Zahlen besteht:

/^RCPTs+TO:s*(d+).*?(d+).*?(d+)(.*)/ RCPT TO: <$1$2$3$4>

Ein Beispiel sieht dann so aus:

root@srv1:/home/stefan# postmap -q "RCPT TO: 0049 8621 9960237@fax.local" pcre:/etc/postfix/cmd_filter
RCPT TO:<004986219960237@fax.lokal>

Quellen:
http://txt2re.com/index.php3
http://www.postfix.org/postconf.5.html#smtpd_command_filter