[Postfixbuch-users] virtual_alias und catch-all
Stefan Förster
cite at incertum.net
Mi Mai 19 22:36:24 CEST 2010
* Thomas Walter <list+postfixbuch-users at b-a-l-u.de>:
> SELECT email FROM mailusers WHERE email=
> (SELECT CONCAT('%u', '@', domains.name)
> FROM domainaliases, domains
> WHERE domain_id=domains.id
> AND domainaliases.name="%d")
> UNION SELECT destination FROM mailaliases WHERE email=
> (SELECT CONCAT('%u', '@', domains.name)
> FROM domainaliases, domains
> WHERE domain_id=domains.id
> AND domainaliases.name="%d")
>
> Kennt hier einer MySQL gut genug, um mir sagen zu können, wie ich
> die beiden - identischen - Unterabfragen zusammenfassen kann - oder
> ob ich das überhaupt muss?
Ich hab mir gerade extra deswegen ein MySQL installiert. Da man Aliase
für einzelne Adressen nicht braucht, wenn man sowieso eine
SQL-Datenbank hat (da zeigt eine andere Kombination aus Localpart und
Domain halt eben auf die selbe Mailbox) wäre das untenstehende nur für
ein 1:1-Mapping brauchbar:
CREATE DATABASE mailtest;
USE mailtest;
CREATE TABLE virtual_mailbox_maps (id INTEGER, localpart VARCHAR(20), domain_id INTEGER);
CREATE TABLE virtual_domain_maps(id INTEGER, domainname VARCHAR(20));
CREATE TABLE virtual_alias_domains(id INTEGER, domainname VARCHAR(20), target_name VARCHAR(20));
INSERT INTO virtual_mailbox_maps values(0, 'cite', 0);
INSERT INTO virtual_domain_maps values(0, 'incertum.net');
INSERT INTO virtual_alias_domains values(0, 'billigmail.org', 'incertum.net');
Und als Map in Postfix dann:
SELECT 1 FROM
virtual_mailbox_maps vmm JOIN
virtual_domain_maps vdm
WHERE
vmm.domain_id = vdm.id AND
vmm.localpart = '%u' AND
(vdm.domainname = '%d' OR
EXISTS
(SELECT 1 FROM
virtual_alias_domains vad
WHERE
vad.target_name = vdm.domainname AND
vad.domainname = '%d'
)
)
;
Das matcht halt dann auf cite at incertum.net und cite at billigmail.org,
aber eben nicht auf michnix at billigmail.org. Und ohne Indices kann man
das sowieso knicken.
Hier liest doch Christian Boltz (sp?) mit, der macht doch Postfixadmin
und hat sich das doch garantiert schon alles mal überlegt.
Stefan
Mehr Informationen über die Mailingliste Postfixbuch-users