Author: Konstantin Boyandin Date: To: exim-users Subject: Re: [exim] Message duplication if To/Cc contain alias and one of
addresses it's expanded into
Hi Oliver,
2008/5/12 Oliver von Bueren <maillist@???>: > >> What you have to do is find a way that your dspam-setup does not create
> >> an smtp session for each recipient to feed the messages back into exim,
> >> meaning session 2 and 3 should really be one with RCPT TO of
> >> user1@??? and userlist@???. In that case, exim would
> >> detect the condition and deliver the message once to user1 and once to
> >> userlist. Or, you have to make sure that the alias expansion does not
> >> take place for session 2 and 3.
> >>
> >
> > That brings me back to the original question: is it really DSPAM at
> > fault in this case? It is called through pipe transport. All DSPAM
> > does is to read data from stdin and send modified output to stdout.
> > Any piece of software that behaves in the asme manner will beget
> > duplicates of exactly the same kind.
> >
> >
> The problem in your setup is the usage of a transport for that purpose.
> A transport, like SMTP, is meant to get a message and send it OUT of
> your system and that is it. It's not designed to have a transport
> receiving a message for sending out which in fact gets feed right back
> into exim again.
>
> There exist content scanning facilities for this kind of things in exim,
> which don't suffer the same problem because the message is never "sent
> out" of exim and re-submitted to it.
>
> As it was said before, the only way to avoid this would probably be to
> have all alias processing and the like done before the messages go out
> the pipe to dspam and having no processing of the destination address,
> notably no alias expansion, after it is feed back to exim. This means, a
> message feed back from dspam should go out through the final delivery
> transport without any other processing immediately.
>
> I guess this can be done in exim, but I didn't have the need for this up
> till now, as I use content scanning for antispam implementation and I
> don't use dspam at the moment.
>
> So primarily, I don't think it's a exim fault, but rather the method in
> which dspam is integrated into your system.
> Perhaps others have an example on how to do it properly, I don't.
Well, the initial DSPAM under Exim setup I tried was taken out of
DSPAM Wiki. Finally, it turned out that 'transport filter' is exactly
what serves the purpose. It guarantees the filtering/preprocessing is
done exactly before the actual delivery takes place, after all the
alias expansion and duplicates elimination have occurred.
If there are better ways, better following the Exim philosophy, well,
I'll be glad to know of them. For now, the problem is solved and I
suppose I suggest it to DSPAM community as well, since the initial one
fails in cases like mine.