===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