Hi René,

ich habe Deiner Lösung mal die gleichen "Optimierungen" zukommen lassen, die
postmap offenbar benötigt und das "@" im CONCAT ergänzt (damit mal nicht
eine Domain Teil einer anderen sein kann), die Klammern um die IF
expressions hattest Du ja schon:

> SELECT
> IF(
>       (
>               SELECT COUNT(*)
>               FROM `mail_virtual`
>               WHERE `email` = '[email protected]'
>       ) > 0,
>       (
>               SELECT `policy_greylist`
>               FROM `mail_users`
>               RIGHT JOIN `mail_virtual` ON `mail_users`.`id` =
> `mail_virtual`.`popaccountid`
>               WHERE `mail_virtual`.`email` = '[email protected]'
>       )
>       ,
>       (
>               SELECT `policy_greylist`
>               FROM `mail_users`
>               RIGHT JOIN `mail_virtual` ON `mail_users`.`id` =
> `mail_virtual`.`popaccountid`
>               WHERE `mail_virtual`.`email` LIKE
> (CONCAT('%%@','%d'))
>               AND `mail_virtual`.`iscatchall` = 1
>       )
> ) 

Fazit:

policy:gesetzt, catchall:gesetzt (+ erwartetes Resultat, -nicht erwartetes
Resultat)
-------------------------------------
+ Konto ronny@ angefragt liefert die policy
- Alias info@ angefragt liefert ein leeres Resultat (exit 0)
+ fiktiven catach-all Alias angefragt liefert die policy

policy:entfernt, catchall:gesetzt
---------------------------------------
- Konto ronny@ angefragt liefert postmap Fehler
+ Alias info@ angefragt liefert ein leeres Resultat (exit 0)
- fiktiven catach-all Alias angefragt liefert postmap Fehler

policy:entfernt, catchall:entfernt
----------------------------------------
- Konto ronny@ angefragt liefert postmap Fehler
+ Alias info@ angefragt liefert ein leeres Resultat (exit 0)
+ fiktiven catach-all Alias angefragt liefert leeres Resultat (exit 0)

policy:gesetzt, catchall:entfernt
---------------------------------------
+ Konto ronny@ angefragt liefert die policy
- Alias info@ angefragt liefert ein leeres Resultat (exit 0)
- fiktiven catach-all Alias angefragt liefert leeres Resultat (exit 0)

Der postmap-Fehler ist wie bei morphiums Lösung :

postmap: warning: table "mysql:/root/mysql-rene": empty lookup result for:
"[email protected]" -- ignored (Adresse natürlich variabel)


Mit freundlichen Grüßen / Kind regards
     Ronny Seffner
--
Ronny Seffner  |  Alter Viehweg 1  |  01665 Klipphausen

www.seffner.de  |  [email protected]  |  +49 35245 72950


_______________________________________________
Lug-dd maillist  -  [email protected]
https://ssl.schlittermann.de/mailman/listinfo/lug-dd

Antwort per Email an