>>> Op 12-11-2009 om 21:35 is door Wietse Venema <wie...@porcupine.org> geschreven: > As shown below, Postfix 2.7 can "fix" commands from remote SMTP > clients. Meanwhile, I am adding a similar feature to "fix" replies > from remote SMTP servers. > > In your case the regexp could look like: > > /^RCPT\s+TO:(.*);1:1$/ RCPT TO:$1 > > This an incredibly unsafe tool. > > Wietse > > smtpd_command_filter (default: empty) > A mechanism to substitute incoming SMTP commands. This is a > last- > resort tool to work around problems with clients that send invalid > com- > mand syntax that would otherwise be rejected by Postfix. > > Specify the name of a "type:table" lookup table. The search string > is > the SMTP command as received from the SMTP client, except that > initial > whitespace and the trailing <CR><LF> are removed. The result value is > executed by the Postfix SMTP server. > > Examples: > > /etc/postfix/main.cf: > smtpd_command_filter = pcre:/etc/postfix/command_filter > > /etc/postfix/command_filter: > # Work around clients that send malformed HELO commands. > /^HELO\s*$/ HELO domain.invalid > > # Work around clients that send empty lines. > /^\s*$/ NOOP > > # Work around clients that send RCPT TO:<'u...@domain'>. > # WARNING: do not lose the parameters that follow the address. > /^RCPT\s+TO:\s*<'([^[:space:]]+)'>(.*)/ RCPT TO:<$1>$2 > > This feature is available in Postfix 2.7.
It's been a few days but i just ran into a little bump in the road.. It looks like the ;1:1 actually changes depending on the number of recipients. How would I change '/^RCPT\s+TO:(.*);1:1$/ RCPT TO:$1' into matching 'domain.tld;#:#' and put the domain.tld back without the ;#:# - Arjan