Univention Bugzilla – Bug 51861
Configure use of Sieve scripts with OX
Last modified: 2023-06-08 10:25:06 CEST
Default sieve scripts with OX work fine so far. Just note below customer comment: ============================= für den Fall das der User kein Skript haben will funktioniert ucr set mail/dovecot/sieve/spam=no. Jetzt gibt es aber auch die Variante das der Kunde einen Spamfilter auch schon im OX per Default haben will. Dann muss ja in dem Fall das Skript Open-Xchange.sieve heißen. Wir haben das Ganze einmal analysiert und dafür muss in der Datei /usr/lib/python2.7/dist-packages/univention/mail/dovecot.py folgende Änderung vorgenommen werden: def upload_activate_sieve_script(self, email, file): try: master_name, master_pw = self.get_masteruser_credentials() ca_file = self.listener.configRegistry.get("mail/dovecot/sieve/client/cafile", "/etc/univention/ssl/ucsCA/CAcert.pem") fqdn = "%s.%s" % (self.listener.configRegistry['hostname'], self.listener.configRegistry['domainname']) fqdn = self.listener.configRegistry.get("mail/dovecot/sieve/client/server", fqdn) _cmd = [ "sieve-connect", "--user", "%s*%s" % (email, master_name), "--server", fqdn, "--noclearauth", "--noclearchan", "--tlscafile", ca_file, - "--remotesieve", "default"] + "--remotesieve", "Open-Xchange"] Daher wäre unser Vorschlag hier eine UCS Variable einzusetzen in der man den Namen des Skriptes definieren kann. Sprich wenn die Variable nicht gesetzt ist wird hier default.sieve ausgerollt, wenn die Variable gesetzt ist wird <Variablenwert>.sieve ausgerollt. =================================================
Customer affected Ticket2023052221000519 UCS 5.0-3 errata 668 Installed: mailserver=12.0 server/role: domaincontroller_slave Workaround helps, to create the sieve/Open-Xchange.sieve if OX been using, the dovecot.py will be under /usr/lib/python3/dist-packages/univention/mail/dovecot.py def upload_activate_sieve_script(self, email, file): try: master_name, master_pw = self.get_masteruser_credentials() ca_file = self.listener.configRegistry.get("mail/dovecot/sieve/client/cafile", "/etc/univention/ssl/ucsCA/CAcert.pem") fqdn = "%s.%s" % (self.listener.configRegistry['hostname'], self.listener.configRegistry['domainname']) fqdn = self.listener.configRegistry.get("mail/dovecot/sieve/client/server", fqdn) _cmd = [ "sieve-connect", "--user", "%s*%s" % (email, master_name), "--server", fqdn, "--noclearauth", "--noclearchan", "--tlscafile", ca_file, - "--remotesieve", "default"] + "--remotesieve", "Open-Xchange"] After the dovecot.py is modifed, restart the service systemctl restart univention-directory-listener.service