From: Erik Logtenberg on
Hi,

I have an smtpd listener that functions as an MX (listening on tcp/25,
accepting email for local domains), and a separate smtpd listener that
functions as submission server (listening on tcp/587, using mandatory
TLS and authenticated smtp, allowing relay services).
Now I would like to use header_checks to remove some privacy-information
(like the User-Agent header and some information in the first Received
header) for all mail that enters through submission. I don't want these
checks applied for mail that enters through the regular tcp/25 smtpd. Is
this possible?

I noticed that the header_checks configuration options only applies to
cleanup, not to smtpd. I didn�t see a way to have separate cleanup
processes/configurations for the different smtpd's, nor a way to let
cleanup behave differently depending on the smtpd that received the email.

Or is this an example where a multi-instance configuration would be the
preferred solution?

Kind regards,

Erik.

From: mouss on
Erik Logtenberg a �crit :
> Hi,
>
> I have an smtpd listener that functions as an MX (listening on tcp/25,
> accepting email for local domains), and a separate smtpd listener that
> functions as submission server (listening on tcp/587, using mandatory
> TLS and authenticated smtp, allowing relay services).
> Now I would like to use header_checks to remove some privacy-information
> (like the User-Agent header and some information in the first Received
> header) for all mail that enters through submission. I don't want these
> checks applied for mail that enters through the regular tcp/25 smtpd. Is
> this possible?
>
> I noticed that the header_checks configuration options only applies to
> cleanup, not to smtpd. I didn�t see a way to have separate cleanup
> processes/configurations for the different smtpd's, nor a way to let
> cleanup behave differently depending on the smtpd that received the email.
>

use -o cleanup_service_name in master.cf. something like this:

submission inet n - n - - smtpd
-o syslog_name=${submission_syslog_name}
-o cleanup_service_name=cleanmsa
...

cleanmsa unix n - n - 0 cleanup
-o syslog_name=${submission_syslog_name}
-o header_checks=${submission_header_checks}
-o mime_header_checks=${submission_mime_header_checks}
...

(note: the above relies on variables that submission_* that you need to
define in main.cf).


> Or is this an example where a multi-instance configuration would be the
> preferred solution?
>
> Kind regards,
>
> Erik.

From: Erik Logtenberg on
Thanks, this works like a charm!

Small question though, was there any way for me to figure this out by
myself using the documentation? I notice that for each daemon there is
extensive documentation on which configuration directives are supported,
but I didn't see the cleanup_service_name directive mentioned in
http://www.postfix.org/smtpd.8.html
Also in http://www.postfix.org/postconf.5.html there is no explanation
to suggest that this directive can be used in smtpd.

Thanks,

Erik.


On 03/13/2010 02:50 PM, mouss wrote:
> Erik Logtenberg a �crit :
>> Hi,
>>
>> I have an smtpd listener that functions as an MX (listening on tcp/25,
>> accepting email for local domains), and a separate smtpd listener that
>> functions as submission server (listening on tcp/587, using mandatory
>> TLS and authenticated smtp, allowing relay services).
>> Now I would like to use header_checks to remove some privacy-information
>> (like the User-Agent header and some information in the first Received
>> header) for all mail that enters through submission. I don't want these
>> checks applied for mail that enters through the regular tcp/25 smtpd. Is
>> this possible?
>>
>> I noticed that the header_checks configuration options only applies to
>> cleanup, not to smtpd. I didn�t see a way to have separate cleanup
>> processes/configurations for the different smtpd's, nor a way to let
>> cleanup behave differently depending on the smtpd that received the email.
>>
>
> use -o cleanup_service_name in master.cf. something like this:
>
> submission inet n - n - - smtpd
> -o syslog_name=${submission_syslog_name}
> -o cleanup_service_name=cleanmsa
> ...
>
> cleanmsa unix n - n - 0 cleanup
> -o syslog_name=${submission_syslog_name}
> -o header_checks=${submission_header_checks}
> -o mime_header_checks=${submission_mime_header_checks}
> ...
>
> (note: the above relies on variables that submission_* that you need to
> define in main.cf).
>
>
>> Or is this an example where a multi-instance configuration would be the
>> preferred solution?
>>
>> Kind regards,
>>
>> Erik.

From: Wietse Venema on
Erik Logtenberg:
> Thanks, this works like a charm!
>
> Small question though, was there any way for me to figure this out by
> myself using the documentation? I notice that for each daemon there is
> extensive documentation on which configuration directives are supported,
> but I didn't see the cleanup_service_name directive mentioned in
> http://www.postfix.org/smtpd.8.html
> Also in http://www.postfix.org/postconf.5.html there is no explanation
> to suggest that this directive can be used in smtpd.

The <daemon>_name parameters are mentioned only in the postconf(5)
manpage. When they were introduced it was already too much trouble
to figure out which names to list in which manpages.

Wietse

> Thanks,
>
> Erik.
>
>
> On 03/13/2010 02:50 PM, mouss wrote:
> > Erik Logtenberg a ?crit :
> >> Hi,
> >>
> >> I have an smtpd listener that functions as an MX (listening on tcp/25,
> >> accepting email for local domains), and a separate smtpd listener that
> >> functions as submission server (listening on tcp/587, using mandatory
> >> TLS and authenticated smtp, allowing relay services).
> >> Now I would like to use header_checks to remove some privacy-information
> >> (like the User-Agent header and some information in the first Received
> >> header) for all mail that enters through submission. I don't want these
> >> checks applied for mail that enters through the regular tcp/25 smtpd. Is
> >> this possible?
> >>
> >> I noticed that the header_checks configuration options only applies to
> >> cleanup, not to smtpd. I didn?t see a way to have separate cleanup
> >> processes/configurations for the different smtpd's, nor a way to let
> >> cleanup behave differently depending on the smtpd that received the email.
> >>
> >
> > use -o cleanup_service_name in master.cf. something like this:
> >
> > submission inet n - n - - smtpd
> > -o syslog_name=${submission_syslog_name}
> > -o cleanup_service_name=cleanmsa
> > ...
> >
> > cleanmsa unix n - n - 0 cleanup
> > -o syslog_name=${submission_syslog_name}
> > -o header_checks=${submission_header_checks}
> > -o mime_header_checks=${submission_mime_header_checks}
> > ...
> >
> > (note: the above relies on variables that submission_* that you need to
> > define in main.cf).
> >
> >
> >> Or is this an example where a multi-instance configuration would be the
> >> preferred solution?
> >>
> >> Kind regards,
> >>
> >> Erik.
>
>
>

From: Erik Logtenberg on

>> Small question though, was there any way for me to figure this out by
>> myself using the documentation? I notice that for each daemon there is
>> extensive documentation on which configuration directives are supported,
>> but I didn't see the cleanup_service_name directive mentioned in
>> http://www.postfix.org/smtpd.8.html
>> Also in http://www.postfix.org/postconf.5.html there is no explanation
>> to suggest that this directive can be used in smtpd.
>
> The <daemon>_name parameters are mentioned only in the postconf(5)
> manpage. When they were introduced it was already too much trouble
> to figure out which names to list in which manpages.
>
> Wietse
>

I see, nevertheless it's a powerful feature. I like it ;)