LDA: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
|||
(13 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
[[Dovecot|Back]]<br><br> | [[Dovecot|Back]]<br><br> | ||
==Dovecot LDA== | |||
# qmailctl stop | # qmailctl stop | ||
# cd /home/vpopmail/domains/domain.tld | # cd /home/vpopmail/domains/domain.tld | ||
Line 9: | Line 9: | ||
| /var/qmail/bin/preline -f /usr/libexec/dovecot/deliver -d \$EXT@\$USER | | /var/qmail/bin/preline -f /usr/libexec/dovecot/deliver -d \$EXT@\$USER | ||
__EOF__ | __EOF__ | ||
# mkdir /var/log/dovecot-lda && chmod 770 /var/log/dovecot-lda && chown vpopmail:vchkpw /var/log/dovecot-lda | # mkdir /var/log/dovecot-lda && chmod 770 /var/log/dovecot-lda && chown vpopmail:vchkpw /var/log/dovecot-lda | ||
# touch /etc/logrotate.d/dovecot-lda | # touch /etc/logrotate.d/dovecot-lda | ||
# cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf | # cp /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.orig | ||
# cat >> /etc/dovecot/dovecot.conf << __EOF__ | # cat >> /etc/dovecot/dovecot.conf << __EOF__ | ||
# | # | ||
Line 28: | Line 27: | ||
__EOF__ | __EOF__ | ||
# systemctl restart dovecot | # systemctl restart dovecot | ||
# qmailctl start | |||
==Dovecot Sieve== | |||
# cp -p /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.lda.orig | # cp -p /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.lda.orig | ||
# yum -y install dovecot-pigeonhole | # yum -y install dovecot-pigeonhole | ||
# mkdir /var/lib/dovecot/sieve | |||
# cat >> /etc/dovecot/dovecot.conf << __EOF__ | # cat >> /etc/dovecot/dovecot.conf << __EOF__ | ||
# | # | ||
Line 59: | Line 60: | ||
# chown vpopmail:vchkpw .dovecot.sieve | # chown vpopmail:vchkpw .dovecot.sieve | ||
# chmod 700 .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 must be run whenever the sieve file is edited'' | |||
# sievec /var/lib/dovecot/sieve/default.sieve | |||
==Manage Sieve== | |||
# cp -p /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.sieve.orig | # cp -p /etc/dovecot/dovecot.conf /etc/dovecot/dovecot.conf.sieve.orig | ||
# cat >> /etc/dovecot/dovecot.conf << __EOF__ | # cat >> /etc/dovecot/dovecot.conf << __EOF__ |
Latest revision as of 16:58, 20 October 2024
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 # mkdir /var/lib/dovecot/sieve # 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 must be run whenever the sieve file is edited
# 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