Mailinglist Archive: opensuse-de (2429 mails)

< Previous Next >
Re: Postfix, MYSQL, Procmail und Cyrus unter Suse 9.3 ?
  • From: Sandy Drobic <suse-linux@xxxxxxxxxxxxxxxxxxxxxxx>
  • Date: Sun, 29 Jan 2006 13:28:37 +0100
  • Message-id: <43DCB4F5.9060705@xxxxxxxxxxxxxxxxxxxxxxx>
Udo Gerhards wrote:
Hallo zusammen,

ich tummle mich ja schon länger hier in der Liste mit dem Problem, daß ich einen Mailserver mit Postfix, Procmail und Cyrus einrichten will und es einfach nicht klappt. Nachdem die Variante mit Procmail nun endgültig aus nicht ersichtlichen Gründen versagt hat, habe ich mich nochmal hingesetzt und den gesamten Mailserver nach einem anderen Tutorial, ohne Procmail, aufgesetzt ==> http://www.delouw.ch/linux/Postfix-Cyrus-Web-cyradm-HOWTO/html/index.html.

Das Ergebnis ist wieder das Gleiche. Ich habe mehrere EMail-Adressen auf mehreren Domains verteilt und sobald ich versuche, über localhost per telnet eine Mail an diese Adressen zu versenden, werden diese nicht zugestellt.

Na ja, du versuchst ja auch, in einem Schwung ein recht kompliziertes System aus Postfix, Cyrus und MySQL zusammenzustellen.
Da es genügend Stolperschwellen für so eine Kombination gibt, sollte man so etwas besser Schritt für Schritt angehen, dann weiss man wenigstens, an welchem Punkt die Probleme eintreten.

Die Einträge in der /var/log/mail sind immer die gleichen:

30129 Jan 29 01:20:10 linux postfix/qmgr[28511]: 037281E9C3: from=<Udo.Gerhards@xxxxxxxxx>, size=739, nrcpt=1 (queue active)
30130 Jan 29 01:20:10 linux postfix/qmgr[28511]: 5F19B20069: from=<Udo.Gerhards@xxxxxxxxxxxxxxxxxx>, size=741, nrcpt=1 (queue active)
30131 Jan 29 01:20:10 linux postfix/qmgr[28511]: 8292320065: from=<Udo.Gerhards@xxxxxxxxx>, size=739, nrcpt=1 (queue active)
30132 Jan 29 01:20:10 linux postfix/qmgr[28511]: BAFBB20064: from=<Udo.Gerhards@xxxxxxxxx>, size=806, nrcpt=1 (queue active)
30133 Jan 29 01:20:10 linux postfix/qmgr[28511]: E11FB20066: from=<Udo.Gerhards@xxxxxxxxxxxxxxxxxx>, size=763, nrcpt=1 (queue active)

Das sind alles Mails in der aktiven Queue ohne Fehlermeldung.

30134 Jan 29 01:20:10 linux postfix/pipe[29526]: 5F19B20069: to=<info.cms-solutions.info@xxxxxxxxxx>, relay=cyrus, delay=5330, delays=5330/0.02/0/0.15, dsn= 4.3.0, status=deferred (temporary failure)

Hier hast du eine Fehlermeldung von deliver, dem LDA von Cyrus. Hast du das mal getestet von der Kommandozeile, ob er eine Mail an diese Adresse tatsächlich empfängt?

Das wiederholt sich bei jeder Mail. So langsam steig ich echt nicht mehr dahinter. Ich hab alle Konfig-Files doppelt und dreifach überprüft, einige Variationen ausprobiert, wieder auf die Originalwerte aus dem Tutorial zurückgestellt und trotzdem kann entweder Postfix oder aber Cyrus die entsprechenden Postfächer nicht finden. Woran es genau liegt, kann ich nicht feststellen.

Ohne methodische Suche, rein nach Trial-and-Error wirst du nicht weiterkommen.

Vor diesem Fehler hatte ich noch einen anderen:

29943 Jan 28 23:13:57 linux postfix/smtpd[28080]: connect from localhost[127.0.0.1]
29944 Jan 28 23:13:57 linux postfix/smtpd[28080]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 550 5.1.1 <info.cms-solutions.info@xxxxxxxxxxxxxxxxxxxxxx o>: Recipient address rejected: User unknown in local recipient table; from=<Udo.Gerhards@xxxxxxxxx> to=<info.cms-solutions.info@xxxxxxxxxxxxxxxxxxxxx fo> proto=ESMTP helo=<localhost>

Tippfehler auf der Kommandozeile mit einem TAB drin?

29945 Jan 28 23:13:57 linux amavis[24667]: (24667-07) mail_via_smtp: DATA skipped, no valid recips, 0
29946 Jan 28 23:13:57 linux amavis[24667]: (24667-07) mail_via_smtp: 550 5.1.1 <info.cms-solutions.info@xxxxxxxxxxxxxxxxxxxxxxx>: Recipient address rejected : User unknown in local recipient table

Empfänger existiert lokal nicht. Wenn du diese Prüfung in Amavis nicht willst, setze die entsprechende Restriktion in master.cf.

29947 Jan 28 23:13:57 linux amavis[24667]: (24667-07) Blocked CLEAN, [127.0.0.1] <Udo.Gerhards@xxxxxxxxx> -> <info.cms-solutions.info@xxxxxxxxxxxxxxxxxxxxxx o>, Message-ID: <20060128221339.3C04C1A6C0@xxxxxxxxxxxxxxxxxxxxxxx>, Hits: 0.323, 1127 ms
29948 Jan 28 23:13:57 linux postfix/smtpd[28080]: disconnect from localhost[127.0.0.1]

Nach dem Setzen von "local_recipient_maps =" in der main.cf kam dann der zuvor genannte Fehler. So langsam hau ich das ganze Zeug zum Teufel! 2 Wochen Arbeit und Sucherei für nix ... !!!!

Uh, ist das jetzt Top-Posting extrem? Erst das letzte, dannd er Fehler, dann wieder nach oben verweisen?

Ich möchte nur wissen, was das Problem ist!!! Die Mailboxen sind da, Postfix hat offensichtlich Zugriff auf die MYSQl-Datenbank und auch der SMTP-Versand an die Adressen funktioniert, nur beim Ausliefern zickt er rum!!

Bist du dir da ganz sicher? Hast du die Adressen mit
postmap -q "addresse" mysql:/etc/postfix/query.cf
getestet und eine korrekte Antwort bekommen?

Ich habe auch versucht, eine Testdatei direkt mit deliver über die Konsole zustellen zu lassen. Mit

/usr/lib/cyrus/bin/deliver -r Udo.Gerhards@xxxxxxxxx -a Udo.Gerhards.cms-solutions.info -m user/Udo.Gerhards.cms-solutions.info < testmail

klappt es zwar, aber ich weiß nicht, wohin der Inhalt der Mail geschrieben wird. Jedenfalls taucht er in meiner Mailbox nicht auf. Wenn

Physikalisch wird die Mail dann in /var/spool/imap/users/Udo.Gerhards.cms-solutions.info/ sein. Das sind die Dateien mit den Punkten am Ende. (^-^)
Überprüfe auch mal im Log, ob er eine Fehlermeldung gibt. Deliver hat nämlich auch eine Duplikatsprüfung und droppt eine Mail mit einer MID, die er schon kennt.
Wenn du also immer wieder mit der obigen Datei einen Test durchgeführt hast, dann wurde nur die erste Mail ausgeliefert und der Rest als Duplikat einfach misachtet.

ich in mein EMail-Programm reinschaue, seh ich keine neue Mail. Das ist auch sowas, was ich nicht begreife. Der Inhalt verschwindet einfach ins Nirwana, ohne das deliver auch nur den kleinsten Pieps von sich gibt, was damit passiert.

Wie gesagt, überprüfe doch erst einmal, ob deliver diese Mail überhaupt im Spoolverzeichnis ausgeliefert hat. Ändere bitte für jeden Test auch die MID ab, sonst ist der Test ohnehin für die Katz!

Hier noch meine restlichen Dateien:

main.cf:

655 mail_spool_directory = /var/mail
656 canonical_maps = hash:/etc/postfix/canonical
657 virtual_maps = hash:/etc/postfix/virtual

Okay, was ist eigentlich der Sinn von diesen verdammten Zeilennummerierungen vor den Listings? Sie verfälschen das Listen, das ist alles, was ich davon habe. :-((

658 relocated_maps = hash:/etc/postfix/relocated
659 transport_maps = hash:/etc/postfix/transport
660 sender_canonical_maps = mysql:/etc/postfix/mysql-canonical.cf
661 #hash:/etc/postfix/sender_canonical
662 masquerade_exceptions = root
663 masquerade_classes = envelope_sender, header_sender, header_recipient
664 myhostname = linux.site
665 program_directory = /usr/lib/postfix
666 inet_interfaces = 127.0.0.1 ::1
667 masquerade_domains =
668 mydestination = $myhostname, localhost.$mydomain, mysql:/etc/postfix/mysql-mydestination.cf
669 defer_transports =
670 disable_dns_lookups = no
671 relayhost =
672 mailbox_command =
673 mailbox_transport = cyrus
674 strict_8bitmime = no
675 disable_mime_output_conversion = no
676 smtpd_sender_restrictions =
----
677 permit_sasl_authenticated,
678 permit_mynetworks,
679 reject_unauth_destination,
680 reject_rhsbl_client rhsbl.sorbs.net,
681 reject_rhsbl_sender rhsbl.sorbs.net,
682 reject_rbl_client relays.ordb.org,
683 reject_rbl_client list.dsbl.org,
684 reject_rbl_client sbl.spamhaus.org,
685 reject_rbl_client unconfirmed.dsbl.org,
686 reject_rbl_client list.dsbl.org,
687 reject_rbl_client dynablock.njabl.org,
688 reject_rbl_client dialup.blacklist.jippg.org,
689 reject_rbl_client multihop.dsbl.org,
690 reject_rbl_client dialup.rbl.kropka.net,
691 reject_rbl_client opm.blitzed.org,
692 reject_rbl_client cbl.abuseat.org,
693 reject_non_fqdn_sender,
694 reject_non_fqdn_recipient,
695 reject_unknown_recipient_domain,
696 reject_unauth_pipelining
---

Dieser gesamte Block macht überhaupt keinen Sinn. Die RBL-Restriktionen sind ohnehin unten noch einmal in smtpd_recipient_restrictions, und haben auch mit den Sender_Restriktionen, die sich mit auf den Envelope_Sender und HELO-Namen befassen, überhaupt keinen Bezug.
Checks nach Client-IP, Client_Hostname gehören wenn schon, dann in smtpd_client_restrictins.

697 smtpd_client_restrictions =
698 smtpd_recipient_restrictions =
699 reject_invalid_hostname,
700 # reject_non_fqdn_hostname,

Das hier hat dir wahrscheinlich schon von amavis Fehlermeldungen gehagelt (^-^)

701 # reject_non_fqdn_sender,
702 # reject_non_fqdn_recipient,

Die würde ich eingeschaltet lassen. non_FQDN sender/recipient zu akzeptieren ist immer etwas risikoreich.

703 # reject_unknown_sender_domain,
704 # reject_unknown_recipient_domain,
705 reject_unauth_pipelining,
706 permit_sasl_authenticated,
707 permit_mynetworks,
708 reject_unauth_destination,
709 reject_rbl_client zombie.dnsbl.sorbs.net,
710 reject_rbl_client relays.ordb.org,
711 reject_rbl_client opm.blitzed.org,
712 reject_rbl_client list.dsbl.org,
713 reject_rbl_client sbl.spamhaus.org,
714 reject_rbl_client blackholes.easynet.nl,
715 reject_rbl_client unconfirmed.dsbl.org,
716 reject_rbl_client dynablock.njabl.org,
717 reject_rbl_client dialup.blacklist.jippg.org,
718 reject_rbl_client cbl.abuseat.org,
719 permit
720 smtpd_helo_required = yes
721 smtpd_delay_reject = yes
722 smtpd_helo_restrictions =
723 permit_sasl_authenticated,
724 permit_mynetworks,
725 reject_unaut_destination,
-----------
726 # reject_non_fqdn_sender,
727 # reject_non_fqdn_recipient,
728 # reject_unknown_recipient_domain,
-----------
Weg damit! Hat in HELO nichts zu suchen.

729 # reject_non_fqdn_hostname,
730 # reject_invalid_hostname,
Diese Restriktionen machen Sinn, aber man sollte wissen, was sie tun!

----------
731 reject_rhsbl_client rhsbl.sorbs.net,
732 reject_rhsbl_sender rhsbl.sorbs.net,
733 reject_rbl_client opm.blitzed.org,
734 reject_rbl_client cbl.abuseat.org,
735 reject_rbl_client relays.ordb.org,
736 reject_rbl_client list.dsbl.org,
737 reject_rbl_client sbl.spamhaus.org,
738 reject_rbl_client unconfirmed.dsbl.org,
739 reject_rbl_client list.dsbl.org,
740 reject_rbl_client dynablock.njabl.org,
741 reject_rbl_client dialup.blacklist.jippg.org,
742 reject_rbl_client opm.blitzed.org,
743 reject_rbl_client cbl.abuseat.org,
744 reject_rbl_client multihop.dsbl.org,
745 reject_rbl_client dialup.rbl.kropka.net,
746 reject_unauth_pipelining
----------
LÖSCHEN!!


Siehe oben. Bevor du die gesamte Reihe aller möglichen Restriktionen hineinballerst, bekomme doch erst einmal die Grundfunktionalität zum Laufen!
Wie auch bei schon bei smptd_sender_restrictions gilt hier ebenfalls: Fast alles sollte hier verschwinden, da es nichts mit HELO zu tun hat.

747 strict_rfc821_envelopes = no
748 #smtpd_recipient_restrictions = permit_mynetworks,reject_unauth_destination

Das überrascht mich nun! Wenn du smptd_recipient_restrictions auskommentiest, kommt der Default in Kraft. Dieser lautet:

smtpd_recipient_restrictions =
permit_mynetworks,
reject_unauch_destination

749 smtp_sasl_auth_enable = no
750 smtpd_sasl_auth_enable = yes
751 smtpd_sasl_security_options = noanonymous
752 smtpd_sasl_local_domain =
753 broken_sasl_auth_clients = yes
754 smtpd_use_tls = no
755 smtp_use_tls = no
756 alias_maps = hash:/etc/aliases
757 mailbox_size_limit = 0
758 message_size_limit = 10240000
759 virtual_alias_maps = mysql:/etc/postfix/mysql-virtual.cf
760 mime_header_checks=pcre:/etc/postfix/body_checks

Okay, und nachdem ich all das erzählt habe, bitte ich trotzdem um die Ausgabe von "postconf -n". Die obige Ausgabe ist dass offensichtlich nicht. Zur Erinnerung: "postconf -n" zeigt all die Werte, die Postfix verwendet und von dem Default abweichen.


master.cf:

9 smtp inet n - n - 2 smtpd -o content_filter=smtp:[127.0.0.1]:10024
10 #submission inet n - n - - smtpd
11 # -o smtpd_etrn_restrictions=reject
12 # -o smtpd_client_restrictions=permit_sasl_authenticated,reject
13 #smtps inet n - n - 2 smtpd -o smtpd_tls_wrappermode=yes -o content_filter=smtp:[127.0.0.1]:10024
14 # -o smtpd_tls_wrappermode=yes -o smtpd_sasl_auth_enable=yes
15 #submission inet n - n - - smtpd
16 # -o smtpd_etrn_restrictions=reject
17 # -o smtpd_enforce_tls=yes -o smtpd_sasl_auth_enable=yes
18 #628 inet n - n - - qmqpd
19 pickup fifo n - n 60 1 pickup
20 cleanup unix n - n - 0 cleanup
21 qmgr fifo n - n 300 1 qmgr
22 #qmgr fifo n - n 300 1 oqmgr
23 #tlsmgr unix - - n 1000? 1 tlsmgr
24 rewrite unix - - n - - trivial-rewrite
25 bounce unix - - n - 0 bounce
26 defer unix - - n - 0 bounce
27 trace unix - - n - 0 bounce
28 verify unix - - n - 1 verify
29 flush unix n - n 1000? 0 flush
30 proxymap unix - - n - - proxymap
31 smtp unix - - n - - smtp
32 # When relaying mail as backup MX, disable fallback_relay to avoid MX loops
33 relay unix - - n - - smtp
34 -o fallback_relay=
35 # -o smtp_helo_timeout=5 -o smtp_connect_timeout=5
36 showq unix n - n - - showq
37 error unix - - n - - error
38 discard unix - - n - - discard
39 local unix - n n - - local
40 virtual unix - n n - - virtual
41 lmtp unix - - n - - lmtp
42 anvil unix - - n - 1 anvil
43 localhost:10025 inet n - n - - smtpd -o content_filter=
44 scache unix - - n - 1 scache
45 #
46 # ====================================================================
47 # Interfaces to non-Postfix software. Be sure to examine the manual
48 # pages of the non-Postfix software to find out what options it wants.
49 #
50 # Many of the following services use the Postfix pipe(8) delivery
51 # agent. See the pipe(8) man page for information about ${recipient}
52 # and other message envelope options.
53 # ====================================================================
54 #
55 # maildrop. See the Postfix MAILDROP_README file for details.
56 # Also specify in main.cf: maildrop_destination_recipient_limit=1
57 #
58 maildrop unix - n n - - pipe
59 flags=DRhu user=vmail argv=/usr/local/bin/maildrop -d ${recipient}
60 cyrus unix - n n - - pipe
61 user=cyrus argv=/usr/lib/cyrus/bin/deliver -r ${sender} -m ${extension} ${user}

imapd.conf:

1 postmater:postmaster
2 configdirectory: /var/lib/imap
3 partition-default: /var/spool/imap
4 admins: cyrus
5 allowanonymouslogin: no
6 allowplaintext: yes
7 sasl_mech_list: PLAIN
8 autocreatequota: 10000
9 reject8bit: no
10 quotawarn: 90
11 timeout: 30
12 poptimeout: 10
13 dracinterval: 0
14 drachost: localhost
15 servername: linux.site
16 sasl_pwcheck_method: saslauthd
17 sievedir: /usr/sieve
18 sieve_maxscriptsize: 32
19 sieve_maxscripts: 5
20 unixhierarchysep: yes
21 #
22 # if you want TLS, you have to generate certificates and keys
23 #
24 tls_ca_file: /var/lib/imap/server.pem
25 tls_cert_file: /var/lib/imap/server.pem
26 tls_key_file: /var/lib/imap/server.pem

Die Mailboxen liegen alle unter

/var/spool/imap/user

Die wurden dort von Web-Cyradm angelegt.

Ich bin echt nur noch genervt! Weiß hier jemand noch Rat oder was ich noch ausprobieren könnte, damit es doch noch klappt? Sorry wegen der langen Mail, aber so langsam bin ich wirklich echt nur noch frustriert!

Wie bereits oben gesagt: SCHRITT FÜR SCHRITT!!

Ich würde vorschlagen, wir versuchen erst einmal, Cyrus zum Funktionieren zu überreden. Danach können wir die Kette der Zulieferung von der Kommandozeile hin zu Postfix und dem content_filter erweitern.

Ich habe jedenfalls das Gefühl, das Cyrus dein größtes Problem ist. Egal, ob die Einlieferung nun über Postfix, Kommandozeile oder Procmail erfolgt, du bekommst die Mails anscheinend nicht in Cyrus rein, oder zumindest siehst du sie nicht.

Sandy
--
Antworten bitte nur in die Mailingliste!
PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com


< Previous Next >
Follow Ups
References