From: Wietse Venema on
Noel Jones:
> On 11/12/2009 12:28 PM, Arjan Melein wrote:
> > Yea I just found that out when I just tried to sed the queue file :-)
> > Any way to limit it to only take out the line on domain X Y and Z ?
> > On a sidenote, its actually the RCPT TO: line and not the normal TO:
> > line ... not sure if that's going to be a problem ..
> > RCPT TO:<dest(a)email.addy> ORCPT=rfc822;groupwise-source(a)email.addy;1:1
> >
> > Thanks for the help so far.
>
> That doesn't look like a header. You need to show exact
> evidence of the error you're getting.

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:<'user(a)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.