web-dev-qa-db-ja.com

AMaViS:X-Spam-Statusヘッダーがありません

workaround.org(Debian SqueezeのISPmailチュートリアル) のチュートリアルに従って、Debian SqueezeにDovecot、Postfix、AMaViSでメールサーバーをセットアップしました。仮想ドメインを使用して、ドメイン、電子メールアドレス、およびアカウントをMySQLデータベースに格納します。

すべてが正常に機能しますが、一部の電子メールヘッダーがありません。

受信したヘッダー:

  • X-Quarantine-ID
  • X-ウイルススキャン

(「実際の」スパムがあり、sendmail [email protected] < /usr/share/doc/spamassassin/examples/sample-spam.txt経由でGTUBEを使用している)

ヘッダーがありません:

  • X-Spam-Flag
  • X-Spam-Score
  • X-Spamレベル
  • X-Spam-Status

しかし、スパムメールの件名は変更されます。すべてを正しく設定しましたね。

メールに欠けているヘッダーを取得するにはどうすればよいですか?


ここに私の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

さらに設定ファイル、ログ出力などが必要な場合は、下にコメントを残してください。必要な情報で投稿を更新します:-)

7
Jan

このパラメーターを確認しましたか:@local_domains_acl

/etc/amavis/conf.d/05-domain_idで定義されています。 http://www.ijs.si/software/amavisd/ に関するAmavisdの新しいドキュメントによると、

スパム関連のヘッダーは挿入されていませんか?ここにいくつかの理由があります:

  • @local_domains_aclが正しく設定されていません。これらのヘッダーは、@ local_domains_aclルックアップ(または%local_domainsまたは$ local_domains_reまたはSQLルックアップのフィールド 'local')に一致する受信者に対してのみ挿入されます。
  • (...)

このコマンドの出力を確認してください:_head -n 1 /etc/mailname_

正確にドメイン名を取得できない場合、Amavisdはメールのヘッダーに変更を適用しません。 X-Spam- *ヘッダーを強制的に追加したい場合は、/ etc/amavis/conf.d/50-userに次のような@local_domains_acl = ( "." );を追加できます。

16
user172132

(これは実際には前の回答に対するコメントですが、評判システムでは私を許可しません)

@local_domains_acl = ( "." )の設定は私にとってはうまくいきましたが、かなり鈍い手段のように見えました(つまり、すべてのメッセージを送受信するスパム)。いくつかの代替案を試した結果、localhostを含めることも役立つことがわかりました(同じボックスで配信サービスをテストしています)。したがって、/etc/amavis/conf.d/50-user私は次のようなものを持っています:

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

スパムヘッダーが追加されたメッセージが表示されます。

(ここでの私のテストセットアップは、Ubuntu 14.04サーバー、postfix、amavis、spamassassinであり、すべて標準のUbuntuリポジトリからインストールされます。)

5
Graham Klyne

コマンド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";
1
Antonio Feitosa