Dans un Authenticator pour une connexion smtp sortante, j'ai ceci :
remote_login:
driver = plaintext
public_name = LOGIN
client_send = : user : password
Et ça marche bien.
Si je remplace le mot de passe par :
${extract{auth_pass}{${lookup{$sender_address_domain}wildlsearch{/etc/exim/smtp_auths}{$value}fail}}}
avec un ./smtp_auths
example.com: auth_pass=password
Cela fonctionne toujours.
Changez avec une recherche mysql :
${lookup mysql{SELECT users.remote_secret as secret FROM users WHERE users.domain='${quote_mysql:$sender_address_domain}'}{$value}}
J'obtiens l'erreur suivante dans le journal lors de l'envoi.
différer (-48) : Erreur interne temporaire
Mais en utilisant le débogage :
[ec2-user@ip-172-31-16-5 exim]$ sudo exim -be -Mset <message-id>
> ${extract{auth_pass}{${lookup{$sender_address_domain}wildlsearch{/etc/exim/smtp_auths}{$value}fail}}}
password
> ${lookup mysql{SELECT users.remote_secret as secret FROM users WHERE users.domain='${quote_mysql:$sender_address_domain}'}{$value}}
password
>
Il semble vraiment que ça devrait fonctionner. Quelqu'un a-t-il déjà rencontré ce problème ?
Aussi, si je change
${quote_mysql:$sender_address_domain}
avec
example.com
Cela fonctionne. Je sais donc que mysql fonctionne.
Qu'est-ce que je fais de mal ?