AMaViS:缺少 X-Spam-Status 标头

AMaViS:缺少 X-Spam-Status 标头

我按照以下教程在 Debian Squeeze 上使用 Dovecot、Postfix 和 AMaViS 设置了邮件服务器workaround.org(Debian Squeeze 的 ISPmail 教程)。它使用虚拟域并将域、电子邮件地址和帐户存储在 MySQL 数据库中。

一切正常 – 除了我缺少一些电子邮件标题。

收到的标头:

  • X-隔离区 ID
  • X-病毒扫描

(使用“真正的”垃圾邮件并使用 GTUBE )sendmail [email protected] < /usr/share/doc/spamassassin/examples/sample-spam.txt

缺少标题:

  • X-垃圾邮件标志
  • X-垃圾邮件评分
  • X-垃圾邮件级别
  • X-垃圾邮件状态

垃圾邮件的主题被更改了。所以我的设置是正确的,不是吗?

我该如何获取邮件中缺失的标题?


这是我的 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

如果您需要更多配置文件、日志输出或其他任何内容,请在下面发表评论,我会使用您需要的信息更新我的帖子:-)

答案1

您是否检查过此参数:@local_domains_acl

它的定义见/etc/amavis/conf.d/05-domain_id。根据 Amavisd-new 的文档http://www.ijs.si/software/amavisd/

没有插入垃圾邮件相关标头?以下是一些原因:

  • @local_domains_acl 设置不正确。这些标头仅插入到与 @local_domains_acl 查找(或 SQL 查找中的 %local_domains 或 $local_domains_re 或字段“local”)匹配的收件人;
  • (...)

检查此命令的输出:head -n 1 /etc/mailname

如果您无法准确获取域名,Amavisd 将不会对您的电子邮件标题进行任何更改。如果您想强制添加 X-Spam-* 标题,则可以添加类似以下@local_domains_acl = ( "." );内容/etc/amavis/conf.d/50-user

答案2

(这实际上是对上一个答案的评论,但声誉系统不允许我这样做)

设置@local_domains_acl = ( "." )对我来说很有效,但它似乎是一种相当生硬的工具(即,垃圾邮件处理所有邮件,无论是进还是出)。尝试了许多替代方案后,我最终发现包括localhost也会有所帮助(我正在同一个盒子上测试送货服务)。因此,/etc/amavis/conf.d/50-user我有类似的东西:

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

我看到所发送的邮件中添加了垃圾邮件标头。

(我在这里的测试设置是 Ubuntu 14.04 服务器、postfix、amaviz、spamassassin,全部从标准 Ubuntu 存储库安装。)

答案3

命令的输出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

解决方案 #2

里面/etc/amavis/conf.d/05-domain_id

改变:

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

到:

    $mydomain = "example.com";

相关内容