===kolab mettre les spam dans le dossier spam=== sed -i '/^[^#]*$sa_spam_subject_tag/s/^/#/' /etc/amavisd/conf/20-debian_defaults sed -i 's/^\($final_spam_destiny.*= \).*/\1D_PASS;/' /etc/amavisd/conf/20-debian_defaults # Create default sieve script mkdir -p /var/lib/imap/sieve/global/ cat > /var/lib/imap/sieve/global/default.script << EOF require "fileinto"; if header :contains "X-Spam-Flag" "YES" { fileinto "Spam"; } if header :contains "X-Spam" "yes" { fileinto "Spam"; } EOF # Compile it /usr/lib/cyrus-imapd/sievec /var/lib/imap/sieve/global/default.script /var/lib/imap/sieve/global/default.bc #!/bin/bash set_spam_sieve () { imap_stor=/var/spool/imap/ sieve_stor=/var/lib/imap/sieve/ user_sieve_folders=($(find $imap_stor -name Spam -type d -print | sed 's|'$imap_stor'|'$sieve_stor'|' | sed 's|/user||' | sed 's|/Spam|/|')) for folder in ${user_sieve_folders[@]} ; do if [ -f $folder'USER.script' ] ; then cd $folder if [ "$(grep -c 'require.*include' 'USER.script')" -eq 0 ]; then echo 'Inject require "include"; '$folder'USER.script' sed -i '1i require "include";' 'USER.script' /usr/lib/cyrus-imapd/sievec 'USER.script' 'USER.bc' chown -R cyrus:mail $folder fi if [ "$(grep -c "include.*:global.*default" 'USER.script')" -eq 0 ]; then echo 'Inject include :global "default"; '$folder'USER.script' echo 'include :global "default";' >> $folder'USER.script' /usr/lib/cyrus-imapd/sievec 'USER.script' 'USER.bc' chown -R cyrus:mail $folder fi echo -e $folder'USER.script' else echo Creating new $folder'USER.script' mkdir -p $folder cd $folder echo -e 'require ["include"];\ninclude :global "default";' > 'USER.script' /usr/lib/cyrus-imapd/sievec 'USER.script' 'USER.bc' ln -s 'USER.bc' 'defaultbc' chown -R cyrus:mail $folder fi done sleep $SPAM_SIEVE_TIMEOUT set_spam_sieve } set_spam_sieve source : https://github.com/kvaps/docker-kolab