LDA: Difference between revisions

From QmailToaster
Jump to navigation Jump to search
No edit summary
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Dovecot|Back]]<br><br>
[[Dovecot|Back]]<br><br>
'''Dovecot LDA'''
==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__
# setfacl -m  u:vpopmail:rw,g:vchkpw:rw  /var/run/dovecot/stats-writer
  # 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.bak.orig
  # 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'''
==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'''
==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__
  #
  #
  # Dovecot Manage Sieve
  # Dovecot Manage Sieve
  service managesieve-login {
protocols = $protocols sieve
      inet_listener sieve {
service managesieve-login {
      port = 4190
    inet_listener sieve {
      }
    port = 4190
  }
    }
}
  __EOF__
  __EOF__
  # systemctl restart dovecot
  # systemctl restart dovecot

Latest revision as of 16:58, 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
# 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