Mailsystem mit Streik-Tendenzen
10. Januar 2010 um 19:44 Uhr von Atari-Frosch
Prinzipiell läuft mein Mailsystem, bestehend aus postfix und dovecot (auf Debian Lenny), wie es soll. Aber alle paar Tage tendiert es zu Ausfällen mit der schönen Fehlermeldung:
Deklariert ist das als temporärer Fehler, und tatsächlich kommen trotzdem noch einzelne Mails durch. Diese Meldung sehe ich dann für jede Mail, die eingeliefert wurde, als Datei in /var/spool/postfix/defer/. Ich hatte erst den Verdacht, daß das mit dem Empfänger zusammenhängt, aber es passiert wohl für alle Empfänger. Wenn ich dann /var/spool/postfix/defer/ und /var/spool/postfix/deferred/ ausgeräumt und postfix neu gestartet habe, läuft wieder alles normal weiter — bis zum nächsten Mal.
Auch mit Hilfe von Tante Google bin ich bislang nicht wirklich weitergekommen. Mit logrotate mache ich an der Datei nichts, und die Rechte stimmen auch (hier: vmail.vmail, also genauso, wie dovecot/deliver aufgerufen wird).
Ich find das nun überhaupt nicht lustig, alle paar Tage mein Mailsystem treten zu müssen, damit es weiterarbeitet. Hat da vielleicht noch jemand 'ne Idee?
[Update 2010-01-12] Nach dem Auskommentieren des Logs, wie von Stefan (Kommentar Nr. 4) vorgeschlagen, lief das System zwar erstmal, wirft mir aber auch wieder Mails ins defer/deferred. Diesmal mit der Begründung, er könne /var/mail/mail/cur oder /var/mail/$user/cur nicht anlegen ($user ist ein lokaler Username und auch ein Mailaccount, aber kein Mail-Username). Soll er aber doch auch gar nicht.
Ich hab ihm in der /etc/postfix/virtual_domains noch mail@ eingetragen, außerdem den lokalen Account, der hier auf einen Mail-Account umgebogen wird, nochmal ohne Domain eingetragen, mal sehen, ob er jetzt zufrieden ist ... [/Update]
10. Januar 2010 at 20:06
Huhu Frosch,
ich weiss es ist eine sehr, oehm unschöne Methode, aber in solchen Fällen behelfe ich mir mit einem:
chmod 777 /var/mail/dovecot-deliver.log
Es ist wahrlich unschön — aber vlt hilft es ja….
LG
Muzy
10. Januar 2010 at 20:06
Hi,
hab folgenden Satz unter http://wiki.dovecot.org/LDA gefunden:
„Note that Postfix’s mailbox_size_limit setting applies to all files that are written to. So if you have a limit of 50 MB, deliver can’t write to log files larger than 50 MB and you’ll start getting temporary failures.“
viel Glück
10. Januar 2010 at 20:16
Nein, Muzy, ich steh nicht auf Sicherheitslöcher. 😉
@Phil: Das hatte ich gesehen, allerdings hängt es offenbar nicht von der Dateigröße der Logdatei ab. Es kann bei 100kB passieren oder auch erst bei 500 kB. Viel größer lasse ich das Log sowieso nicht werden und verschiebe es von Zeit zu Zeit weg.
Gruß, Frosch
11. Januar 2010 at 17:24
Wenn /var/mail und die Datei selbst den richtigen Owner haben, dann schalt das Logging in eine extra Datei doch einfach ab. Im syslog steht doch sowieso, wohin deliver die Mail dann einliefert. Ist vielleicht keine tolle Lösung, aber eine schmerzfreie.
Ansonsten müsstest Du wohl wirklich master stracen (mit -f natürlich), aber ich glaube, das kann recht länglich werden 😉
11. Januar 2010 at 18:05
@Stefan: Ich hatte das schonmal probiert, aber dann ging irgendwie gar nichts mehr. Möglicherweise hatte ich aber zu der Zeit noch irgendwas anderes verbogen. Ich habe die Zeile in der dovecot.conf jetzt nochmal auskommentiert, und wie es aussieht, stört sich das System nicht daran. Dabei fiel mir auf, daß sich schon wieder einige Dateien im defer/deferred gesammelt hatten. Vielleicht hört das ja jetzt endlich mal auf. Danke jedenfalls für den Tip, bin mal gespannt, ob es dauerhaft hilft.
Gruß, Frosch