Re: Betr.: Re: Betr.: Re: Trim part of the header with header rewriting ?
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 CRLF 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
Re: Betr.: Re: Betr.: Re: Trim part of the header with header rewriting ?
Arjan Melein: 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 ;#:# What does the # stand for? If it is one digit, replace 1 by [0-9], to handle multiple digits, replace 1 by [0-9]+ You can test this with: postmap -q RCPT TO:x.y.z ORCPT=rfc822;a...@b.c;3;4 pcre:/file/name Wietse
Re: Betr.: Re: Betr.: Re: Trim part of the header with header rewriting ?
Op 17-11-2009 om 12:48 is door Wietse Venema wie...@porcupine.org geschreven: Arjan Melein: 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 ;#:# What does the # stand for? If it is one digit, replace 1 by [0-9], to handle multiple digits, replace 1 by [0-9]+ You can test this with: postmap -q RCPT TO:x.y.z ORCPT=rfc822;a...@b.c;3;4 pcre:/file/name Wietse I thought it was 1 number at first, but it seems to be going multi digit as well.. I changed it into /^RCPT\s+TO:(.*);[0-9]+:[0-9]+$/ RCPT TO:$1 and it seems to work. If I've learned one thing from this, its that I really need to brush up on regexp :-) - Arjan
Re: Betr.: Re: Betr.: Re: Trim part of the header with header rewriting ?
Op 12-11-2009 om 21:35 is door Wietse Venema wie...@porcupine.org geschreven: 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:d...@email.addy ORCPT=rfc822;groupwise-sou...@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 CRLF 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. First, Sorry for the top posting before. Client default puts replies on top. Second, I'll try and get another relay setup with 2.7 and just add an extra hop to our internal mail path so I can take it out again eventually and not have a ton of configuration changing to do.. if they ever manage to fix it. Its only for outgoing e-mails and people are getting mad enough for me that resorting to IPoAC is even an option as long as it works. - Arjan
Re: Betr.: Re: Betr.: Re: Trim part of the header with header rewriting ?
Op 12-11-2009 om 21:35 is door Wietse Venema wie...@porcupine.org geschreven: 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:d...@email.addy ORCPT=rfc822;groupwise-sou...@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 CRLF 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 might be unsafe, but it seems to do its job properly from what I can see in the tcpdumps.. I set up an extra relay between our enterprise system and our gateway and just re-routed outgoing e-mails for certain domains from GroupWise over that extra relay, that changes the header and hands it off to our normal gateway. This way e-mail which was working normally does not run over anything marked as incredibly unsafe :-) Thanks for the help both of you. - Arjan
Re: Betr.: Re: Betr.: Re: Trim part of the header with header rewriting ?
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:d...@email.addy ORCPT=rfc822;groupwise-sou...@email.addy;1:1 Thanks for the help so far. Stop top posting. Google for the term if you don't understand. That doesn't look like a header. You need to show exact evidence of the error you're getting. -- Noel Jones
Re: Betr.: Re: Betr.: Re: Trim part of the header with header rewriting ?
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:d...@email.addy ORCPT=rfc822;groupwise-sou...@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 CRLF 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.
Re: Betr.: Re: Betr.: Re: Trim part of the header with header rewriting ?
On 12-Nov-2009, at 13:35, Wietse Venema wrote: This an incredibly unsafe tool. Ooo, those are my favorite kinds! -- The very existence of flame-throwers proves that some time, somewhere, someone said to themselves, You know, I want to set those people over there on fire, but I'm just not close enough to get the job done.