sieve + dovecot

peperoni

New Member
Hi Zusammen,


habe ein kleines Problem mit sieve unter dovecot, ich habe Virtuelle User, diese können mittels roundcube sieve Rules anlegen, die werden auch richtig benutzt.

Mein Problem besteht darin das ich aber ein sieve ruleset "global" ausführen lassen will, bevor die rulesets des users greiffen.

Hier meine dovecot config:

Code:
base_dir = /var/run/dovecot
protocols = imap pop3 imaps pop3s managesieve
listen = *
mail_access_groups = vmail
mail_debug = yes
## Uncomment this line to allow Plaintext Logins from foreign IP if the Connection doesn't use TLS
disable_plaintext_auth = no

### SSL Settings
### After setting this options, set disable_plaintext_auth to yes (see above)
### and add imaps pop3s to the protocols
#ssl_cert_file = /etc/ssl/server/srv.xxxxxxxxxx.de.pem
#ssl_key_file = /etc/ssl/server/srv.xxxxxxxxx.de.key
ssl_disable = no
ssl_cert_file = /etc/ssl/startssl/mail.xxxxxxx.de.crt
ssl_key_file = /etc/ssl/startssl/mail.xxxxxxx.de.key
ssl_key_password = xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
ssl_ca_file = /etc/ssl/startssl/sub.class1.server.ca.pem
ssl_cipher_list = ALL:!LOW:!SSLv2

protocol imap {
	mail_plugins = quota imap_quota autocreate
}

plugin {
	autocreate = Trash
	autocreate2 = Spam
	autocreate3 = Whitelist
	autosubscribe = Trash
	autosubscribe2 = Spam
	autosubscribe3 = Whitelist
	quota = maildir
	sieve_global_dir = /etc/dovecot/sieve/
	sieve_before = /etc/dovecot/sieve/
	sieve =         /var/customers/sieve/%u/sieve
	sieve_storage = /var/customers/sieve/%u
	quota = maildir
}

protocol managesieve {
        #listen = 127.0.0.1:2000
        login_executable = /usr/lib/dovecot/managesieve-login
        mail_executable = /usr/lib/dovecot/managesieve
        managesieve_max_line_length = 65536
}


protocol pop3 {
    # Uncomment this line if you are migrating from Courier also see Migration from Courier
    pop3_uidl_format = UID%u-%v
    mail_plugins = quota
    
}
protocol lda {
	# postmaster is the one in charge of the mail system. MUST be set to a vailid address!
    postmaster_address = xxxxxxxxxxxx@xxxxxxxxxx.de
    auth_socket_path = /var/run/dovecot/auth-master
    mail_plugins = quota cmusieve
    sendmail_path = /usr/sbin/sendmail
	log_path = /var/log/sieve.log
}

auth default {
    mechanisms = plain login
    passdb sql {
        args = /etc/dovecot/dovecot-sql.conf
    }
    
    userdb prefetch {
    }
    
    userdb sql {
        args = /etc/dovecot/dovecot-sql.conf
    }
    
    user = vmail
    socket listen {
    	# Postfix uses the client socket for SMTP Auth
        client {
            # Assuming the default Postfix $queue_directory setting
            path = /var/spool/postfix/private/auth
            mode = 0660
            # Assuming the default Postfix user and group
            user = postfix
            group = postfix
        }
        # Note that we're setting a master socket. SMTP AUTH for Postfix and Exim uses client sockets.
        master {
			path = /var/run/dovecot/auth-master
			mode = 0660
			user = vmail
			group = vmail
    }
        
    }
}

Hier mein Sieve Script:
Code:
require "fileinto";
if header :contains "X-Spam-Flag" "YES" {
  fileinto "Spam";
}
if header :contains "subject" ["test"] {
  fileinto "Spam";
} else {
  # The rest goes into INBOX
  # default is "implicit keep", we do it explicitly here
  keep;
}

bereits mittels

Code:
./sievec /etc/dovecot/sieve/before.sieve /etc/dovecot/sieve/before.sievec

kompiliert

Hier noch ein Auszug aus der Sieve.log:

Code:
deliver(xxxxxx@xxxxxx.de): Aug 18 15:43:39 Info: Loading modules from directory: /usr/lib/dovecot/modules/lda
deliver(xxxxxx@xxxxxx.de): Aug 18 15:43:39 Info: Module loaded: /usr/lib/dovecot/modules/lda/lib10_quota_plugin.so
deliver(xxxxxx@xxxxxx.de): Aug 18 15:43:39 Info: Module loaded: /usr/lib/dovecot/modules/lda/lib90_cmusieve_plugin.so
deliver(xxxxxx@xxxxxx.de): Aug 18 15:43:39 Info: auth input: xxxxxx@xxxxxx.de
deliver(xxxxxx@xxxxxx.de): Aug 18 15:43:39 Info: auth input: home=/var/customers/mail/
deliver(xxxxxx@xxxxxx.de): Aug 18 15:43:39 Info: auth input: mail=maildir:peperoni/xxxxxx@xxxxxx.de/
deliver(xxxxxx@xxxxxx.de): Aug 18 15:43:39 Info: auth input: uid=2000
deliver(xxxxxx@xxxxxx.de): Aug 18 15:43:39 Info: auth input: gid=2000
deliver(xxxxxx@xxxxxx.de): Aug 18 15:43:39 Info: auth input: quota=maildir:storage=0
deliver(xxxxxx@xxxxxx.de): Aug 18 15:43:39 Info: maildir: data=peperoni/xxxxxx@xxxxxx.de/
deliver(xxxxxx@xxxxxx.de): Aug 18 15:43:39 Info: maildir: root=peperoni/xxxxxx@xxxxxx.de, index=peperoni/xxxxxx@xxxxxx.de, control=, inbox=
deliver(xxxxxx@xxxxxx.de): Aug 18 15:43:39 Info: cmusieve: Using sieve path: /var/customers/sieve/xxxxxx@xxxxxx.de/sieve
deliver(xxxxxx@xxxxxx.de): Aug 18 15:43:39 Info: cmusieve: Executing script /var/customers/sieve/xxxxxx@xxxxxx.de/sievec
deliver(xxxxxx@xxxxxx.de): Aug 18 15:43:39 Info: msgid=<20100818134336.0034ccd5c4ef@serversupportforum.de>: saved mail to INBOX

Ich hoffe mir kann jemand helfen...
 
Hi,


hmm, wieso gehen dann die Scripte von Roundcube?
Ich habe mir den Link angesehen den du gepostet hasdt, dort steht es genauso drin wie ich es habe.

Autocreate geht ja z.b. auch, nur eben diese EINE Regel die global für alle eingehenden Emails greifen soll, geht nicht ;(
 
Back
Top