Am 11.06.2013 18:39, schrieb [email protected]:
Hi all
I'm using a virtual users setup with a mysql database.
I'm trying to reduce the number of sql lookups because there are just
too many simple queries at the moment (is forwarding enabled,
store-and-forward, vacation,...).
Now I want to have a router whose sole purpose is to fill
address_data. On subsequent routers it would then be possible to use
${extract{var}{$address_data}} instead of all these lookups.
I don't want to set this on a "real" router because they all only
apply if some conditions are met.
Is there a way to have a router only add address_data and pass the
message on to the next router?
(I tried using a verify_only router with an acl that set a custom
acl_c var with the content of $address_data. This almost worked - I
got stuck with a redirect router, as the "new" forwarded mail had the
same acl_c_ vars, but needed to have its own).
autoresponder:
driver = redirect
domains = +local_domains
condition =
data =
allow_fail
allow_defer
no_verify
no_expn
check_ancestor
unseen
more
pipe_transport = address_pipe
reply_transport = address_reply
*redirect_router = NEXTROUTER*
*But*,
why don't you set those informations in an ACL ? Which is more useful in
the whole process.
But²,
If you have to many sql statements, increase the mysql cache.
And,
instead of selecting the data needed, just put it into the querie itself
. i.e.
select '1' from mailboxes where (hour(CURTIME())*3600
+MINUTE(CURTIME())*60)> TIMEFROM and ... < TIMETO and
address='[email protected]' ...
If you put something like that into your router condition, it only
applies if the time matches. Using UNIXTimestamps in a creative way,
allows us i.e. to have autoresponders from 1th May 00:00 to 1.Jun
10:00 or daily 10:00 to 12:00 ..
hope that helps.
Marius
--
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/