Я установил почтовый сервер с 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/:
Заголовки, связанные со спамом, не вставлены? Вот несколько причин:
Проверьте вывод этой команды: 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";