Postfix, SPF и Perl: предупреждение: преждевременное завершение ввода в private/policy при чтении имени входного атрибута
Я следовал этому руководству ( 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.
1 ответ
Решение
Я неправильно указал путь к программе на Perl. Я давно установил SPF и прокомментировал, поэтому, следуя руководству, я раскомментировал эту строку, но она указала на старое местоположение. Я изменяю путь команды на
/usr/lib/postfix/postfix-policyd-spf-perl
Это могло бы по крайней мере упомянуть "файл не найден" в журналах.