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