On 08/11/2020 12:12, Andrew C Aitchison via Exim-users wrote:
On Sun, 8 Nov 2020, Mike Tubby via Exim-users wrote:

Now it looks like I have to use additional look-ups, perhaps something like this:

    $domain_data = ${lookup mysql{SELECT domains.domain AS domain FROM \
                users LEFT JOIN domains ON users.domain_id=domains.id WHERE \
                users.username='${quote_mysql:$local_part}' AND \
                domains.domain='${quote_mysql:$domain}' AND \
                users.active=1 AND \
                domains.active=1}}

    $local_part_data = ${lookup mysql{SELECT users.username AS username FROM \                 users LEFT JOIN domains ON users.domain_id=domains.id WHERE \
                users.username='${quote_mysql:$local_part}' AND \
                domains.domain='${quote_mysql:$domain}' AND \
                users.active=1 AND \
                domains.active=1}}

to simply send my 'already known good' keys $local_part and $domain round in circles and get the duplicate data (same values) from the database rather than use them, directly?

If you do it the way Jeremy suggests, exim will set $local_part_data and $domain_data for you as side effects of successfully looking up $local_part and $domain.


Maybe I'm have a mental block with this one but to me doing it "do it the way Jeremy suggests" is unclear - I may be suffering from the "I've done it this way for 20 years" and can't see the wood for for the trees with this one.  Jeremy also said I was 'fighting the design' but nowhere can I see or visualise the design in a meaningful way.

Perhaps you, or someone, could re-write my local_delivery router by way of an example for how it should work with the new design:


local_delivery:
        driver = accept
        condition = ${lookup mysql{SELECT CONCAT(users.username,'@',domains.domain) AS email FROM \                 users LEFT JOIN domains ON users.domain_id=domains.id WHERE \
                users.username='${quote_mysql:$local_part}' AND \
                domains.domain='${quote_mysql:$domain}' AND \
                users.active=1 AND \
                domains.active=1}{yes}{no}}
        transport = local_delivery
        user = mail
        group = mail


Mike






--
## 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/

Reply via email to