Re: [exim] changing mailstores

Top Page
Delete this message
Reply to this message
Author: Matthew Newton
Date:  
To: paul.osborne
CC: exim users
Subject: Re: [exim] changing mailstores
Hi Paul,

On Fri, Oct 05, 2012 at 10:58:47AM +0100, paul.osborne@??? wrote:
> Hence my very specific questions related to what happens if I
> queue the email on the router and the routing data is updated.


We have been doing this over the summer, and it works fine.
Remember that the ACLs are processed once at message receive time,
but the routers are run each time that the message is processed
from the queue.

We route everything internally using redirects (for example,
'real' address abc1@??? is redirected internally to
abc1@???, so there are a couple of routers
something like

internal_routing:
driver = dnslookup
domains = +all_local_domains
transport = smtp_inbound
no_more

find_mailbox:
driver = redirect
domains = le.ac.uk:leicester.ac.uk
data = ${lookup ...


I changed this to:

internal_routing:
driver = dnslookup
domains = +all_local_domains
transport = smtp_inbound
no_more

new_mailbox:
driver = redirect
domains = le.ac.uk:leicester.ac.uk
data = ${lookup ... in new directory...

pause_mail:
driver = redirect
domains = le.ac.uk:leicester.ac.uk
condition = PAUSE_RCPT
data = :defer:
allow_defer
no_verify
no_more

find_mailbox:
driver = redirect
domains = le.ac.uk:leicester.ac.uk
data = ${lookup ...


The pause router just keeps mail on the queue (it's no_verify, so
doesn't affect receipt) if a DNS entry is set based on the
username. It's a nice simple way I've got for another team to
immediately control lists of users that are being migrated, and it
stops mail being delivered to the old mailbox while the account is
being moved over. (Yes, it's a bit odd, but nsupdate on private
DNS zones is working really well for mail control here... it's
fast to update, distributed over multiple servers, resililent
in case of failures, and exim can query it directly).

So their migration procedure is something like

- pause the user
- create the new mailbox
- export any mail or other settings
- add the user to the new directory
- move mail or files over
- unpause the user

as soon as the user is added to the new directory, the new_mailbox
router will see it and route mail to the new mailbox (whether or
not any old mail has yet been moved - in actual fact someone made
the decision not to migrate old mail - don't ask - but that was
the procedure I gave them).

It's been working really well for all the migrations over the
summer.

Hope that helps,

Cheers

Matthew


--
Matthew Newton, Ph.D. <mcn4@???>

Systems Architect (UNIX and Networks), Network Services,
I.T. Services, University of Leicester, Leicester LE1 7RH, United Kingdom

For IT help contact helpdesk extn. 2253, <ithelp@???>