2016-10-29 13:42:39 +02:00
|
|
|
dbpath = /data/main.db
|
2016-02-20 20:11:59 +01:00
|
|
|
query =
|
2016-08-18 11:29:26 +02:00
|
|
|
SELECT destination
|
|
|
|
FROM
|
2018-03-19 17:54:04 -05:00
|
|
|
(SELECT destination, email, wildcard, localpart, localpart||'@'||alternative.name AS alt_email FROM alias LEFT JOIN alternative ON alias.domain_name = alternative.domain_name
|
2016-08-18 11:29:26 +02:00
|
|
|
UNION
|
2018-03-19 17:54:04 -05:00
|
|
|
SELECT (CASE WHEN forward_enabled=1 THEN (CASE WHEN forward_keep=1 THEN email||',' ELSE '' END)||forward_destination ELSE email END) AS destination, email, 0 as wildcard, localpart, localpart||'@'||alternative.name as alt_email FROM user LEFT JOIN alternative ON user.domain_name = alternative.domain_name
|
2017-09-10 15:30:25 +02:00
|
|
|
UNION
|
2018-03-19 17:54:04 -05:00
|
|
|
SELECT '@'||domain_name as destination, '@'||name as email, 0 as wildcard, '' as localpart, NULL AS alt_email FROM alternative)
|
2016-08-18 11:29:26 +02:00
|
|
|
WHERE
|
|
|
|
(
|
|
|
|
wildcard = 0
|
|
|
|
AND
|
2018-03-19 17:54:04 -05:00
|
|
|
(email = '%s' OR alt_email = '%s')
|
2016-08-18 11:29:26 +02:00
|
|
|
) OR (
|
|
|
|
wildcard = 1
|
|
|
|
AND
|
|
|
|
'%s' LIKE email
|
|
|
|
)
|
|
|
|
ORDER BY
|
|
|
|
wildcard ASC,
|
|
|
|
length(localpart) DESC
|
|
|
|
LIMIT 1
|