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

Это могло бы по крайней мере упомянуть "файл не найден" в журналах.

Другие вопросы по тегам