[Postfixbuch-users] Postfix / Cyrus / OverQuota im SMTP Dialog

Martin mrg at unimx.de
Sa Feb 28 19:06:28 CET 2009


Hallo nochmal.

> > Aber der check_recipient_access nimmt ja nur Emailadressen.
> > Im SMTP Dialog kenne ich zu meine at email.de ja das Postfach noch nicht.
> 
> Für mich ein Fehler im Designkonzept.
> 
> Pfade und Dateinamen müssen sich für mich grundsätzlich immer automatisch
> ohne Hilfe erreichnen lassen. Alles andere wird auf Dauer nicht
> administrierbar.
> 
> Wenn es keine triviale Umformung von Mailadresse zu Acocunt-Verzeichnis
> gibt, dann ist das ein Fehler im Konzept.
> 

Doch gibt es.
Also nicht falsch verstehen.
Ich habe N Postfächer die lauten postfach1, postfach2 ...
Jedem Postfach können mehrere Emailadressen zugeordnet sein, auch
Domainübergreifend. Z.B.
mail at domain1.de -> Postfach 1
mail at domain2.de -> Postfach 1
mail2 at domain1.de -> Postfach 2

Ist es echt ein Fehler das so zu handhaben:

local_recipient_maps = hash:/etc/postfix/vpop3,$alias_maps
virtual_alias_domains = hash:/etc/postfix/vdomains
virtual_alias_maps =    hash:/etc/postfix/vusers

vpop3 enthält alle Postfächer (virtuelle Emailadressen) z.B. postfach1 DUMMY
vdomains enthält alle Domains im System z.b: domain1.de DUMMY
vusers enthält die Zuordnung der Mailadressen zu Postfach (virt.
Emailadresse) oder Umleitung oder Alias z.b. mail at domain1.de postfach1

Cyrus hat user.postfach1 , user.postfach2 usw.

#vusers
mail at domain1.de postfach 1
mail3 at domain1.de postfach1
mail at domain2.de postfach 1
mail2 at domain1.de postfach 2
 

Ist das vom Konzept echt falsch? Was sollte geändert werden?


> > Ich könnte nun natürlich /etc/postfix/vusers nehmen und überall wo
> > postfach1 stehe die Emailadresse in die /etc/postfix/over_quota
> > kopieren.
> 
> Nein, es müßte reichen, wenn Du "postfach1@$myhostname" sperrst.

Naja das reicht eben für mein Verständnis nicht. Wenn eine Mail an
mail at meinedomain.de ankommt schaut Postfix in der over_quota.db nach.
Dort findet er aber nur postfach1 at mainemaildomain.de Reject ... , also lässt
er sie durch.

Oder hab ich da total was falsch verstanden?


> Postfix kennt keine Postfächer. Auch postfach1 ist nur eine Mailadresse.
> Leider anscheinend nochmal vollständig mit Hostnamen (solltest Du machen,
> verhindert Probleme).
> 
> > Wie sage ich /check.sh nun, was der Absender und der Empfänger der
> > Email ist?
> 
> Siehe das README zu POLICY_DELEGATION von Postfix.
> 

Ok muss ich mich mal belesen :)

> > Zudem weiß check.sh ja nicht an welches Postfach die Mail dann
> > schließlich soll. So weit check.sh auch nicht, welches Postfach es auf
> > überfüllung prüfen muss.
> 
> Eine Überprüfung in Echtzeit bei der Mailannahme kannst Du aus Lastgründen
> vergessen. Diese Infos müssen fertig in der DB stehen und geprüft wird
> dann nur noch gegen die DB.
>
Ja das ist klar, nur muss die DB auch regelmäßig 
refreshed werden, was schon genügend Last erzeugt.

 
> Und, erneut: Wenn auch das Script nicht trivial die Zuordnung erkennen
> kann, dann mußt Du Dein Konzept überdenken/korrigieren.
> 

Doch kann es, muss einfach in die vusers Datei oder in die MySQL schauen


> > Klingt ganz gut, muss ich mir grad noch überlegen, welche Folgen das
> > für Weiterleitungen an externe Mailadressen (alias / Nebenempfänger)
> > haben könnte. Hast du dazu eine Idee?
> 
> Du prüfst, ob diese Adressen existieren.

Du meinst beim Anlegen der Weiterleitung?
Oder wie kann ich das "immer" mit Postfix Boardmitteln überprüfen?
Oder extra ein Script schreiben das regelmäßig alle toten Weiterleitungen
löschen (was aber wenn nur tmp offline)?

> 
> Das solltest Du sowieso!
> 
> Stichwort: Backscatter. Stichwort: Postfix als Relay vor anderen
> Maschinenen.
> 
> Ist um Buch umfangreich erklärt, schau da mal nach. Deine Weiterleitungen
> sind nichts anderes als ein Relay-Szenario. Insofern gilt da auch nix
> anderes.
> 

Welche Seite ca? :)

> > Ein Test hat ergeben, dass die Address verification recht lange dauert.
> 
> Dann ist bei Dir was falsch. Verification muß in Echtzeit ohne Verzögerung
> gehen. Das ist nichts anderes als eine halbe Mail. Verzögerungen hier
> sind ein Fehler, egal ob im Einzelfall oder als Folge eines
> Designfehlers.

Jetzt geht es in paar Sekunden (ohne cache).


Die Idee mit dem reject_unverified_recipient gefällt mir und funktioniert
auch schon recht gut.
Ich habe aber einen RelayHost (und einen separaten Transport zu einem
"Amavisd-Server")
Fällt der Relay mal aus, würde Postfix einen "connection failed" bekommen
und die Mail lokal "deferren".

Wenn ich nun reject_unverified_recipient verwende und der RelayHost ist
ausgefallen, dann bekommt der Sender ja sofort einen 450 connection failed.
Der Sender sollte die Mail dann spoolen und wenig später nochmal verschicken
oder?

Also ist ein kurzer Ausfall des RelayHosts stellt kein Problem dar oder?
Sendende Mailserver spoolen Mails doch gewöhnlich.
Sonst würde Greylisting ja auch nicht funktionieren.


Ich habe aber noch einen BackupMX.
Wenn nun die Mail durch ein connection failed (da relayhost down) im SMTP
Dialog abgelehnt wird, nimmt da nicht der sendende Mailserver den BackupMX?
Oder sehe ich das falsch?
Ach:
Dieser ist so konfiguriert, dass er alles ablehnt, solange der Haupt MX
online ist (netcat SMTP-check).


Danke und Grüße
Martin

> 
> 
> Peer
> 
> 
> 
> 
> --
> Heinlein Professional Linux Support GmbH
> Linux: Akademie - Support - Hosting
> 
> http://www.heinlein-support.de
> 
> Zwangsangaben lt. §35a GmbHG:
> HRB 93818 B / Amtsgericht Berlin-Charlottenburg,
> Geschäftsführer: Peer Heinlein  -- Sitz: Berlin
> --
> _______________________________________________
> Postfixbuch-users -- http://www.postfixbuch.de
> Heinlein Professional Linux Support GmbH
> 
> Postfixbuch-users at listen.jpberlin.de
> https://listi.jpberlin.de/mailman/listinfo/postfixbuch-users




Mehr Informationen über die Mailingliste Postfixbuch-users