Назад | Перейти на главную страницу

AMaViS: отсутствует заголовок X-Spam-Status

Я установил почтовый сервер с Dovecot, Postfix и AMaViS на Debian Squeeze, следуя руководству по workaround.org (учебник ISPmail для Debian Squeeze). Он использует виртуальные домены и хранит домены, адреса электронной почты и учетные записи в базе данных MySQL.

Все работает нормально, за исключением того, что мне не хватает заголовков сообщений электронной почты.

Полученные заголовки:

(С «настоящим» спамом и использованием GTUBE через sendmail email@example.com < /usr/share/doc/spamassassin/examples/sample-spam.txt)

Отсутствуют заголовки:

Но в спам-сообщениях меняется тема. Так что я все правильно настроил, не так ли?

Как мне получить эти недостающие заголовки в своих письмах?


Вот мой файл конфигурации AMaViS (/etc/amavis/conf.d/50-user)

use strict;

#
# Place your configuration directives here.  They will override those in
# earlier files.
#
# See /usr/share/doc/amavisd-new/ for documentation and examples of
# the directives you can use in this file
#

# see <http://workaround.org/ispmail/squeeze/content-scanning-amavis>

$sa_spam_subject_tag = '*** SPAM *** ';
$final_spam_destiny = D_PASS;

$sa_tag_level_deflt = -9999; # add spam info headers if at, or above that level
$sa_tag2_level_deflt = 6.31; # add 'spam detected' headers at that level


@lookup_sql_dsn = ([
    'DBI:mysql:database=mailserver;host=127.0.0.1;port=3306',
    'mailuser',
    'password'
]);

$sql_select_policy = 'SELECT name FROM virtual_domains WHERE CONCAT("@",name) IN (%k)';

#------------ Do not modify anything below this line -------------
1;  # ensure a defined return

Если вам нужно больше файлов конфигурации, выходных данных журнала или чего-то еще, оставьте комментарий ниже, и я обновлю свой пост, добавив нужную информацию :-)

Вы проверили этот параметр: @local_domains_acl

Он определен в /etc/amavis/conf.d/05-domain_id. Согласно новому документу Amavisd на http://www.ijs.si/software/amavisd/:

Заголовки, связанные со спамом, не вставлены? Вот несколько причин:

  • @local_domains_acl установлен неправильно. Эти заголовки вставляются только для получателей, соответствующих запросу @local_domains_acl (или% local_domains, или $ local_domains_re, или поле 'local' в запросах SQL);
  • (...)

Проверьте вывод этой команды: head -n 1 /etc/mailname

Если вы не получите в точности свое доменное имя, Amavisd не внесет никаких изменений в заголовки ваших писем. Если вы хотите принудительно добавить заголовки X-Spam- *, вы можете добавить что-то вроде этого @local_domains_acl = ( "." ); на /etc/amavis/conf.d/50-user

(Это действительно комментарий к предыдущему ответу, но система репутации мне не позволяет)

Настройка @local_domains_acl = ( "." ) у меня сработало, но это показалось мне довольно грубым инструментом (то есть спамом, обрабатывающим все сообщения, входящие или исходящие). Попробовав несколько альтернатив, я в конце концов обнаружил, что localhost тоже помогло бы (тестирую со службой доставки на той же коробке). Таким образом, в /etc/amavis/conf.d/50-user У меня что-то вроде:

@local_domains_acl = ( ".mydomain.example.org", "localhost" );

и я вижу сообщения, доставленные с добавленными заголовками спама.

(Моя тестовая установка - это сервер Ubuntu 14.04, postfix, amaviz, spamassassin, все они установлены из стандартных репозиториев Ubuntu.)

Вывод команды head -n 1 /etc/mailname должен быть ваш домен, например example.com.

Если на выходе получается что-то вроде mail.example.com, это ошибка.

Итак, вы можете исправить это, изменив файл /etc/amavis/conf.d/05-domain_id

Решение # 1

Внутри /etc/amavis/conf.d/05-domain_id:

Изменить:

    chomp($mydomain = `head -n 1 /etc/mailname`);

Кому:

    chomp($mydomain = `hostname -d`);

PS: вывод hostname -d должен быть ваш домен, например example.com.

Самое простое решение, чем когда-либо:

Внутри /etc/amavis/conf.d/05-domain_id:

Изменить:

    chomp($mydomain = `head -n 1 /etc/mailname`);

Кому:

    $mydomain = "example.com";