
Мне было интересно, может ли кто-нибудь пролить свет на проблему, с которой я столкнулся. В настоящее время у меня есть простой сервер postfix, а перед ним шлюз PMG. Поскольку шлюз PMG имеет спам-фильтры, мне нужно перенаправлять спам в папку нежелательной почты пользователя. Я уже сделал это в zimbra, но в postfix, мне кажется, я что-то упустил. Вот шаги, которые я предпринял
- установите пакет и измените его, добавив его в конец main.cf
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 = sieve
создать файл 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
- перезапустить 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