Hi,
We use here a Exim4u installation to handle only local messages. The remote messages are forwarded to our ISP Mail server.
This is done using a Transport to forward remote SMTP messages. Since my local ISP requires authenticated SMTP, I’ve configured the authenticators section like that using the client_send variable:
fixed_login:
driver = plaintext
public_name = LOGIN
server_prompts = "Username:: : Password::"
server_condition = ${lookup mysql{SELECT '1' FROM users \
WHERE username = '${quote_mysql:$1}' \
AND clear = '${quote_mysql:$2}'} {yes}{no}}
client_send = : userispaccount(a)domainisp.com : password
server_set_id = $1
As you may see a valid ISP account is used to authenticate all the remote smtp messages.
Today, the ISP have implemented another validation requiring that the authenticated SMTP user needs to be the same used in the From header. Considering that we would need to define the client_send variable with the same data as the “username” and “clear” MySQL fields from the authenticated Exim4u user.
Please could you help me how to write a correct client_send syntax to lookup these data from MySQL users table? I´ve tried using the $1 and $2 variables like below but the ISP send’s me an authentication failure
client_send = : $1 : $2
If I use the full account syntax it works perfectly but only for that messages sent using that e-mail account. If I try to send messages from another account the ISP informs that the user authenticated and from header are not the same.
Best Regards,
William Marcelo Piovezan.