这是一个股票的OS X 5.2服务器邮件configuration,我试图改变,使其拒绝一个“554 5.7.0拒绝”的垃圾邮件之前,接受它没有发送任何额外的未送达通知给发件人。 它被configuration为接受“250 2.7.0 Ok”的垃圾邮件,随后丢弃或隔离它。 这通常是用来完成的
$final_spam_destiny = D_REJECT; $warnspamsender = 0; (probably not necessary)
并可以使用微调
$sa_dsn_cutoff_level = X; $sa_crediblefrom_dsn_cutoff_level = X;
我遇到的问题是,尽pipe这些截止水平低于特定消息的实际垃圾邮件分数,DSN /反弹仍然能够通过。 它看起来像这样:
Oct 25 11:52:18 mailbox postfix/smtpd[52962]: 1CD504D13C96: client=mail.informark.co.ua[85.25.13.92] Oct 25 11:52:18 mailbox postfix/cleanup[53010]: 1CD504D13C96: message-id=<11a201d22e97$126f7740$2adb3d4f@ynmyfnj> Oct 25 11:52:19 mailbox postfix/qmgr[52740]: 1CD504D13C96: from=<[email protected]>, size=145530, nrcpt=1 (queue active) Oct 25 11:52:20 mailbox postfix/smtp[53011]: 1CD504D13C96: to=<[email protected]>, relay=127.0.0.1[127.0.0.1]:10024, delay=2.2, delays=1.1/0/0.02/1, dsn=5.7.0, status=bounced (host 127.0.0.1[127.0.0.1] said: 554 5.7.0 Reject, id=52765-01 - spam (in reply to end of DATA command)) Oct 25 11:52:20 mailbox postfix/bounce[53022]: 1CD504D13C96: sender non-delivery notification: 4B9804D13CB0 Oct 25 11:52:20 mailbox postfix/qmgr[52740]: 1CD504D13C96: removed Oct 25 11:52:20 mailbox postfix/cleanup[53010]: 4B9804D13CB0: message-id=<[email protected]> Oct 25 11:52:20 mailbox postfix/qmgr[52740]: 4B9804D13CB0: from=<>, size=3019, nrcpt=1 (queue active) Oct 25 11:52:20 mailbox postfix/bounce[53022]: 1CD504D13C96: sender non-delivery notification: 4B9804D13CB0 Oct 25 11:52:20 mailbox postfix/smtp[53015]: 4B9804D13CB0: to=<[email protected]>, relay=mail.informark.co.ua[85.25.13.92]:25, delay=0.58, delays=0/0/0.26/0.32, dsn=2.0.0, status=sent (250 2.0.0 Ok: queued as 9145D8C8CCC) Oct 25 11:52:20 mailbox postfix/qmgr[52740]: 4B9804D13CB0: removed
和amavis.log(debugging级别5)的相关部分如下所示:
lookup [forward_method] => true, "[email protected]" matches, result="smtp:[127.0.0.1]:10025", matching_key="(opaque:smtp:[127.0.0.1]:10025)" delivery method is 1, recips: [email protected] get_deadline quar+notif - deadline in 479.0 s, set to 288.000 s prolong_timer quar+notif: timer 288, was 288, deadline in 479.0 s DSN: sender NOT credible, SA: 15.417, <[email protected]> lookup: (scalar) matches, result="-100" lookup [spam_dsn_cutoff_level_bysender] => true, "[email protected]" matches, result="-100", matching_key="(constant:-100)" dsn: . 554 Spam <[email protected]> -> <[email protected]>: on_succ=0, on_dly=1, on_fail=1, never=0, warn_sender=, DSN_passed_on=, destiny=-3, mta_resp: "554 5.7.0 Reject, id=52765-01 - spam" DSN: FAIL . 554 Spam, status propagated back: <[email protected]> -> <[email protected]> delivery_status_notification: notif 0 bytes, suppressed: no one_response_for_all, per_recip_capable: N, suppressed: N one_response_for_all <[email protected]>: REJECTs, '554 5.7.0 Reject, id=52765-01 - spam' notif=N, suppressed=0, ndn_needed=, exit=69, 554 5.7.0 Reject, id=52765-01 - spam get_deadline delivery-notification - deadline in 479.0 s, set to 288.000 s prolong_timer delivery-notification: timer 288, was 288, deadline in 479.0 s status counters: InMsgsStatus{Rejected,RejectedInbound} get_deadline snmp-counters - deadline in 479.0 s, set to 288.000 s prolong_timer snmp-counters: timer 288, was 288, deadline in 479.0 s orcpt_encode rfc822, [email protected], smtputf8 oldest_public_ip_addr_from_received: 178.17.170.60 Blocked SPAM {RejectedInbound}, [85.25.13.92]:44462 [178.17.170.60] <[email protected]> -> <[email protected]>, Queue-ID: 1CD504D13C96, Message-ID: <11a201d22e97$126f7740$2adb3d4f@ynmyfnj>, mail_id: N0710n9hpdxw, Hits: 15.417, size: 145530, 1021 ms get_deadline main_log_entry - deadline in 479.0 s, set to 288.000 s prolong_timer main_log_entry: timer 288, was 288, deadline in 479.0 s TIMING-SA total 817 ms - parse: 8 (1.0%), extract_message_metadata: 55 (6.7%), get_uri_detail_list: 1.42 (0.2%), tests_pri_-1000: 32 (3.9%), tests_pri_-950: 1.05 (0.1%), tests_pri_-900: 1.13 (0.1%), tests_pri_-400: 26 (3.1%), check_bayes: 24 (2.9%), b_tokenize: 11 (1.3%), b_tok_get_all: 3.5 (0.4%), b_comp_prob: 4.4 (0.5%), b_tok_touch_all: 0.80 (0.1%), b_finish: 1.12 (0.1%), tests_pri_0: 665 (81.4%), check_dkim_adsp: 479 (58.6%), check_spf: 43 (5.3%), poll_dns_idle: 0.28 (0.0%), check_pyzor: 0.25 (0.0%), tests_pri_500: 5 (0.7%), get_report: 0.77 (0.1%) updating snmp variables in BDB get_deadline check done - deadline in 479.0 s, set to 288.000 s prolong_timer check done: timer 288, was 288, deadline in 479.0 s sending SMTP response: "554 5.7.0 Reject, id=52765-01 - spam" ESMTP> 554 5.7.0 Reject, id=52765-01 - spam ... ESMTP< QUIT\r\n ... ESMTP> 221 2.0.0 [127.0.0.1] amavisd-new closing transmission channel
因此,尽pipe明确地告诉amavis / postfix不要发送一个伪造的电子邮件地址的反弹,甚至amavis承认我的愿望,反弹仍然被送出。 我认为日志中的关键字是“压制”这个词,它是“否”和“0”而不是“是”和“1”,正如我在互联网上其他地方的amavis日志中所看到的那样。
所以问题是我做错了什么,是否可能有其他干扰设置,我也想知道debugging这个最好的方法。 显然,amavis日志中的陈述是矛盾的。
这里的问题是,amavis,而不是后缀,这是拒绝的消息。 以下是传入消息的标准stream程:
你的情况是怎么回事postfix正在接收消息(步骤1),但amaviz拒绝它(在步骤2),所以后缀生成一个退回消息。 请参阅“to = <[email protected]>,relay = 127.0.0.1 [127.0.0.1]: 10024 ,delay = 2.2,delay = 1.1 / 0 / 0.02 / 1,dsn = 5.7.0, 状态=反弹 ( 主机127.0.0.1 [127.0.0.1]表示:554 5.7.0拒绝 ,ID = 52765-01 – 垃圾邮件(回复数据命令结束))“。 请注意,它的后缀发送到本地主机:10024(amaviz),后缀是获得554拒绝的MTA。
一旦postfix收到消息,拒绝它就为时已晚。 你真的只能放弃它或通过它。 这就是黑名单和灰名单有用的原因。 它们不如内容扫描程序那样精确,但是在收到消息之前它们被postfix应用,因此允许真正的拒绝。
在OS X 10.11上使用amavisd-new启用队列前过滤的解决scheme非常简单,因为大部分工作已经由Apple完成,所以如果有人想在自己的OS X Server上实现它, 这个页面帮助我解决了这个问题。
有三件事情需要做,但首先,备份你的configuration文件! 你可以这样做
cp -Rp /Library/Server/Mail/config /Library/Server/Mail/config_backup
smtpd pass - - n - - smtpd
就在这条线的下面,你应该添加:
-o smtpd_proxy_filter=127.0.0.1:10024
find线路
$final_spam_destiny = D_DISCARD;
并用其replace
$final_spam_destiny = D_REJECT;
您也可以为$ final_virus_destiny设置D_REJECT。
chflags uchg /Library/Server/Mail/config/postfix/master.cf
之后,重新启动邮件服务器
serveradmin stop mail; serveradmin start mail serveradmin stop mail; serveradmin start mail并观看您的邮件日志一段时间,以确保您做的一切正确:
tail -f /var/log/mail.log
只有在你想改变/调整configuration的情况下:
chflags nouchg /Library/Server/Mail/config/postfix/master.cf
希望这可以帮助在OS X上运行postfix邮件服务器的人。