Проблема с фильтрами Sieve в Postfix?

Проблема с фильтрами Sieve в Postfix?

Мне было интересно, может ли кто-нибудь пролить свет на проблему, с которой я столкнулся. В настоящее время у меня есть простой сервер postfix, а перед ним шлюз PMG. Поскольку шлюз PMG имеет спам-фильтры, мне нужно перенаправлять спам в папку нежелательной почты пользователя. Я уже сделал это в zimbra, но в postfix, мне кажется, я что-то упустил. Вот шаги, которые я предпринял

  1. установите пакет и измените его, добавив его в конец main.cf
sudo apt-get install dovecot-sieve dovecot-managesieved



mailbox_command=/usr/lib/dovecot/deliver
  1. затем отредактируйте

    /etc/dovecot/conf.d/90-sieve.conf
    

и добавил эту строку для настройки местоположения по умолчанию

sieve_default = /etc/dovecot/default.sieve

затем заставьте пользователя dovecot прочитать файл

chgrp dovecot /etc/dovecot/conf.d/90-sieve.conf
  1. зайдите в плагин lda и раскомментируйте

    /etc/dovecot/conf.d/15-lda.conf
    mail_plugins = sieve
    
  2. создать файл sieve и скомпилировать его

         root@mail:/etc/dovecot# cat /etc/dovecot/default.sieve
      require "fileinto";
      #Filter email based on a subject
      if header :contains "X-Spam-Flag" "YES" {
      fileinto "Junk";
     }

затем

cd /etc/dovecot

sievec default.sieve

и дайте голубятне разрешения

chgrp dovecot /etc/dovecot/default.svbin
  1. перезапустить postfix и dovecot

Я отправляю тестовое спам-письмо с[email protected]

и он отмечает флаг xspam как «да», но он продолжает попадать во входящие вместо папки «Спам»

я проверил протоколы

root@mail:/etc/dovecot# doveconf | grep protocols
protocols = " imap sieve pop3"
ssl_protocols = !SSLv2 !SSLv3
Return-Path: <[email protected]>
X-Original-To: [email protected]
Delivered-To: [email protected]
Received: from mail.mydomain.com (unknown [192.168.1.248])
    (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))
    (No client certificate requested)
    by mail.mydomain.com (Postfix) with ESMTPS id CB3162033C
    for <[email protected]>; Sun, 25 Jul 2021 10:54:03 -0500 (COT)
Received: from mail.mydomain.com (localhost.localdomain [127.0.0.1])
    by mail.mydomain.com (Proxmox) with ESMTP id 3DC215C2F3E
    for <[email protected]>; Sun, 25 Jul 2021 10:48:19 -0500 (-05)
Received-SPF: softfail (gmail.com ... _spf.google.com: Sender is not authorized by default to use '[email protected]' in 'mfrom' identity, however domain is not currently prepared for false failures (mechanism '~all' matched)) receiver=mail.mydomain.com; identity=mailfrom; envelope-from="[email protected]"; helo=emkei.cz; client-ip=101.99.94.155
Authentication-Results: mail.mydomain.com; dmarc=fail (p=none dis=none) header.from=gmail.com
Authentication-Results: mail.mydomain.com; dkim=none; dkim-atps=neutral
Received: from emkei.cz (emkei.cz [101.99.94.155])
    (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))
    (No client certificate requested)
    by mail.mydomain.com (Proxmox) with ESMTPS id 6003D5C0F66
    for <[email protected]>; Sun, 25 Jul 2021 10:48:16 -0500 (-05)
Received: by emkei.cz (Postfix, from userid 33)
    id B52D62413E; Sun, 25 Jul 2021 17:48:13 +0200 (CEST)
To: [email protected]
subject: SPAM: test
From: "test" <[email protected]>
X-Priority: 3 (Normal)
Importance: Normal
Errors-To: [email protected]
Reply-To: [email protected]
Content-Type: text/plain; charset=utf-8
Message-Id: <[email protected]>
Date: Sun, 25 Jul 2021 17:48:13 +0200 (CEST)
X-SPAM-LEVEL: Spam detection results:  6
    BAYES_50                  0.8 Bayes spam probability is 40 to 60%
    DKIM_ADSP_CUSTOM_MED    0.001 No valid author signature, adsp_override is CUSTOM_MED
    FORGED_GMAIL_RCVD           1 'From' gmail.com does not match 'Received' headers
    FREEMAIL_FROM           0.001 Sender email is commonly abused enduser mail provider (vhfgyut[at]hotmail.com) (test[at]gmail.com) (test[at]gmail.com) (test[at]gmail.com) (test[at]gmail.com) (test[at]gmail.com)
    NML_ADSP_CUSTOM_MED       0.9 ADSP custom_med hit, and not from a mailing list
    SPF_HELO_PASS          -0.001 SPF: HELO matches SPF record
    SPF_SOFTFAIL            0.665 SPF: sender does not match SPF record (softfail)
    SPOOFED_FREEMAIL        1.224 -
    SPOOF_GMAIL_MID         1.498 From Gmail but it doesn't seem to be...
X-Spam-Flag: Yes

test

решение1

Проверьте конфигурацию Dovecot, sieve_default=чтобы убедиться, что вы указали предполагаемый путь для вашего скрипта Sieve по умолчанию.

# doveconf | grep sieve_default
 sieve_default = /var/lib/dovecot/sieve/default.sieve

Кроме того, оценка фильтра сита не останавливается на всех действиях. Совершенно допустимо размещать элемент в нескольких папках. Если вы хотите, чтобы письмо находилось в одной папке, и только в этой папке, добавьте команду stopперед концом {}блока

# cat /etc/dovecot/default.sieve
require "fileinto";
# filter email based on a header added by proxmox mail gateway
if header :contains "X-Spam-Flag" "YES" {
   fileinto "Junk";
   stop;
}

Кпо умолчанию, достигнув конца скрипта решета, выполняетнеявное keepдействие, так что каждый вызов, не заканчивающийся (таким действием, как stop), будет сохранен, даже если это не указано явно.

решение2

Большое спасибо за ответ, мне пришлось изменить местоположение по умолчанию на это и все получилось, спасибо.

##
## Settings for the Sieve interpreter
##

# Do not forget to enable the Sieve plugin in 15-lda.conf and 20-lmtp.conf
# by adding it to the respective mail_plugins= settings.

plugin {
  # The path to the user's main active script. If ManageSieve is used, this the
  # location of the symbolic link controlled by ManageSieve.
 # sieve = ~/.dovecot.sieve

  # The default Sieve script when the user has none. This is a path to a global
  # sieve script file, which gets executed ONLY if user's private Sieve script
  # doesn't exist. Be sure to pre-compile this script manually using the sievec
  # command line tool.
  # --> See sieve_before fore executing scripts before the user's personal
  #     script.
  #sieve_default = /var/lib/dovecot/sieve/default.sieve
 sieve_default = /etc/dovecot/default.sieve

Связанный контент