Noel Jones: > I believe Ralf's request is about the smtp rejection message > sent to the remote client, not about postfix logging. > > ie. the current reject response in postscreen.c around line > 920 or so looks something like: > > if (dnsbl_action == PS_ACT_DROP) { > smtp_reply(vstream_fileno(state->smtp_client_stream), > state->smtp_client_addr, state->smtp_client_port, > "521 5.7.1 Blocked by DNSBL\r\n"); > state->flags |= PS_FLAG_NOFORWARD; > } > > Often complaints are reported by a remote customer forwarding > the reject message by an alternate channel. It would be easier > to track down customer complaints if the reject message contained > "521 5.7.1 Client 192.0.2.1 Blocked by DNSBL" > > > Yes, the enhanced logging would help too, since you could then > search logs for the rejected sender, but this is a far smaller > change that would help a great deal in some cases. > > (I wanted to include a patch, but my C foo is limited to > cut-and-paste, and sometimes I manage to mess that up too.)
It will involve more change, as smtp_reply() currently does not take a format string. All smtp_reply() calls would need to be replaced by smtp_reply(handle, addr, port, "%s", text). The alternative, a second smtp_reply() function that does take a format string, would be asking for format string errors. Wietse