
Andreas Koenecke wrote:
Hallo Sandy.
* Dienstag, 24. April 2007 um 19:17 (+0200) schrieb Sandy Drobic:
Andreas Koenecke wrote:
-------------------------------------------------------------------------
Und noch ein "Durchlauf" einer eingehenden Mail aus "/var/log/mail:
------------------------------------------------------------------------- Apr 24 14:00:22 PinguinII postfix/pickup[24687]: E524521956A: uid=10 from=<MAILER-DAEMON> Okay, alles klar. rmail liefert die Mail über das Kommandozeilen-Binary /usr/sbin/sendmail ein. Das zeigt die Zeile mit "pickup".
Die Lösung ist damit recht einfach:
Ändere in /etc/postfix/master.cf folgende Zeile ab:
#von: pickup fifo n - n 60 1 pickup
#nach: pickup fifo n - n 60 1 pickup -o content_filter=smtp-amavis:[127.0.0.1]:10024
Beachte bitte das die Einrückung mit Tab oder Leerzeichen am Anfang der content_filter-Zeile.
Führe danach ein "postfix reload" aus und schaue ins Log, ob es Meldungen bezüglich Schreibfehler gibt. Wenn nicht, werden künftig die Mails über Amavis gescannt.
OK, das wäre eine Lösung, die ich auch als "einfach" bezeichnen würde. Wenn es funktioniert, haben Falk und du ein Getränk bei mir frei...
Sollte funktionieren. Ich habe es gerade bei mir noch einmal getestet. Du kannst als Test einfach eine Mail von der Kommandozeile schicken. echo "test"|mail user@deine-domain.de Dann siehst du in /var/log/mail, wie die Mail durch Amavis wandert. Wie gesagt, auch alle anderen Mails von der Kommandozeile wandern dann durch Amavis. Gerade, wenn das von Cron generierte Berichte über Spams sind, können diese dann auch als Spam klassifiziert werden. Das sind dann die Nebenwirkungen. (^-°)
Dabei dürfte es auch nicht zu einer Mailschleife kommen, da die Rücksendung normalerweise auf einen Port von Postfix geschieht, der den content_filter explizit abgeschaltet hat.
Poste doch sicherheitshalber mal die /etc/postfix/master.cf. Poste bitte auch mal die Ausgabe von "postconf -n", dort können auch globale Filter angegeben werden.
Siehe unten.
Caveat: Damit werden alle Mails gescannt, die über die Kommandozeile gehen, also auch die von cron und Konsorten geschickten. Dies lässt sich leider nicht auseinandertrennen.
Das wäre kein Problem.
Dann kannst du das testen wie oben erwähnt.
Wenn du andere Filter hast, welche die Mails über /usr/sbin/sendmail einliefern, könnte es passieren, dass sie durch den Filter von amavis gekapert werden. Ein Blick in die master.cf sollte das klären.
OK, hier die master.cf: ------------------------------------------------------------------------ # # Postfix master process configuration file. For details on the format # of the file, see the Postfix master(5) manual page. # # ========================================================================== # service type private unpriv chroot wakeup maxproc command + args # (yes) (yes) (yes) (never) (100) # ========================================================================== smtp inet n - n - 10 smtpd -o content_filter=smtp:[127.0.0.1]:10024 #submission inet n - n - - smtpd # -o smtpd_etrn_restrictions=reject # -o smtpd_client_restrictions=permit_sasl_authenticated,reject #smtps inet n - n - 2 smtpd -o smtpd_tls_wrappermode=yes -o content_filter=smtp:[127.0.0.1]:10024
Das hier ist nur der Umbruch durch die Mail, nicht wahr? diese Zeile sollte auskommentiert sein.
#submission inet n - n - - smtpd # -o smtpd_etrn_restrictions=reject # -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes #628 inet n - n - - qmqpd pickup fifo n - n 60 1 pickup -o content_filter=smtp:[127.0.0.1]:10024
Hier gehört dann die Ergänzung rein.
cleanup unix n - n - 0 cleanup qmgr fifo n - n 300 1 qmgr #qmgr fifo n - n 300 1 oqmgr #tlsmgr unix - - n 1000? 1 tlsmgr rewrite unix - - n - - trivial-rewrite bounce unix - - n - 0 bounce defer unix - - n - 0 bounce trace unix - - n - 0 bounce verify unix - - n - 1 verify flush unix n - n 1000? 0 flush proxymap unix - - n - - proxymap smtp unix - - n - - smtp # When relaying mail as backup MX, disable fallback_relay to avoid MX loops relay unix - - n - - smtp -o fallback_relay= # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5 showq unix n - n - - showq error unix - - n - - error discard unix - - n - - discard local unix - n n - - local virtual unix - n n - - virtual lmtp unix - - n - - lmtp anvil unix - - n - 1 anvil localhost:10025 inet n - n - - smtpd -o content_filter= -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
Sehr schön, dann sollte es keine Probleme geben.
und die Ausgabe von 'postconf -n': ------------------------------------------------------------------------------ alias_maps = hash:/etc/aliases biff = no canonical_maps = hash:/etc/postfix/canonical command_directory = /usr/sbin config_directory = /etc/postfix daemon_directory = /usr/lib/postfix debug_peer_level = 2 default_transport = uucp:shuttle defer_transports = disable_dns_lookups = no disable_mime_output_conversion = no html_directory = /usr/share/doc/packages/postfix/html inet_interfaces = 127.0.0.1 192.168.100.200 192.168.0.101
Das sind die (lokalen) IP-Adressen, auf denen Postfix lauscht. Am einfachsten ist es, hier zu setzen: inet_interfaces = all Dies ist auch Default. Dies sind nicht die IP-Adressen, welche berechtigt sind, Mails einzuliefern. Dies wird in mynetworks festgelegt.
inet_protocols = all mail_owner = postfix mail_spool_directory = /var/mail mailbox_command =
(BTW: Bei meiner 10.0 steht hier "mailbox_command=/usr/bin/procmail" Bedeutet das leere "mailbox_command", dass 'procmail' nicht benutzt wird?)
So ist es. Als Default wird die Mail dann von dem Local Delivery Agent (LDA) "local" abgelegt. Dieser legt sie dann ab unter /var/spool/mail/username.
mailbox_size_limit = 0 mailbox_transport = mailq_path = /usr/bin/mailq manpage_directory = /usr/share/man masquerade_classes = envelope_sender, header_sender, header_recipient masquerade_domains = meine.mail.domain masquerade_exceptions = root message_size_limit = 10240000 mydestination = $myhostname,$mydomain,localhost.$mydomain,meine.mail.domain myhostname = pinguinii.meine-interne.domain mynetworks_style = subnet
Okay, das gibt dem lokalen Netzwerk das Recht, den Server zum Relayen zu verwenden. Ich nehme an, du hast ein lokales Netzwerk?
newaliases_path = /usr/bin/newaliases queue_directory = /var/spool/postfix readme_directory = /usr/share/doc/packages/postfix/README_FILES relocated_maps = hash:/etc/postfix/relocated sample_directory = /usr/share/doc/packages/postfix/samples sender_canonical_maps = ldap:/etc/postfix/ldap-sender_canonical.cf sendmail_path = /usr/sbin/sendmail setgid_group = maildrop smtp_sasl_auth_enable = no smtp_use_tls = no smtpd_client_restrictions = smtpd_helo_required = no smtpd_helo_restrictions = smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination smtpd_sasl_auth_enable = no smtpd_sender_restrictions = hash:/etc/postfix/access smtpd_use_tls = no strict_8bitmime = no strict_rfc821_envelopes = no transport_maps = hash:/etc/postfix/transport unknown_local_recipient_reject_code = 550 virtual_alias_domains = hash:/etc/postfix/virtual virtual_alias_maps = hash:/etc/postfix/virtual -----------------------------------------------------------------------
Bevor ich deinen Vorschlag am "lebenden" System ausprobiere, wäre es gut, wenn du mal einen Blick auf die Ausgaben werfen würdest...
Sieht gut aus. Teste es mal. Ändere die master.cf und führe "postfix reload" aus wie beschrieben. -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org