Steve a écrit :
> -------- Original-Nachricht --------
>> Datum: Thu, 29 Jan 2009 20:38:26 +0100
>> Von: "Steve" <steeeeev...@gmx.net>
>> An: postfix-users@postfix.org
>> Betreff: Re: Calling smtpd restriction/filter from within master.cf
> 
>> -------- Original-Nachricht --------
>>> Datum: Thu, 29 Jan 2009 19:44:53 +0100
>>> Von: mouss <mo...@ml.netoyen.net>
>>> An: postfix-users@postfix.org
>>> Betreff: Re: Calling smtpd restriction/filter from within master.cf
>>> Steve a écrit :
>>>> -------- Original-Nachricht --------
>>>>> Datum: Thu, 29 Jan 2009 17:14:08 +0100
>>>>> Von: mouss <mo...@ml.netoyen.net>
>>>> [snip]
>>>>> PS If you are using this to do per recipient filtering, don't forget
>>>>> that only one filter will run. so if a message is sent to multiple
>>>>> recipients, the last FILTER statement will set the filter. if one of
>>> the
>>>>>  recipients is configured to skip filtering, all it takes a spammer
>> is
>>>>> to add this as the last recipient...
>>>>>
>>>> Thanks for reminding me about that. Is that btw as well true if I
>> would
>>> limit destination concurrency to 1 for that filter?
>>> no. but this would not be very "nice"...
>>>
>>> if your goal is to skip dspam for some users, then why not do this in
>>> dspam itself (opt-in or other....)
>>>
>> Who was writing about DSPAM? Me not. 

then I guessed wrong ;-p

> Anyway... let's take DSPAM as an
>> example:
>> Postfix -{content filter Amavis in LMTP mode} -> {Amavis doing his stuff
>> reinject back to Postfix over SMTP on another port (for example 10025)} ->
>> {Postfix on port 10025 has content filter entry to use DSPAM over LMTP} ->
>> {DSPAM filtering and then reinjecting back to Postfix listening on another
>> port (for example 10026) with SMTP} -> delivery
>>
>> How would now one let all inbound/outbound mail go over Amavis but let
>> only outbound
>>
> Sorry! Only inbound not outbound.
> 
> 

you can do that by using different ports in amavisd-new:


[postfix]
configure postfix to pass outbound mail to port 10586. you can do this
with FILTER based on the client or auth:

smtpd_recipient_restrictions =
        check_client_access pcre:/etc/postfix/filter_outbound
        permit_mynetworks
        permit_sasl_authenticated
        reject_unauth_destination
        check_client_access pcre:/etc/postfix/filter_inbound
        ...

== filter_outbound:
/./     FILTER filter:[127.0.0.1]:10586

== filter_inbound:
/./     FILTER filter:[127.0.0.1]:10024

[amasvid-new]
- configure amavsid-new to listen on 10024 and 10586
$inet_socket_port = [10024, 10586];

- use policy banks to achieve different configs for inbound and
outbound. for example:
$interface_policy{'10586'} = 'MSA';
$policy_bank{'MSA'} = {
  # mail was submitted by our smtp client
  originating => 1,
  #pass mail to postfix on 10026
  forward_method => 'smtp:[127.0.0.1]:10026',

  # skip spam checks?
  # bypass_spam_checks_maps  => [ 1 ],
};




> 
>> mail go over DSPAM? The valid users are all in a MySQL table and
>> that's the reason I was thinking to use a recipient access map to separate
>> the recipients and use that info to know what is inbound and what is
>> outbound.
>>

it is more robust to use the client or authentication instead, as long
as you can keep different "paths" as in the example above.

> [snip]

Reply via email to