Hallo.
Ich habe hier einen Mailserver unter Opensuse 10.2 mit postfix-2.3.14, realen
Benutzerkonten und Maildirs.
Um eine benutzerindividuelle Mail-Qouta-Regelung zu erreichen, habe ich nun
die Maildirs auf eine eigene Partition mit FS-Quotas gelegt.
Die "normale" Mailzustellung funktioniert problemlos, aber:
Wenn ein Benutzer sein FS-Quota überschritten hat und eine weitere Mail
zugestellt werden soll, bekommt der Absender als Meldung lediglich ein
"
Andreas Koenecke wrote:
Hallo.
Ich habe hier einen Mailserver unter Opensuse 10.2 mit postfix-2.3.14, realen Benutzerkonten und Maildirs.
Um eine benutzerindividuelle Mail-Qouta-Regelung zu erreichen, habe ich nun die Maildirs auf eine eigene Partition mit FS-Quotas gelegt. Die "normale" Mailzustellung funktioniert problemlos, aber:
Wenn ein Benutzer sein FS-Quota überschritten hat und eine weitere Mail zugestellt werden soll, bekommt der Absender als Meldung lediglich ein "
: can't create user output file". Ich finde diese Meldung wenig aussagekräftig. "/var/log/mail" zu solch einer Mail: ------------------------- schnipp ----------------------------------------------- May 12 10:38:05 PinguinII postfix/smtpd[14373]: connect from localhost[127.0.0.1]
May 12 10:38:05 PinguinII postfix/smtpd[14373]: 89FC021956E: client=localhost[127.0.0.1]
May 12 10:38:05 PinguinII postfix/cleanup[14376]: 89FC021956E: message-id=<64808.<IP>.1210581485.squirrel@domain.tld>
May 12 10:38:05 PinguinII postfix/qmgr[13346]: 89FC021956E: from=
, size=813, nrcpt=1 (queue active) May 12 10:38:05 PinguinII postfix/smtpd[14373]: disconnect from localhost[127.0.0.1]
May 12 10:38:05 PinguinII dovecot: imap-login: Login: user=<absender>, method=PLAIN, rip=127.0.0.1, lip=127.0.0.1, secured
May 12 10:38:06 PinguinII dovecot: IMAP(absender): Disconnected: Logged out
May 12 10:38:11 PinguinII postfix/smtpd[14393]: connect from localhost[127.0.0.1]
May 12 10:38:11 PinguinII postfix/smtpd[14393]: 474AF21957C: client=localhost[127.0.0.1]
May 12 10:38:11 PinguinII postfix/cleanup[14376]: 474AF21957C: message-id=<64808.<IP>.1210581485.squirrel@domain.tld>
May 12 10:38:11 PinguinII postfix/qmgr[13346]: 474AF21957C: from=
, size=1299, nrcpt=1 (queue active) May 12 10:38:11 PinguinII postfix/smtpd[14393]: disconnect from localhost[127.0.0.1]
May 12 10:38:11 PinguinII amavis[7664]: (07664-12) Passed CLEAN, [IP]
-> , Message-ID: <64808.<IP>.1210581485.squirrel@domain.tld>, mail_id: e+a6YzLX7Q9D, Hits: -, size: 813, queued_as: 474AF21957C, 5661 ms May 12 10:38:11 PinguinII postfix/smtp[14377]: 89FC021956E: to=
, relay=127.0.0.1[127.0.0.1]:10024, delay=6, delays=0.24/0.06/0.01/5.7, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 474AF21957C) May 12 10:38:11 PinguinII postfix/qmgr[13346]: 89FC021956E: removed
May 12 10:38:11 PinguinII postfix/local[14394]: 474AF21957C: to=
, relay=local, delay=0.31, delays=0.17/0.01/0/0.13, dsn=5.2.0, status=bounced (can't create user output file) May 12 10:38:11 PinguinII postfix/cleanup[14376]: 931FC21957F: message-id=<20080512083811.931FC21957F@domain.tld>
May 12 10:38:11 PinguinII postfix/bounce[14396]: 474AF21957C: sender non-delivery notification: 931FC21957F
May 12 10:38:11 PinguinII postfix/qmgr[13346]: 931FC21957F: from=<>, size=4052, nrcpt=1 (queue active)
May 12 10:38:11 PinguinII postfix/qmgr[13346]: 474AF21957C: removed
May 12 10:38:11 PinguinII postfix/local[14394]: 931FC21957F: to=
, relay=local, delay=0.13, delays=0.07/0/0/0.06, dsn=2.0.0, status=sent (delivered to command: /usr/bin/procmail) May 12 10:38:11 PinguinII postfix/qmgr[13346]: 931FC21957F: removed
------------------------------ schnapp ------------------------------------------------------------------
"mailbox_command" ist 'procmail' und 'procmail' würde/sollte eine bessere, spezifische Meldung beim Überschreiten der der FS-Quotas ausgeben. Warum übergibt "local" nicht an 'procmail'? Das "command_execution_directory" liegt ausserhalb der FS-Quotas.
Wie kann ich präzisere Bonce-Meldungen (z.B. "Quota exceeded" o.ä.) erreichen?
Die erreichst du dann, wenn ein System antwortet, dass diese Quota versteht, überwacht und dann eine entsprechende Meldung zurückgibt. Mit anderen Worten, die Quota muss vom imapd überwacht werden: http://wiki.dovecot.org/Quota -- 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
Hallo Sandy. * Montag, 12. Mai 2008 um 11:43 (+0200) schrieb Sandy Drobic:
Andreas Koenecke wrote:
Wie kann ich präzisere Bonce-Meldungen (z.B. "Quota exceeded" o.ä.) erreichen?
Die erreichst du dann, wenn ein System antwortet, dass diese Quota versteht, überwacht und dann eine entsprechende Meldung zurückgibt. Mit anderen Worten, die Quota muss vom imapd überwacht werden:
Die habe ich eingerichtet und die Quotas werden auch von den IMAP-Clients korrekt angezeigt. Das nützt doch aber nur dem Empfänger, oder? Ich verstehe jetzt nicht, wie der imapd Bounce-Meldungen an den Absender erzeugen kann...? Gruß Andreas -- Amarok spielt gerade nichts... GPG-ID/Fingerprint: 6F28CF96/0B3B C287 30CE 21DF F37A AF63 A46C D899 6F28 CF96 GPG-Key on request or on public keyservers -- -- 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
Andreas Koenecke wrote:
Hallo Sandy.
* Montag, 12. Mai 2008 um 11:43 (+0200) schrieb Sandy Drobic:
Andreas Koenecke wrote:
Wie kann ich präzisere Bonce-Meldungen (z.B. "Quota exceeded" o.ä.) erreichen? Die erreichst du dann, wenn ein System antwortet, dass diese Quota versteht, überwacht und dann eine entsprechende Meldung zurückgibt. Mit anderen Worten, die Quota muss vom imapd überwacht werden:
Die habe ich eingerichtet und die Quotas werden auch von den IMAP-Clients korrekt angezeigt. Das nützt doch aber nur dem Empfänger, oder? Ich verstehe jetzt nicht, wie der imapd Bounce-Meldungen an den Absender erzeugen kann...?
Es ist nicht der Imap, welche die Bouncemeldungen erzeugt. Das macht dann Postfix. Aber die Ablehnung der Mail geschieht durch den LDA des Imap, der die Quota überwacht. Die Mail kann somit nicht zugestellt werden und wird von Postfix als Bounce zurückgeschickt. Das Format der Bounce kann mit dem Bounce_template_file wenn gewünscht benutzerdefiniert werden. -- 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
Hallo Sandy. * Montag, 26. Mai 2008 um 11:35 (+0200) schrieb Sandy Drobic:
Andreas Koenecke wrote:
* Montag, 12. Mai 2008 um 11:43 (+0200) schrieb Sandy Drobic:
Andreas Koenecke wrote:
Wie kann ich präzisere Bonce-Meldungen (z.B. "Quota exceeded" o.ä.) erreichen?
Die erreichst du dann, wenn ein System antwortet, dass diese Quota versteht, überwacht und dann eine entsprechende Meldung zurückgibt. Mit anderen Worten, die Quota muss vom imapd überwacht werden:
Das nützt doch aber nur dem Empfänger, oder? Ich verstehe jetzt nicht, wie der imapd Bounce-Meldungen an den Absender erzeugen kann...?
Es ist nicht der Imap, welche die Bouncemeldungen erzeugt. Das macht dann Postfix. Aber die Ablehnung der Mail geschieht durch den LDA des Imap, der die Quota überwacht. Die Mail kann somit nicht zugestellt werden und wird von Postfix als Bounce zurückgeschickt.
Jetzt verstehe ich, was du meinst. Ja, ich hätte Dovecots LDA mal ausprobieren sollen, aber ich hatte ja 'procmail` als MDA und damals dachte ich, dass 'postfix' die Mail gar nicht an 'procmail' übergibt, sondern die Fehlermeldung schon vorher erzeugt. Aber das war falsch gedacht: Das Problem war, dass sich 'procmail' beim Überschreiten des Quotas ohne (Fehler-)Meldung beendet, deshalb fehlte auch ein "command output:..."-Teil im Log und in der Bounce-Mail. Eventuell liegt das an der "-t"-Option mit der 'procmail' in der "master.cf" steht. (Obwohl das Verhalten der "-t"-Option dann auch nicht so ist, wie ich die man-Page dazu verstanden habe.) Da 'procmail' aber AFAIR Probleme mit Maildirs macht, habe ich das Problem umgangen, in dem ich jetzt 'maildrop' als MDA einsetze. 'maildrop' gibt eine "quota exceeded"-Meldung aus, die auch brav im Log und in der Bounce-Mail erscheint.
Das Format der Bounce kann mit dem Bounce_template_file wenn gewünscht benutzerdefiniert werden.
Damit kann ich doch nur den "allgemeinen Teil" ändern, oder? Die eigentliche Fehlermeldung (letzte Zeile und Anhang der Bounce-Mail) doch nicht? Gruß Andreas -- Amarok spielt gerade nichts... GPG-ID/Fingerprint: 6F28CF96/0B3B C287 30CE 21DF F37A AF63 A46C D899 6F28 CF96 GPG-Key on request or on public keyservers -- -- 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
Andreas Koenecke wrote:
Hallo Sandy.
* Montag, 26. Mai 2008 um 11:35 (+0200) schrieb Sandy Drobic:
Es ist nicht der Imap, welche die Bouncemeldungen erzeugt. Das macht dann Postfix. Aber die Ablehnung der Mail geschieht durch den LDA des Imap, der die Quota überwacht. Die Mail kann somit nicht zugestellt werden und wird von Postfix als Bounce zurückgeschickt.
Jetzt verstehe ich, was du meinst. Ja, ich hätte Dovecots LDA mal ausprobieren sollen, aber ich hatte ja 'procmail` als MDA und damals dachte ich, dass 'postfix' die Mail gar nicht an 'procmail' übergibt, sondern die Fehlermeldung schon vorher erzeugt. Aber das war falsch gedacht: Das Problem war, dass sich 'procmail' beim Überschreiten des Quotas ohne (Fehler-)Meldung beendet, deshalb fehlte auch ein "command output:..."-Teil im Log und in der Bounce-Mail. Eventuell liegt das an der "-t"-Option mit der 'procmail' in der "master.cf" steht. (Obwohl das Verhalten der "-t"-Option dann auch nicht so ist, wie ich die man-Page dazu verstanden habe.) Da 'procmail' aber AFAIR Probleme mit Maildirs macht, habe ich das Problem umgangen, in dem ich jetzt 'maildrop' als MDA einsetze. 'maildrop' gibt eine "quota exceeded"-Meldung aus, die auch brav im Log und in der Bounce-Mail erscheint.
Sehr schön. Mit Procmail habe ich mich bisher nicht viel befasst, aber eigentlich sollte auch Procmail saubere Fehler zurückmelden. Schließlich ist Procmail ja ein LDA.
Das Format der Bounce kann mit dem Bounce_template_file wenn gewünscht benutzerdefiniert werden.
Damit kann ich doch nur den "allgemeinen Teil" ändern, oder? Die eigentliche Fehlermeldung (letzte Zeile und Anhang der Bounce-Mail) doch nicht?
Ja, das stimmt. Bisher habe ich damit wenig herumgespielt, da dies normalerweise die Mailclients schon ausreichend interpretieren, schließlich sind die bounce_templates Delivery Service Notifications. Für normale Zwecke reicht dies aber. Wenn mehr gewünscht ist, kannst du die Mail in ein Script leiten und durch das Script die gewünschte Mail zusammenstellen. -- 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
participants (2)
-
Andreas Koenecke
-
Sandy Drobic