LDA: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 61: | Line 61: | ||
Edit global file | Edit global file | ||
# cat >> /var/lib/dovecot/sieve/default.sieve << __EOF__ | # cat >> /var/lib/dovecot/sieve/default.sieve << __EOF__ | ||
require "fileinto"; | |||
if header :contains "X-Spam-Flag" "YES" { | if header :contains "X-Spam-Flag" "YES" { | ||
fileinto "spam"; | fileinto "spam"; |
Revision as of 15:16, 20 October 2024
Back
Dovecot LDA
# qmailctl stop # cd /home/vpopmail/domains/domain.tld # cp -p .qmail-default .qmail-default.bak # cat > .qmail-default << __EOF__ | /usr/bin/dspam --user \$EXT@\$HOST --deliver=stdout --feature=no,wh \ | /usr/bin/rspamc --mime \ | /var/qmail/bin/preline -f /usr/libexec/dovecot/deliver -d \$EXT@\$USER __EOF__ # mkdir /var/log/dovecot-lda && chmod 770 /var/log/dovecot-lda && chown vpopmail:vchkpw /var/log/dovecot-lda # touch /etc/logrotate.d/dovecot-lda # cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.orig # cat >> /etc/dovecot/dovecot.conf << __EOF__ # # LDA protocol lda { deliver_log_format = From:<%f>-<%e> :: Subject:<%s> :: Status:<%$> :: MsgID:<%m> :: Size<%p> :: vSize<%w> log_path = /var/log/dovecot-lda/dovecot-lda-errors.log info_log_path = /var/log/dovecot-lda/dovecot-lda.log } service stats { unix_listener stats-writer { group = vchkpw } } __EOF__ # systemctl restart dovecot # qmailctl start
Dovecot Sieve
# cp -p /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.lda.orig # yum -y install dovecot-pigeonhole # cat >> /etc/dovecot/dovecot.conf << __EOF__ # # Sieve plugin { sieve = ~/.dovecot.sieve sieve_global_path = /var/lib/dovecot/sieve/default.sieve sieve_dir = ~/sieve sieve_global_dir = /var/lib/dovecot/sieve/ } protocol lda { mail_plugins = $mail_plugins sieve } __EOF__ # systemctl restart dovecot
Global permissions
# setfacl -m u:vpopmail:rwx,g:vchkpw:rx /var/lib/dovecot/sieve # setfacl -d -m u:vpopmail:rwx,g:vchkpw:rx /var/lib/dovecot/sieve # setfacl -m u:vpopmail:rwx,g:vchkpw:rx /var/lib/dovecot # setfacl -d -m u:vpopmail:rwx,g:vchkpw:rx /var/lib/dovecot
User permissions
# cd /home/vpopmail/domains/domain.tld/user # mkdir .sieve # touch .sieve/user.sieve # ln -s .sieve/user.sieve .dovecot.sieve # chown -R vpopmail:vchkpw .sieve # chown vpopmail:vchkpw .dovecot.sieve # chmod 700 .sieve
Edit global file
# cat >> /var/lib/dovecot/sieve/default.sieve << __EOF__ require "fileinto"; if header :contains "X-Spam-Flag" "YES" { fileinto "spam"; } __EOF__ # sievec /var/lib/dovecot/sieve/default.sieve
Manage Sieve
# cp -p /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.sieve.orig # cat >> /etc/dovecot/dovecot.conf << __EOF__ # # Dovecot Manage Sieve protocols = $protocols sieve service managesieve-login { inet_listener sieve { port = 4190 } } __EOF__ # systemctl restart dovecot