Dovecot Sieve не перемещает спам в папку Junk в maildir

У меня есть почтовый сервер Ubuntu 16.04 с postfix / spamassassin / dovecot с виртуальными почтовыми ящиками в maildir формат. Весь процесс работает отлично с года. Спам помечается с пометкой «***** SPAM *****» в теме и с «X-Spam-Flag: YES» в электронном письме

Я попытался добавить сито в dovecot, чтобы безуспешно перемещать СПАМ-сообщения в папку «Нежелательная почта», я не вижу никаких признаков того, что сито сито что-то делает в все.

Мой dovecot.conf:

auth_mechanisms = cram-md5
auth_verbose = yes
base_dir = /var/run/dovecot/
info_log_path = /var/log/dovecot.info
log_path = /var/log/dovecot
log_timestamp = "%Y-%m-%d %H:%M:%S "
mail_location = maildir:/home/vmail/%d/%n
passdb {
  args = /etc/dovecot/passwd
  driver = passwd-file
}
protocols = imap pop3
service auth {
  executable = /usr/lib/dovecot/auth
  user = root
}
service imap-login {
  chroot = login
  executable = /usr/lib/dovecot/imap-login
  user = dovecot
  # disable non secure IMAP
  inet_listener imap {
    port = 0
  }
}
service imap {
  executable = /usr/lib/dovecot/imap
}
service pop3-login {
  chroot = login
  executable = /usr/lib/dovecot/pop3-login
  user = dovecot
  # disable pop3
  inet_listener pop3 {
    port = 0
  }
  inet_listener pop3s {
    port = 0
  }
}
service pop3 {
  executable = /usr/lib/dovecot/pop3
}
ssl = no
userdb {
  args = /etc/dovecot/users
  driver = passwd-file
}
valid_chroot_dirs = /var/spool/vmail
protocol pop3 {
  pop3_uidl_format = %08Xu%08Xv
}

# SSL settings
ssl = yes
ssl_cert = </etc/ssl/certs/dovecot.pem
ssl_key = </etc/ssl/private/dovecot.pem

# SMTP authentication
service auth {
  # Postfix smtp-auth
  unix_listener /var/spool/postfix/private/auth {
    mode = 0666
    user = postfix
    group = postfix
  }
}

# Default separator definition needed by doveadm for migration
namespace {
  inbox = yes
  separator = /
}

plugin {
  sieve = /etc/dovecot/sieve/default.sieve
}
protocol lda {
  mail_plugins = $mail_plugins sieve
}

Сейчас я добавил только плагин и протокол lda . Содержимое файла default.sieve :

require "fileinto";
if header :contains "X-Spam-Flag" "YES" {
    fileinto "Junk";
}

Тестовое СПАМ-сообщение помечено как СПАМ, но не перемещено в папку Нежелательная. Я не вижу ничего в mail.log , связанного с ситом. неправильно?

0
задан 30 July 2019 в 21:31
1 ответ

Проблема заключалась в том, что Postfix не был настроен для доставки через LDA dovecot, поэтому sieve никогда не вызывается.

Соответствующие строки конфигурации в postfix / master.cf

smtp      inet  n       -       -       -       -       smtpd
  -o content_filter=spamassassin
[...]
### Configuration for dovecot as LDA (New 2019-08-13)
# spamassassin unix -     n       n       -       -       pipe
#  user=spamd argv=/usr/bin/spamc -f -e /usr/sbin/sendmail -oi -f ${sender} ${original_recipient}
spamassassin unix -     n       n       -       -       pipe
  flags=DROhu user=vmail:vmail argv=/usr/bin/spamc -f -e
  /usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}
dovecot unix -     n       n       -       -       pipe
  flags=DRhu user=vmail:vmail argv=/usr/lib/dovecot/deliver -f ${sender} -d ${user}@${nexthop}

Соответствующая конфигурация строки в postfix / main.cf:

### Configuration for dovecot as LDA (New 2019-08-13)
virtual_transport = dovecot
spamassassin_destination_recipient_limit = 1
dovecot_destination_recipient_limit = 1

Файлы dovecot.cnf и sieve / default.sieve такие же, как в вопросе.

Стоит проверить /var/log/dovecot.info рядом с /var/log/mail.log . Аналогичная строка должна появиться в спаме:

2019-08-13 15:52:15 lda(tibor.nagy@softxs.ch): Info: sieve: msgid=<904f3c82-6db1-8b5c-d465-ef140c2f5948@hu.inter.net>: stored mail into mailbox 'Junk'
0
ответ дан 5 December 2019 в 01:46

Теги

Похожие вопросы