Hallo Ronny,
Ronny Seffner ronny@seffner.de (Di 19 Feb 2013 16:55:08 CET):
Hallo Heiko,
… Du nimmst also erstmal jede Mail an, um dann anschließend je nach Nutzer wegzuschmeißen, zu Taggen oder ähnliche Dinge zu tun?
Ja und Nein. Amavis läuft im content-filter und nicht proxy Mode - wobei das wiederum postfix übliche Bezeichnungen sein können. Und "wegschmeißen" ist keine Option, die ich unterstütze ;-) "content-filter" heißt hier nach dem internen queuen, aber vor dem MDA oder relay (oder was auch immer der letzte Schritt sein kann). Im "proxy"-Mode würde ich mich wohl direkt in den SMTP-Dialog klinken, aber ich habe "Angst", dass amavis da auch mal länger brauchen kann, als ein Client beim Liefern warten will.
M.W. sind 10 Minuten erlaubt, um das finale OK zu geben. Aber mit dem Hinweis, nicht unnötig lange zu trödeln. Typischerweise dürfte das Prüfen aber nicht länger als ca. 1..2 Minuten dauern, so viel Zeit sollten die Clients haben.
Wenn Du es nach dem internen Queuen machst, hast Du ja das finale OK wahrscheinlich schon gegeben, oder?
Wenn Du das finale OK schon gegeben hast und dann erst feststellst, daß es Müll ist, was machst Du dann? Bouncen ja hoffentlich nicht. Wegschmeißen ist auch keine Option - sagst Du selbst.
Proxy-Mode hieße mit Amavis wohl, daß der „Erstkontakt“ von außen mit dem Amavis erfolgt, da vergibt man sich eine Menge Möglichkeiten, die der MTA vielleicht hätte (Ratelimit, Reverse-DNS, selektives Delay, …). Aber vielleicht bin ich hier - was Amavis angeht - auch nicht mehr auf der Höhe der Zeit, ich verwende ihn schon lange nicht mehr.
In meiner Anfrage zu MySQL geht es aber um die Integration von greylisting, hier soll schon während des SMTP-Dialoges in MySQL nachgeschaut werden, will das der Empfänger oder nicht und dann sollte nach dem RCPT-TO entsprechende Reaktion stattfinden.
Ok. Hatte ich nicht mitgeschnitten, ich dachte, es geht um den Content. Den kennst Du ja bei RCPT TO noch nicht.
Wie läuft den der SMTP-Dialog für RCPT-TO ab, wenn mehrere Empfänger im Spiel sind? Ich dachte die Abfrage nach greylisting direkt in die *_recipient_restrictions zu setzen - dort wo bisher das globale greylisting steht.
<- 220 ssl.schlittermann.de ESMTP Exim (mx) 4.72 Tue, 19 Feb 2013 21:13:26 +0100 -> EHLO jumper.schlittermann.de <- 250-ssl.schlittermann.de Hello dslb-088-073-197-159.pools.arcor-ip.net [88.73.197.159] <- 250-SIZE 52428800 <- 250-PIPELINING <- 250-STARTTLS <- 250 HELP -> MAIL FROM:hs@schlittermann.de <- 250 OK -> RCPT TO:info@schlittermann.de <- 250 OK -> RCPT TO:es@schlittermann.de <** 451-Eingeschraenkte Senderate (HELO). <** 451-Rate limited (HELO) <** 451---- <** 451-Please see http://www.schlittermann.de/ for contact information. <** 451-Bitte besuchen Sie http://www.schlittermann.de/, um Kontaktdaten zu <** 451-erfahren. <** 451---- <** 451 Server time: Tue, 19 Feb 2013 21:13:26 +0100 -> QUIT <- 221 ssl.schlittermann.de closing connection
Du kannst jeden einzelnen mit 4xx abweisen, der wird dann später noch mal probiert oder meinte es nicht ernst.
Erlaube ich also greylisting pro Konto, kann ein Mail an Klaus und Bernd kommen, Klaus will greylisting, Bernd nicht - klar das postfix hier wohl den greylsisting Wunsch gewinnen lässt. Fazit, ich sollte das nicht auf Konten sondern nur auf Domains differenziert realisieren. Was aber wenn ein Absender an zwei Nutzer in unterschiedlichen Domains für die ich beide MX bin adressiert. Wird das auch nur ein Mailobjekt oder sieht SMTP wenigstens domainweit eine Splittung vor?
Verdammt, was stellst Du auch solche Fragen. Das führt per-user greylsisting ad absurdum oder?
Nein, siehe oben :) Mir ging es mehr um unterschiedliche Rejection-Policies… 5xx möchte ich nicht bei einem RCPT-TO antworten, weil der Absender dann ja auch auf die Idee kommen könnte, die 5xx hat etwas mit dem Empfänger zu tun (Empfänger verzogen, …) Außerdem kann ich ja inhaltsbasierte Abweisung erst machen, wenn ich den Inhalt habe, also nach dem
-> DATA <- 305 geht los -> … -> … -> .
Aber hier kann ich nicht mehr sagen, daß Fred die Mail wollte, aber Frieder nicht. (Außer ich habe PRDR - Per Recipient Data Response)
Wie löst man das? Ich könnte beim RCPT TO ein 4xx für jeden machen, der nicht der selben „Policy Klasse“ wie der erste angehört. (Unnötig zu sagen, daß man das im Exim konfigurieren kann ☺ - nicht fertig eingebaut, aber mit den Mitteln der ACL)
Best regards from Dresden/Germany Viele Grüße aus Dresden Heiko Schlittermann