diff --git a/core/dovecot/conf/bin/ham b/core/dovecot/conf/bin/ham deleted file mode 100755 index becc304d..00000000 --- a/core/dovecot/conf/bin/ham +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -tee >(rspamc -h ${ANTISPAM_ADDRESS} -P mailu learn_ham /dev/stdin) \ - | rspamc -h ${ANTISPAM_ADDRESS} -P mailu -f 13 fuzzy_add /dev/stdin diff --git a/core/dovecot/conf/bin/spam b/core/dovecot/conf/bin/spam deleted file mode 100755 index 035706b6..00000000 --- a/core/dovecot/conf/bin/spam +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -tee >(rspamc -h ${ANTISPAM_ADDRESS} -P mailu learn_spam /dev/stdin) \ - >(rspamc -h ${ANTISPAM_ADDRESS} -P mailu -f 11 fuzzy_add /dev/stdin) diff --git a/core/dovecot/conf/ham.script b/core/dovecot/conf/ham.script new file mode 100755 index 00000000..f1dfc409 --- /dev/null +++ b/core/dovecot/conf/ham.script @@ -0,0 +1,4 @@ +#!/bin/bash + +tee >(rspamc -h {{ ANTISPAM_ADDRESS }} -P mailu learn_ham /dev/stdin) \ + | rspamc -h {{ ANTISPAM_ADDRESS }} -P mailu -f 13 fuzzy_add /dev/stdin diff --git a/core/dovecot/conf/spam.script b/core/dovecot/conf/spam.script new file mode 100755 index 00000000..c711be0a --- /dev/null +++ b/core/dovecot/conf/spam.script @@ -0,0 +1,4 @@ +#!/bin/bash + +tee >(rspamc -h {{ ANTISPAM_ADDRESS }} -P mailu learn_spam /dev/stdin) \ + >(rspamc -h {{ ANTISPAM_ADDRESS }} -P mailu -f 11 fuzzy_add /dev/stdin) diff --git a/core/dovecot/start.py b/core/dovecot/start.py index f522cf1e..f782eaf4 100755 --- a/core/dovecot/start.py +++ b/core/dovecot/start.py @@ -1,6 +1,7 @@ #!/usr/bin/python3 import os +import stat import glob import multiprocessing import logging as log @@ -32,6 +33,15 @@ if os.environ["WEBMAIL"] != "none": for dovecot_file in glob.glob("/conf/*.conf"): conf.jinja(dovecot_file, os.environ, os.path.join("/etc/dovecot", os.path.basename(dovecot_file))) +try: + os.mkdir("/conf/bin") +except FileExistsError: + pass +for script_file in glob.glob("/conf/*.script"): + out_file = os.path.join("/conf/bin/", os.path.basename(script_file).replace('.script','')) + conf.jinja(script_file, os.environ, out_file) + os.chmod(out_file, stat.S_IRUSR | stat.S_IXUSR | stat.S_IRGRP | stat.S_IXGRP | stat.S_IROTH | stat.S_IXOTH) + # Run Podop, then postfix multiprocessing.Process(target=start_podop).start() os.system("chown mail:mail /mail") diff --git a/towncrier/newsfragments/1177.bug b/towncrier/newsfragments/1177.bug new file mode 100644 index 00000000..752543d2 --- /dev/null +++ b/towncrier/newsfragments/1177.bug @@ -0,0 +1 @@ +Fix piping mail into rspamd when moving from/to junk-folder