On Jan 5, 2015, at 1:30 PM, Robert Blayzor <[email protected]> wrote:
>
> Consider the following:
>
> PLAIN:
> driver = plaintext
> server_set_id = Q_AUTHPLAIN
> server_prompts = :
> server_condition = ${if !eq{Q_AUTHPLAIN}{}{true}{false}}
>
>
> Where Q_AUTHPLAIN is just a macro for some SQL that returns either an empty
> string on failure or the users email address if pass.
>
> Is there any way possible to return any other data/fields that can be passed
> and perhaps set a connection macro at this point? ie: Would it be possible
> to add multiple server_conditions/calls and return another field back from
> the database?
>
> Trying to find a way to possibly return other user variables back to be used
> later in the mail connection but would rather not make another query into the
> database if it can be avoided.
I believe I have found a work around for this. Currently "server_set_id"
(authenticated_id) is set to the users email address, which comes from the
database query. I simply changed the query to return "<email address>:x:y:z"
and then I can just use a macro and replace where I normally use
authenticated_id:
AUTH_ID = ${extract{1}{:}{${lc:$authenticated_id}}}
and then pull other values I need later:
${if >{foo}${extract{2}{:}{$authenticated_id}}} ...
Not sure of any caveats or implications, but seems to work fine.
--
Robert
inoc.net!rblayzor
http://inoc.net/
--
## List details at https://lists.exim.org/mailman/listinfo/exim-users
## Exim details at http://www.exim.org/
## Please use the Wiki with this list - http://wiki.exim.org/