Добрый день, коллеги.
Настраиваю связку postfix+amavis+spamassasin
Столкнулся с проблемой которую решить самостоятельно не получается.Amavis исправно сортируют письма со спамом в "карантин" подставляя в заголовок письма следующее:
X-Quarantine-ID: <lP4-iBVxNdji>
X-Spam-Flag: YES
X-Spam-Score: 995.053
X-Spam-Level: ****************************************************************
X-Spam-Status: Yes, score=995.053 tag=2 tag2=6.31 kill=6.31
tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1........Так-же, получилось настроить пересылать письма со спамом на отдельный почтовый ящик. Но задача такая:
Сделать так, чтобы письма со спамом складывались в папку "СПАМ" пользователя. Это можно реализовать через Dovecot+sieve.Но вот в чем соль. Если в конфмге amavis выставит директиву:
$final_spam_destiny = D_PASS; письма со спамом поступают пользователю уже без заголовка X-Spam-Flag: YES. Также они не помечаются как ***SPAM***Помогите решить проблему.
конфиги:
main.cf
content_filter = scan:[127.0.0.1]:10024master.cf
127.0.0.1:10025 inet n - - - - smtpd
-o content_filter=
-o local_recipient_maps=
-o relay_recipient_maps=
-o smtpd_restriction_classes=
-o smtpd_delay_reject=no
-o smtpd_client_restrictions=permit_mynetworks,reject
сфе -o smtpd_helo_restrictions=
-o smtpd_sender_restrictions=
-o smtpd_recipient_restrictions=permit_mynetworks,reject
-o smtpd_data_restrictions=reject_unauth_pipelining
-o smtpd_end_of_data_restrictions=
-o mynetworks=127.0.0.0/8
-o smtpd_error_sleep_time=0
-o smtpd_soft_error_limit=1001
-o smtpd_hard_error_limit=1000
-o smtpd_client_connection_count_limit=0
-o smtpd_client_connection_rate_limit=0
-o receive_override_options=no_header_body_checks,no_unknown_recipient_checksscan unix - - - - 2 smtp
-o smtp_data_done_timeout=1200
-o smtp_send_xforward_command=yes
-o disable_dns_lookups=yes
-o max_use=20Готовы предоставить больше информации из конфигов по мере необходимости.
amavis
$inet_socket_port = 10024; # default listening socket
#$inet_socket_port = [10024,10026];$sa_spam_subject_tag = '***SPAM*** ';
$sa_tag_level_deflt = 2.0; # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 6.31; # add 'spam detected' headers at that level
$sa_kill_level_deflt = 6.31; # triggers spam evasive actions
$sa_dsn_cutoff_level = 10; # spam level beyond which a DSN is not sent$final_virus_destiny = D_DISCARD; # (data not lost, see virus quarantine)
$final_banned_destiny = D_DISCARD;
$final_spam_destiny = D_PASS;
$final_bad_header_destiny = D_PASS; # False-positive prone (for spam)Спасибо за любую помощь!
> конфиги:
> main.cf
> content_filter = scan:[127.0.0.1]:10024установлен header_checks ?
>> конфиги:
>> main.cf
>> content_filter = scan:[127.0.0.1]:10024
> установлен header_checks ?header_checks = pcre:/etc/postfix/header_checks
smtp_header_checks = pcre:/etc/postfix/smtp_header_checks
>>> конфиги:
>>> main.cf
>>> content_filter = scan:[127.0.0.1]:10024
>> установлен header_checks ?
> header_checks = pcre:/etc/postfix/header_checks
> smtp_header_checks = pcre:/etc/postfix/smtp_header_checksв них соответственно заголовки не игнорируются?
>>>> конфиги:
>>>> main.cf
>>>> content_filter = scan:[127.0.0.1]:10024
>>> установлен header_checks ?
>> header_checks = pcre:/etc/postfix/header_checks
>> smtp_header_checks = pcre:/etc/postfix/smtp_header_checks
> в них соответственно заголовки не игнорируются?root@mail:/etc/postfix# cat header_checks - этот файл пустой
root@mail:/etc/postfix# cat smtp_header_checks
/^From:/ PREPEND List-Unsubscribe:
тут так
>>> конфиги:
>>> main.cf
>>> content_filter = scan:[127.0.0.1]:10024
>> установлен header_checks ?
> header_checks = pcre:/etc/postfix/header_checks
> smtp_header_checks = pcre:/etc/postfix/smtp_header_checkshttps://www.dmosk.ru/instruktions.php?object=mailserver-ubun... - настраивал по этой статье + конфиги dovecot пошарудил немного... но за основу брал статью.
>>>> конфиги:
>>>> main.cf
>>>> content_filter = scan:[127.0.0.1]:10024
>>> установлен header_checks ?
>> header_checks = pcre:/etc/postfix/header_checks
>> smtp_header_checks = pcre:/etc/postfix/smtp_header_checks
> https://www.dmosk.ru/instruktions.php?object=mailserver-ubun...
> - настраивал по этой статье + конфиги dovecot пошарудил немного... но
> за основу брал статью.В логах:
Mar 7 14:56:13 mail amavis[6494]: (06494-02) Passed SPAM {RelayedOpenRelay,Quarantined},
>[оверквотинг удален]
>>>>> main.cf
>>>>> content_filter = scan:[127.0.0.1]:10024
>>>> установлен header_checks ?
>>> header_checks = pcre:/etc/postfix/header_checks
>>> smtp_header_checks = pcre:/etc/postfix/smtp_header_checks
>> https://www.dmosk.ru/instruktions.php?object=mailserver-ubun...
>> - настраивал по этой статье + конфиги dovecot пошарудил немного... но
>> за основу брал статью.
> В логах:
> Mar 7 14:56:13 mail amavis[6494]: (06494-02) Passed SPAM {RelayedOpenRelay,Quarantined},В карантин приходит с заголовками к пользователю - без
>[оверквотинг удален]
>>>>>> content_filter = scan:[127.0.0.1]:10024
>>>>> установлен header_checks ?
>>>> header_checks = pcre:/etc/postfix/header_checks
>>>> smtp_header_checks = pcre:/etc/postfix/smtp_header_checks
>>> https://www.dmosk.ru/instruktions.php?object=mailserver-ubun...
>>> - настраивал по этой статье + конфиги dovecot пошарудил немного... но
>>> за основу брал статью.
>> В логах:
>> Mar 7 14:56:13 mail amavis[6494]: (06494-02) Passed SPAM {RelayedOpenRelay,Quarantined},
> В карантин приходит с заголовками к пользователю - безМогу предоставить еще из конфигов строчки какие нужны, уже всю голову сломал
>[оверквотинг удален]
>>>>>> установлен header_checks ?
>>>>> header_checks = pcre:/etc/postfix/header_checks
>>>>> smtp_header_checks = pcre:/etc/postfix/smtp_header_checks
>>>> https://www.dmosk.ru/instruktions.php?object=mailserver-ubun...
>>>> - настраивал по этой статье + конфиги dovecot пошарудил немного... но
>>>> за основу брал статью.
>>> В логах:
>>> Mar 7 14:56:13 mail amavis[6494]: (06494-02) Passed SPAM {RelayedOpenRelay,Quarantined},
>> В карантин приходит с заголовками к пользователю - без
> Могу предоставить еще из конфигов строчки какие нужны, уже всю голову сломалeturn-Path: <webbusiness@gmail.com>
Delivered-To: kazakov@domain.tech
Received: from localhost (localhost [127.0.0.1])
by mail.domain.tech (Postfix) with ESMTP id CB17E140018
for <kazakov@domain.tech>; Tue, 7 Mar 2023 14:56:13 +0300 (MSK)
X-Virus-Scanned: Debian amavisd-new at mail.domain.tech
Received: from mail.domain.tech ([127.0.0.1])
by localhost (mail.domain.tech [127.0.0.1]) (amavisd-new, port 10024)
with ESMTP id uWEM48MYpEV6 for <kazakov@domain.tech>;
Tue, 7 Mar 2023 14:56:12 +0300 (MSK)
Received: from mail-lj1-f181.google.com (mail-lj1-f181.google.com [209.85.208.181])
by mail.domain.tech (Postfix) with ESMTPS id D1FA4140016
for <kazakov@domain.tech>; Tue, 7 Mar 2023 14:56:12 +0300 (MSK)
Received: by mail-lj1-f181.google.com with SMTP id z42so12811422ljq.13
for <kazakov@domain.tech>; Tue, 07 Mar 2023 03:56:12 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
d=gmail.com; s=20210112; t=1678190171;
h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
:date:message-id:reply-to;
bh=aFbJ8ei/bsmcd12btey76aqqTh6Axsi1H2W6MYwTFHM=;
b=YhqXD8MVx8oBs8Yu3P2xoAkIaMjB4k4I8sS4hJIt0FylMR6uqpBPaLA0L2r60wbj/O
>[оверквотинг удален]
> for <kazakov@domain.tech>; Tue, 7 Mar 2023 14:56:12 +0300 (MSK)
> Received: by mail-lj1-f181.google.com with SMTP id z42so12811422ljq.13
> for <kazakov@domain.tech>; Tue, 07
> Mar 2023 03:56:12 -0800 (PST)
> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
> d=gmail.com; s=20210112; t=1678190171;
> h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
> :date:message-id:reply-to;
> bh=aFbJ8ei/bsmcd12btey76aqqTh6Axsi1H2W6MYwTFHM=;
> b=YhqXD8MVx8oBs8Yu3P2xoAkIaMjB4k4I8sS4hJIt0FylMR6uqpBPaLA0L2r60wbj/OВ карантине
Delivered-To: spam-quarantine
X-Envelope-From: <webbusiness@gmail.com>
X-Envelope-To: <kazakovav@domain.tech>
X-Envelope-To-Blocked:
X-Quarantine-ID: <uWEM48MYpEV6>
X-Spam-Flag: YES
X-Spam-Score: 1000.053
X-Spam-Level: ****************************************************************
X-Spam-Status: Yes, score=1000.053 tag=2 tag2=6.31 kill=6.31
tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1,
DKIM_VALID_EF=-0.1, FREEMAIL_ENVFROM_END_DIGIT=0.25,
$spam_quarantine_to указано в /etc/amavis/conf.d/50-user (если deb-дистрибутив)
> $spam_quarantine_to указано в /etc/amavis/conf.d/50-user (если deb-дистрибутив)#$spam_quarantine_to = "spam\@domain.tech";
#$virus_quarantine_to = "virus\@domain.tech";Закомментировано
Установи $spam_quarantine_to = under;
> Установи $spam_quarantine_to = under;а не может это быть связано с тем что почтовик обслуживает два домена?
> Установи $spam_quarantine_to = under;не сработало
>[оверквотинг удален]
> $sa_tag2_level_deflt = 6.31; # add 'spam detected' headers at that level
> $sa_kill_level_deflt = 6.31; # triggers spam evasive actions
> $sa_dsn_cutoff_level = 10; # spam level beyond which a DSN
> is not sent
> $final_virus_destiny = D_DISCARD; # (data not
> lost, see virus quarantine)
> $final_banned_destiny = D_DISCARD;
> $final_spam_destiny = D_PASS;
> $final_bad_header_destiny = D_PASS; # False-positive prone (for spam)
> Спасибо за любую помощь!Вот, получилось решить, если кому-то интересно, может кому-то время сэкономлю.
Если Вы используете виртуальные домены, то amavis напрямую нужно указать, что они являются локальными. Тогда он будет вставлять заголовки и проверять на спам письма.
/etc/amavis/conf.d/50-user добавил:@lookup_sql_dsn = (['DBI:mysql:db_name;host=127.0.0.1;port=3306', 'user', 'passwd']);
$sql_select_policy = 'SELECT domain FROM domains WHERE CONCAT("@",domain) IN (%k)';Всем спасибо за помощь!