Dear exim gods and users,
I'm having some issues with configuring autoreply for vacation usage.
What I want: Setup the "perfect" vacation autoreply message, that
only send an autoreply if the users mailaddress is in the $header_to
or $header_cc field (I know there is more, I should think about
mailing-list-servers and such, this is the easy part, so not
implemented yet).
My main issue is multiple recipients in one e-mail - I can easily
detect if one mailadress matches one recipient. This is no longer
true if there is more than one recipient.
What I would need is a function, that detects if one or more elements
of a list can be found in another list. I don't think there is such a
function. How do you guys out there implement the "perfect" vacation
setup, if you have all mailadresses of a user in a DB? Any examples?
Thank you for any hints;
Wolfgang
Here's my router:
local_user_vacation:
driver = accept
unseen
local_parts=\
ldap; LDAPCONFIG \
ldaps::///ou=People...dc=at?uid?sub?\
LDAPLOCALUSERFILTER
condition = ${if \
and {\
{\
match_address \
{$header_to}\
{${lookup ldap{LDAPCONFIG ldaps:///uid=${quote_ldap:
$local_part},ou=People,...,dc=at?eMailAlias}}} \
}\
{\
eq { \
{${lookup ldap{LDAPCONFIG ldaps:///uid=${quote_ldap:
$local_part},ou=People,...,dc=at?vacationEnabled}}} \
{TRUE}\
}\
}\
}\
}
transport = vacation_autoreply
this is my transport (which works how I want it to)
vacation_autoreply:
driver = autoreply
once = /var/spool/exim4/db/vacation/$local_part.db
once_repeat = 5d
from = ${lookup ldap{LDAPCONFIG ldaps:///uid=${quote_ldap:
$local_part},ou=People,...dc=at?cn}} <$header_to:>
to = $sender_address
headers = "Content-Type: text/plain; charset=utf-8\nContent-
Transfer-Encoding: 8bit"
subject = Re: ${rfc2047:$h_subject:}
text = ${lookup ldap{LDAPCONFIG ldaps:///uid=${quote_ldap:
$local_part},ou=People,o=wogriAtUsers,dc=wogri,dc=at?vacationMessage}}
body_only
--
wogri@???
http://www.wogri.com
http://www.einradfilm.at