Centos
Postfix、SPF 和 Perl:警告:在讀取輸入屬性名稱時,私有/策略上的輸入過早結束
我遵循了本指南(http://www.thenoccave.com/2013/05/08/centos-6-postfix-spf-checking/),但出現以下錯誤
maillog
:May 8 22:15:13 ip-172-31-15-65 postfix/smtpd[1999]: warning: premature end-of-input on private/policy while reading input attribute name May 8 22:15:14 ip-172-31-15-65 postfix/spawn[2037]: warning: command /usr/bin/perl exit status 2 May 8 22:15:14 ip-172-31-15-65 postfix/smtpd[1999]: warning: premature end-of-input on private/policy while reading input attribute name May 8 22:15:14 ip-172-31-15-65 postfix/smtpd[1999]: warning: problem talking to server private/policy: Connection reset by peer
這是一部分
main.cf
smtpd_recipient_restrictions = reject_non_fqdn_sender, reject_non_fqdn_recipient, reject_unknown_recipient_domain, permit_sasl_authenticated, reject_unauth_destination, permit_inet_interfaces, check_policy_service unix:postgrey/socket, check_policy_service unix:private/policy policy_time_limit = 3600s
這是一部分
master.cf
policy unix - n n - - spawn user=nobody argv=/usr/bin/perl /usr/lib/postfix-policyd-spf-perl
我也試過
check_policy_service unix:postgrey/socket, check_policy_service unix:private/policy, policy_time_limit = 3600s
這是完整的master.cf。
postfix check
不報告任何錯誤。有一個類似的問題,但它是針對 Debian 和 Python 的。
CentOS 6.6,postfix-policyd-spf-perl 2.01。
我把 Perl 程序的路徑弄錯了。我很久以前安裝了 SPF 並註釋掉了,所以在按照指南進行操作時,我取消了該行的註釋,但它指向了舊位置。我將命令的路徑更改為
/usr/lib/postfix/postfix-policyd-spf-perl
它至少可以在日誌中提到“找不到文件”。