Мне было интересно, может ли кто-нибудь пролить свет на проблему, с которой я столкнулся. В настоящее время у меня есть простой постфиксный сервер, а перед ним есть шлюз PMG.Поскольку у шлюза PMG есть фильтры спама, мне нужно перенаправить спам в папку нежелательной почты пользователей. Я уже выполнил эту зимбру, но в постфиксе я думаю, что что-то упустил. Это были шаги, которые я предпринял
sudo apt-get install dovecot-sieve dovecot-managesieved
mailbox_command=/usr/lib/dovecot/deliver
, затем отредактировать
/etc/dovecot/conf.d/90-sieve.conf
и добавил эту строку для настройки местоположения по умолчанию
sieve_default = /etc/dovecot/default.sieve
затем заставьте пользователя dovecot прочитать файл
chgrp dovecot /etc/dovecot/conf.d/90-sieve.conf
зайдите в плагин lda и раскомментируйте
/etc/dovecot/conf.d/15-lda.conf
mail_plugins = сито
создать файловое сито и скомпилировать его
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
и дать dovecot разрешения
chgrp dovecot /etc/dovecot/default.svbin
я отправляю тестовое письмо со спамом из (скрытого)
и помечаю его флагом xspam на да, но он продолжает идти в папку «Входящие» вместо папки «Спам»
я проверил протоколы
root@mail:/etc/dovecot# doveconf | grep protocols
protocols = " imap sieve pop3"
ssl_protocols = !SSLv2 !SSLv3
Return-Path: <test@gmail.com>
X-Original-To: sistemas@mydomain.com
Delivered-To: sistemas@mydomain.com
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 <sistemas@mydomain.com>; 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 <sistemas@mydomain.com>; 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 'test@gmail.com' in 'mfrom' identity, however domain is not currently prepared for false failures (mechanism '~all' matched)) receiver=mail.mydomain.com; identity=mailfrom; envelope-from="test@gmail.com"; 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 <sistemas@mydomain.com>; 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: sistemas@mydomain.com
subject: SPAM: test
From: "test" <test@gmail.com>
X-Priority: 3 (Normal)
Importance: Normal
Errors-To: test@gmail.com
Reply-To: test@gmail.com
Content-Type: text/plain; charset=utf-8
Message-Id: <20210725154813.B52D62413E@emkei.cz>
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
Проверьте конфигурацию 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;
}
По по умолчанию, достигая конца скрипта sieve, выполняется неявное сохранение
действие, так что каждый вызов, не заканчивающийся (на таком действии, как стоп
), будет сохранен даже когда это не прописано.
Спасибо так много для ответа, мне пришлось изменить местоположение по умолчанию на это, и я сделал свое дело спасибо ouy
##
## 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