postfix check_policy_service无效

时间:2016-08-18 20:54:04

标签: sendmail postfix smtpd

我希望有人可以帮助我。似乎无法使check_policy_service工作。我在端口10031上运行policyd,后缀甚至没有连接到它。

已经通过以下线程,我的问题几乎相似,只是防火墙已在我的系统上禁用,因此防火墙不会阻止端口10031。

http://marc.info/?l=postfix-users&m=143886189409700&w=2

这是输出形式postconf -n:

alias_database = hash:/etc/aliases
alias_maps = hash:/etc/aliases
command_directory = /usr/sbin
config_directory = /etc/postfix
daemon_directory = /usr/libexec/postfix
inet_interfaces = localhost
lmtp_host_lookup = native
mail_owner = postfix
mail_spool_directory = /var/spool/mail
mailq_path = /usr/bin/mailq.postfix
manpage_directory = /usr/share/man
mydestination = $myhostname
mydomain = mydomain.com
myorigin = $mydomain
newaliases_path = /usr/bin/newaliases.postfix
notify_classes = resource, software, policy
queue_directory = /var/spool/postfix
relayhost = [mail-relay.mydomain.com]
sendmail_path = /usr/sbin/sendmail.postfix
setgid_group = postdrop
smtp_fallback_relay = [mail-relay.mydomain.com]
smtp_host_lookup = native
smtpd_banner = $myhostname ESMTP $mail_name
smtpd_end_of_data_restrictions = check_policy_service inet:127.0.0.1:10031
smtpd_recipient_restrictions = check_policy_service inet:127.0.0.1:10031, reject_unauth_destination, reject_unlisted_recipient
transport_maps = hash:/etc/postfix/transport unknown_local_recipient_reject_code = 450

Postfix版本2.3.3

操作系统:RHEL5.4

1 个答案:

答案 0 :(得分:0)

啊!这应该标记为已解决/已关闭。

我犯了一个错误。我使用sendmail / mailx等在服务器上本地生成邮件,这导致邮件被拾取守护程序而不是smtpd接收,即本地服务器上的sendmail直接将队列文件写入" maildrop&# 34;通过后缀'拾取'获取的目录而不是smtpd。因此,为了针对check_policy_service检查邮件,必须通过SMTP(使用任何smtp客户端,如mini_sendmail)提交邮件。一旦我这样做,就建立了与策略服务器的连接,并检查了限制并得到了预期的结果。

使用以下命令将邮件发送到smtp,从而根据设置的策略进行验证:

 cat /tmp/mail.txt | mini_sendmail -ffoo@bar.com -s127.0.0.1 -p25 foo2@ybar.com

感谢。