Author: W B Hacker Date: To: exim users Subject: Re: [exim] Best way to copy incoming mails for specific domain to
another server?
Emmanuel Noobadmin wrote: > On 10/8/11, W B Hacker<wbh@???> wrote:
> *snip*
> through exim unless I'm mistaken about the meaning of this line:
>
> "An address is passed to each router in turn, until it is either
> accepted, or failed. This means that the order in which you define the
> routers matters. "
>
> Which I under wi stood to mean that if I add a router that copies to an > external server, the local delivery router will not be run since it's
> already accepted by my router.
>
That's the part that one or MANY 'unseen' negate.
Example similar to yours, wherein ALL traffic for one specific client
domain was TRIPLE archived.
One the CEO could read.
Another in case he screwed with it and we still needed forensic-grade
virgin files for the gummint.
A third 'coz we wanted to cover OUR azz.
All you do is take the 'section' which is a single router to begin with
of the sort of interest, such as remote_smtp, duplicate it, change it
only in having a 'condition = ' that grabs only those under the
microscope, and chain it with the original by placing an 'unseen' between.
Usually, a one-line condition = is the only difference, BUT - a
different TRANSPORT is USUALLY called as well (and those do not need an
'unseen' as only ONE is ever called for each router)..
Not to forget that anything Exim does not 'normally' still have access
to at router/transport time can have been stuffed into one or many acl_m
variables while traversing any part of the smtp session where the
desired info WAS available.
Same again with DB extracts or script returns stuffed into an acl_m, AND
the often ephemeral acl_c info TRANSFERRED to an acl_m before session
hand-off.
An acl_m IS readable (but not modifiable) within the router/transport
area, so there is no real limit on what you can onpass.
OR you can make an SQL call 'anywhere, any time', including one in a
router, and a different one in the transport it calls.
CAVEAT - or advantage - unlike an X-header, which becomes a permanent
part of the message unless specifically stripped as part of the delivery
process (often a Very Good Idea), the LAST message delivery DOES shed
all record of the acl_m's.
Some of ours preceeded, for example the original remote_smtp, so that we
had a copy even if delivery was delayed or were to fail. Others followed.
We also use 'unseen' in the more general case to stuff a copy of sent
traffic into each user's IMAP structure, regardless of what MUA they are
using or whether it is set to retain a copy, or even if they deleted the
Sent folder.
Most helpful when it was a borrowed WinBox or hotel PeeCee, as one
doesn't even subscribe all those folders when on walkabout, yet
everything is there once home.