Hallo Ronny,
die Frage ist etwas OT bezüglich Deines Orignialproblems, deshalb ein neuer Thread…
Ronny Seffner ronny@seffner.de (Di 19 Feb 2013 11:32:21 CET):
CREATE TABLE IF NOT EXISTS `mail_users` ( `id` int(11) NOT NULL AUTO_INCREMENT, `email` varchar(255) NOT NULL DEFAULT '', `password` varchar(128) NOT NULL DEFAULT '', `password_enc` varchar(128) NOT NULL DEFAULT '', `uid` int(11) NOT NULL DEFAULT '0', `gid` int(11) NOT NULL DEFAULT '0', `homedir` varchar(255) NOT NULL DEFAULT '', `maildir` varchar(255) NOT NULL DEFAULT '', `postfix` enum('Y','N') NOT NULL DEFAULT 'Y', `domainid` int(11) NOT NULL DEFAULT '0', `customerid` int(11) NOT NULL DEFAULT '0', `quota` bigint(13) NOT NULL DEFAULT '0', `pop3` tinyint(1) NOT NULL DEFAULT '1', `imap` tinyint(1) NOT NULL DEFAULT '1', `username` varchar(255) NOT NULL DEFAULT '', `policy_greylist` enum('policy_greylist','') NOT NULL DEFAULT '', `bypass_virus_checks` char(1) NOT NULL DEFAULT 'N', `bypass_spam_checks` char(1) NOT NULL DEFAULT 'N', `spam_tag2_level` float(4,1) NOT NULL DEFAULT '5.0', `spam_kill_level` float(4,1) NOT NULL DEFAULT '20.0', PRIMARY KEY (`id`), UNIQUE KEY `email` (`email`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=642 ;
… Du nimmst also erstmal jede Mail an, um dann anschließend je nach Nutzer wegzuschmeißen, zu Taggen oder ähnliche Dinge zu tun?
Oder möchtest Du zur SMTP-Zeit bereits rejecten?
Wenn ja, wie regelst Du das, wenn eine Mail an mehrere Empfänger zur gleichen Zeit ankommt, diese aber unterschiedliche Rejection-Policies haben? Kann Postfix PRDR, wie reagieren fremde Clients darauf?
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. 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.
Oder möchtest Du zur SMTP-Zeit bereits rejecten?
Jain. S.o.
Wenn ja, wie regelst Du das, wenn eine Mail an mehrere Empfänger zur gleichen Zeit ankommt, diese aber unterschiedliche Rejection-Policies haben? Kann Postfix PRDR, wie reagieren fremde Clients darauf?
Gute Frage. 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. 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?
Mit freundlichen Grüßen / Kind regards Ronny Seffner -- Ronny Seffner | Alter Viehweg 1 | 01665 Klipphausen
www.seffner.de | ronny@seffner.de | +49 35245 72950
Heiko,
haben? Kann Postfix PRDR, wie reagieren fremde Clients darauf?
willst Du uns/mir noch PRDR erklären - zumindest habe ich Selbige mit google nicht finden können?
Mit freundlichen Grüßen / Kind regards Ronny Seffner -- Ronny Seffner | Alter Viehweg 1 | 01665 Klipphausen
www.seffner.de | ronny@seffner.de | +49 35245 72950
Ronny Seffner ronny@seffner.de (Di 19 Feb 2013 17:06:57 CET):
Heiko,
haben? Kann Postfix PRDR, wie reagieren fremde Clients darauf?
willst Du uns/mir noch PRDR erklären - zumindest habe ich Selbige mit google nicht finden können?
http://tools.ietf.org/html/draft-hall-prdr-00
Aber genau weil ich nicht weiß, ob es so etwas in der freien Wildbahn gibt, wollte ich wissen, wie Deine Erfahrungen damit sind.
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
Hallo Heiko,
Wenn Du es nach dem internen Queuen machst, hast Du ja das finale OK wahrscheinlich schon gegeben, oder?
Wenn "es" das Suchen nach Viren und Spam meint: ja. Da ich ja markieren und nicht ablehnen will, weil die Kunden denken das so wollen.
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.
Weder das eine böse(tm) noch das andere böse (tm). Nur in header und subject markieren.
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
Klar. Der postfix' smtpd reicht den Dialog an den Proxy weiter.
der Höhe der Zeit, ich verwende ihn schon lange nicht mehr.
Das ist der eigentlich interessante Teil. Sondern? - verlässt Du Dich nur auf envelope-Prüfungen, RBL und greylisting / Inhalt ist Kundensache - nimmst du was Anderes
Du kannst jeden einzelnen mit 4xx abweisen, der wird dann später noch mal probiert oder meinte es nicht ernst.
Dann gibt’s ja das - von Dir skizzierte? - Schreckensszenario nicht, dass ein Mail an Empfänger unterschiedlicher policies den MTA vor ein Entscheidungsproblem stellen.
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
Absender können auf Ideen kommen? Ich dachte es ist egal zu welchem Zeitpunkt ich den 5xx schicke, um den Admins da Leben zu erleichtern kann ich ja einen erklärenden Text mitgeben. Anwender lesen das eh nicht und wenn, unterscheiden sie doch nicht ob der Reject nun nach dem RCPT-TO oder DATA kam. Sag niemals nie - ich weiß.
Mit freundlichen Grüßen / Kind regards Ronny Seffner -- Ronny Seffner | Alter Viehweg 1 | 01665 Klipphausen
www.seffner.de | ronny@seffner.de | +49 35245 72950
Hallo Ronny,
Ronny Seffner ronny@seffner.de (Do 21 Feb 2013 17:21:41 CET):
Wenn Du es nach dem internen Queuen machst, hast Du ja das finale OK wahrscheinlich schon gegeben, oder?
Wenn "es" das Suchen nach Viren und Spam meint: ja. Da ich ja markieren und nicht ablehnen will, weil die Kunden denken das so wollen.
Ich meine, die Ablehnung von Schadstoffen ist nicht sehr umstritten. Bei Lockstoffen sieht das anders aus, da ist eine Hilfestellung für die Bewertung beim Absender in Ordnung.
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.
Weder das eine böse(tm) noch das andere böse (tm). Nur in header und subject markieren.
Ah, ok. Du überläßt es dem Empfänger, dann die Virus selbst zu entsorgen. Ist auf jedenfall kein Fehler, wenn es um vermutlich vermißte Mails geht.
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
Klar. Der postfix' smtpd reicht den Dialog an den Proxy weiter.
der Höhe der Zeit, ich verwende ihn schon lange nicht mehr.
Das ist der eigentlich interessante Teil. Sondern?
- verlässt Du Dich nur auf envelope-Prüfungen, RBL und greylisting / Inhalt ist Kundensache
- nimmst du was Anderes
Virenscan und Spambewertung erfolgen während der vor dem finalen OK, so daß ich unerwünschte Dinge gar nicht erst annehme. Das ist aus meiner Sicht ein subtiler Unterschied zum Wegwerfen. Wenn ich das finale OK verweigere, habe ich die Verantwortung für die Nachricht noch nicht übernommen.
Für Envelope-Prüfungen genügen mir die ACL des Exim, die Prüfung der Daten übernehmen Viren- und Spamscanner, die in der DATA-ACL des Exim hängen.
Du kannst jeden einzelnen mit 4xx abweisen, der wird dann später noch mal probiert oder meinte es nicht ernst.
Dann gibt’s ja das - von Dir skizzierte? - Schreckensszenario nicht, dass ein Mail an Empfänger unterschiedlicher policies den MTA vor ein Entscheidungsproblem stellen.
Während der RCPT-Phase - nein, da ist 4xx unproblematisch, 5xx nicht unbedingt, s.u.
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
Absender können auf Ideen kommen? Ich dachte es ist egal zu welchem Zeitpunkt ich den 5xx schicke, um den Admins da Leben zu erleichtern kann ich ja einen erklärenden Text mitgeben. Anwender lesen das eh nicht und wenn, unterscheiden sie doch nicht ob der Reject nun nach dem RCPT-TO oder DATA kam. Sag niemals nie - ich weiß.
Nein, ich meine, daß es durchaus einen Unterschied für die Interpretation des Fehlers macht, ob er nach RCPT-To oder nach DATA kommt.
Und ja, Absender kommen auf Ideen. Oder deren Dienstleister. Wenn mir einer mit einem 5xx nach einem RCPT-TO kommt, würde ich davon ausgehen, daß der Empfänger vom Absender *keine* wie auch immer geartete Post haben möchte, und mir das eventuell sogar für eine angemessene Zeit merken. Kommt das 5xx nach den Daten, dann gefällt ihm genau dieser Inhalt nicht.
Aber das mag wie Krümelkackerei erscheinen.
Best regards from Dresden/Germany Viele Grüße aus Dresden Heiko Schlittermann
lug-dd@mailman.schlittermann.de