I am trying to setup up out-of-office replies using Dovecot, Sieve,
Sieve Vacation module and Exim. My setup is like so:
Internet Internet
| ^
V |
Provider's POP3 server Provider's SMTP server
| ^
V | --------------
getmail | my server
| |
V |
Dovecot LDA ---> Sieve/vacation -----> Exim
|
V
Dovecot my server
---------------
My problem is the exim client/smart relay authentication on the way out.
It works fine when my in-house email clients (Thunderbird) send email
out through exim (using the server authenticator to talk to Exim first)
- but it doesn't work when Dovecot LDA tries to send stuff out.
Dovecot LDA uses the following command line to talk to Exim (and it
can't be altered in the Dovecot config, as far as I can tell):
#/usr/sbin/exim -i -f <> -- recipient@???
The problem is that it does include the sender's email address in a
"From:" header, but not on the command line. This creates problems for
me, as my exim client authenticator uses the $sender_address variable to
authenticate against the provider's SMTP - which is empty and the
authentication fails. I use the following as client authenticator:
fixed_plain_client:
driver = plaintext
public_name = PLAIN
client_send = ^$sender_address^${lookup{$sender_address}\
lsearch{/etc/exim/exim-client.passwd}{$value}{fail}}
I tried to use the $header_from: variable in the authenticator code -
but it doesn't seem to work. I can't find the specific statement in
Exim's documentation - but I'm assuming $header_from: might not be
available to the authenticator?
Is there any other way I can send these emails out through my provider's
SMTP - or am I basically screwed, as the auto-replies need the empty
sender, so that they don't bounce, while Exim really needs a proper
sender, to authenticate against the provider's SMTP?
Thanks for any suggestions.