Le 19/07/2012 10:23, Nalinda Herath a écrit :
> In my current setup, server will not discard any mail even though they are
> tagged as SPAM. all the spam mails are routed to the junk folder's of each
> user. According to our policy, we cannot discard any mail, and users are
> allowed to check whether any mail has been accidentally tagged as SPAM.
> 
> We simply BCC the emails which are received to the server by setting
> always_bcc = <email address>
> 


how do you deliver the archived mail? if it's via an LDA such as dovecot
or maildrop or procmail, you can create a rule to discard mail which has
a header that says it's spam (X-Spam-Flag: YES).

if you want that in postfix, then you need to do some work.

[multiple instances of postfix]
if you accept to run multiple instances (run postfix multiple times,
with different configurations etc), then make ue a specific domain for
the archive (for exemple: archive.example.com), then use transport maps
to direct such mail to its own instance. and in this instance, use
header_checks to discard mail tagged as spam.


[in a single instance]
with a single instance, you can't use routing (transport_maps) because
transport_maps is global to an instance, and you don't want to creat a
loop. but you can create a dedicated smtpd listener.
here is an example:

1- use a different domain for mail archiving. but instead of always_bcc,
I'll recommend using recipient_bcc_maps:
recipient_bcc_maps = pcre:/etc/postfix/recipient_bcc.pcre

then in recipient_bcc.pcre, something like
/(.*)@example\.com$/    bcc+$1...@archive.example.com

add an expression for any domain you want to archive mail for.

side benefit: you have the original recipient in the bcc address!
(this assumes you have recipient_delimiter = +).


2- In your after-the-filter smtpd (assuming you are using a filter such
as amavisd-new), add a check_recipient_access to pass such mail to a
specific smtpd (that you need to add):
...
        ...
        check_recipient_access hash:/etc/postfix/filter_bcc.hash

and in filter_bcc.hash:

archive.example.com     FILTER filter:[127.0.0.1]:10624
.archive.example.com    FILTER filter:[127.0.0.1]:10624

(here, I assume you start an smtpd on 10624 for such mail, and I assume
you defined a filter named "filter". this may be the same as you use to
passe your mail to your "standard" filter).

3- for the smtpd on 10624, create a cleanup service that uses a
check_headers to do
/^X\-Spam\-Flag: YES/           DISCARD


PS. instead of discarding such spam, better deliver it to a special
account which is purged more often. this gives you a chance to
re-archive a message if someone says it was a false positive... etc.
(and it gives you the content if someone claims it is a false positive
but you don't agree. of course, reading other people's mail requires
their consent and/or support by your local policy. but you almost always
can run a script to parse the Received headers and show that the message
passed via bad networks, without ever touching the body...).
debating this is however off-topic here. I only wanted you to kknow that
this is a possibility...

> I need some workaround to prevent archiving mails tagged as spam by
> Spamassassin.
> 
> Regards,
> Nalinda
> 
> 
> 
> On Wed, Jul 18, 2012 at 10:22 PM, Noel Jones <njo...@megan.vbhcs.org> wrote:
> 
>> On 7/18/2012 11:22 AM, Nalinda Herath wrote:
>>> Hi all,
>>>
>>> Recently I have integrated spmassassin to my existing postfix
>>> system. But now I need to tune  my archiving settings in postfix to
>>> prevent from archiving mails tagged as spam.
>>>
>>> It will be really helpful If someone can help me on this. Thanks.
>>>
>>> Regards,
>>> Nalinda
>>>
>>> --
>>> Regards,
>>> Nalinda
>>>
>>>
>>
>>
>> General procedure -- apply anti-spam and anti-virus before the
>> archiving procedure.
>>
>> One way to do this is to run spamassassin in a pre-queue
>> smtpd_proxy_filter or milter so only clean mail enters postfix.  Or
>> with a traditional postfix after queue content_filter, do your
>> archiving in the after-filter postfix instance.
>>
>> If you need a more specific answer, you'll need to share full
>> details of your postfix setup, your archiving procedure, and how
>> you've integrated spamassassin.
>> http://www.postfix.org/DEBUG_README.html#mail
>>
>>
>>   -- Noel Jones
>>
> 
> 
> 

Reply via email to