[Postfixbuch-users] @Aliasdomain -> @Domain

Thomas -Balu- Walter list+postfixbuch-users at b-a-l-u.de
Mi Nov 26 11:42:09 CET 2008


Hallo,

On Wed, Nov 26, 2008 at 04:17:29AM +0100, Stefan Förster wrote:
> * Thomas -Balu- Walter <list+postfixbuch-users at b-a-l-u.de> wrote:
> > virtual_mailbox_maps = mysql:SELECT 1 FROM mailusers WHERE email='%s'
> 
> ich habe den Fehler gefunden. Kriege ich jetzt eine Leberkassemmel?

Du bekommst sogar zwei (das Muensterland ist allerdings nicht beruehmt
fuer seine Leberkassemmeln ;), wenn Du mir noch verraetst, wo mein
Denkfehler ist.

Ich habe den Ablauf so verstanden:

    - cleanup sorgt in mehreren Iterationslaeufen dafuer, dass Mailaliase
      abgearbeitet werden. 

    - virtual bekommt am Ende der Kette die neue Adresse und schlaegt die in
      den virtual_mailbox_maps nach. Liefert die Abfrage einen Wert
      zurueck, wird die Mail ueber den virtual_transport zugestellt.

Bei mir liefert virtual die Mail aber aus, obwohl die Abfrage keinen
Wert zurueck liefert.

     Balu

Der Vollstaendigkeit halber noch meine DB-Struktur (nur das, was sich
auf Mail bezieht):

domains:
    id
    name
    mail (bool, Mail aktiv?)
    postfwd (bool, ob postfwd durchlaufen werden soll oder nicht)
    mailpolicy_id (-> mailpolicies, fuer Amavis; (2))

domainaliases:
    id 
    name
    domain_id (-> domains)
    mail (bool, Mail aktiv)

mailaliases:
    id
    localpart
    domain_id (-> domains)
    email (1)
    destination

mailusers:
    id
    localpart
    domain_id (->domains)
    password
    mailpolicy_id (-> mailpolicies, fuer Amavis; (2))
    email (1)

(1) Die beiden email-Felder werden durch Trigger automatisch gesetzt.
    Die Idee hierbei ist die Normalform zu erweitern, um die Abfragen zu
    vereinfachen, direkte Indexe zu benutzen, usw. Trotzdem koennen
    durch die Verknuepfungen mit den IDs Kaskaden ausgeloest werden
    (Loeschen der Domain, loescht auch alle Adressen und Aliasse, usw.)

(2) Verweist auf eine Tabelle mit individuellen Einstellungen fuer
    Amavis. Ein Wert in mailusers.mailpolicy_id!=null "ueberstimmt" den
    Eintrag in domains. So kann eine Domain globale Einstellungen haben,
    aber die einzelnen User koennen davon abweichen.





Mehr Informationen über die Mailingliste Postfixbuch-users