I have the following in the exim.conf on a primary mx:
As a router:
uservacation:
driver = accept
domains = +local_domains
condition = ${if or { {match {$h_precedence:} {(?i)junk|
bulk|list}} {eq {$sender_address} {}} } {no} {yes}} : \
${lookup pgsql{select "subject"
from "vacations" where "email_address" = '${quote_pgsql:
[EMAIL PROTECTED]:$domain}' and now () between "start_time"
and "end_time"} {yes}{no}}
senders = ! [EMAIL PROTECTED] : \
! [EMAIL PROTECTED] : \
! [EMAIL PROTECTED] : \
! [EMAIL PROTECTED] : \
! [EMAIL PROTECTED] : \
! [EMAIL PROTECTED] : \
! [EMAIL PROTECTED] : \
! [EMAIL PROTECTED] : \
! [EMAIL PROTECTED]
no_expn
transport = vacation_autoresponse
unseen
no_verify
As a transport:
vacation_autoresponse:
driver = autoreply
once
= "/var/spool/mail/${domain}/${local_part}/vacation.db"
once_repeat = 2d
from = ${lookup
pgsql{select '"' || "real_name" || '" <${quote_pgsql:
[EMAIL PROTECTED]:$domain}>' from "email_accounts"
where "email_address" = '${quote_pgsql:[EMAIL PROTECTED]:$domain}'}}
to = $sender_address
subject = ${lookup pgsql{select replace
("subject", '%S', '${quote_pgsql:$h_subject:}') from "vacations"
where "email_address" = '${quote_pgsql:[EMAIL PROTECTED]:$domain}'
and now () between "start_time" and "end_time"}}
text = ${lookup pgsql{select "message"
from "vacations" where "email_address" = '${quote_pgsql:
[EMAIL PROTECTED]:$domain}' and now () between "start_time"
and "end_time"}}
This whole ordeal ends up as 4 SQL queries hitting the PostgreSQL server. I'd
rather do one query in the router and pass the necessary values into the
transport somehow, or if that's not possible, then consolidate the queries in
the transport at least. I'm not sure how to go about doing that.
I'd also like to move the data stored in the berkeley db file for the "once"
data into a PostgreSQL table, but I don't think that's possible in current
versions at least.
Lastly, are there any other checks I should add to the router to prevent
sending replies to places that they shouldn't be sent to? I hate all the
vacation spam but users demand this functionality.
Cheers,
--
Casey Allen Shobe | [EMAIL PROTECTED] | 206-381-2800
SeattleServer.com, Inc. | http://www.seattleserver.com
--
## List details at http://www.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://www.exim.org/eximwiki/