• This forum has a zero tolerance policy regarding spam. If you register here to publish advertising, your user account will be deleted without further questions.

Dovecot Sieve Trace erstellt kein Log

padaru

New Member
Grüße Euch,

ich hab ein Problem mit Dovecot 2.2.33.2 und Sieve Pigeonhole 0.4.21.

Ich möchte herausfinden, welcher Filter wann genau und warum feuer. Dafür habe ich in der /etc/dovecot/conf.d/90-sieve.conf diese Einstellungen vorgenommen:

Code:
  ## TRACE DEBUGGING
  # Trace debugging provides detailed insight in the operations performed by
  # the Sieve script. These settings apply to both the LDA Sieve plugin and the
  # IMAPSIEVE plugin.
  #
  # WARNING: On a busy server, this functionality can quickly fill up the trace
  # directory with a lot of trace files. Enable this only temporarily and as
  # selective as possible.

  # The directory where trace files are written. Trace debugging is disabled if
  # this setting is not configured or if the directory does not exist. If the
  # path is relative or it starts with "~/" it is interpreted relative to the
  # current user's home directory.
  sieve_trace_dir = ~/sieve/

  # The verbosity level of the trace messages. Trace debugging is disabled if
  # this setting is not configured. Possible values are:
  #
  #   "actions"        - Only print executed action commands, like keep,
  #                      fileinto, reject and redirect.
  #   "commands"       - Print any executed command, excluding test commands.
  #   "tests"          - Print all executed commands and performed tests.
  #   "matching"       - Print all executed commands, performed tests and the
  #                      values matched in those tests.
  sieve_trace_level = "actions"

  # Enables highly verbose debugging messages that are usually only useful for
  # developers.
  sieve_trace_debug = yes

  # Enables showing byte code addresses in the trace output, rather than only
  # the source line numbers.
  #sieve_trace_addresses = no

Bei sieve_trace_level habe ich auch schon alles andere versucht sowie mit und ohne Semikolons.

Mein Userverzeichnis des virtuellen Users liegt unter: /var/mail/vhosts/<domain>/<user>/ das Log sollte demnach unter /var/mail/vhosts/<domain>/<user>/sieve erstellt werden, wird es aber leider nicht.

Kann mir jemand einen Tipp geben? Fehlermeldungen zu Sieve kann ich im Maillog auch nicht finden.

MfG
 
Last edited:
hey, danke für die Antwort. Das habe ich schon gemacht, aber er schmeißt keinen Fehler:

protocol sieve {
managesieve_max_line_length = 65536
mail_debug=yes
}
 
Soweit ich weiß, kannst du nur eine Ausgabe bekommen, wenn eine Regel fehlschlägt. Hast du mal ins Mailllog gesehen ob Dovecot/Sieve da meckert?

Ansonsten lesenswert:
https://pigeonhole.dovecot.org said:
The following Dovecot-specific Sieve extensions are available:

vnd.dovecot.debug (specification): allows logging debug messages (v0.3.0+).

To debug, you need to import "vnd.dovecot.debug" extension

debug_log "something"

https://linux.die.net/man/1/sieve-test
https://raw.githubusercontent.com/dovecot/pigeonhole/master/doc/rfc/spec-bosch-sieve-debug.txt
 
Last edited:
Das ist richtig, dass ist das normale user log, welches man so definiert: sieve_user_log = ~/sieve/sieve.log das legt er nur an, wenn er Fehler findet. Aber sieve_trace soll ja wohl dafür sorgen, dass jegliche Aktionen der Reglen geloggt werden, also mir auch zeigen, welche Regel die E-Mail z.b in Ordner x verschoben hat.

Hmmm Debug_log wäre eine alternative, allerdings muss das ja immer mit angegeben werden, wenn User nun eigene Scripte erstellen, müssten die die ja so anlegen, dass die alles mitloggen, dann so hier wie im rfc:
Code:
   The following example logs a message when the message's subject
   contains the "hello":

   require "vnd.dovecot.debug";

   if header :contains "subject" "hello" {
     debug_log "Subject header contains hello!";
   }
Das würde ich aber gern vermeiden und direkt bei Bedarf über den Sieve die Logs erstellen lassen. Denn dafür sollte sieve_trace ja da sein (?):
Wie hier beschrieben:
https://wiki2.dovecot.org/Pigeonhole/Sieve/Configuration#Trace_Debugging
 
hey, danke für Deine Antwort, aber wie hilft mir das herauszufinden, warum meine E-Mail gerade in dem Ordner x liegt? Nur weil ich Scripte davor und nach den Userscripten ausführe, wird ja dennoch nicht geloggt, welche Regel bei der E-Mail gefeuert hat.
 
Hmm... stimmt, ich dachte, es ginge dir jetzt daum, dass einen Befehlt grundsätzlich ausführen zu lassen, bevor das Userscript greift.
Bezüglich Trace: Exisitert der sieve-Ordner im jeweiligen Homedir des Users überhaupt und hat die passenden Rechte? Er wird ja nicht automatisch erstellt.
 
ja, das ist alles da, die scripte funktionieren auch wunderbar und sobald ein Fehler in einem Script aufkommt, erstellt er auch das user log aber leider sagt er mir nicht genau, was er mit den mails macht :(
 
Back
Top