Postfix 黑名单不起作用

Postfix 黑名单不起作用

我正在尝试将一些电子邮件地址列入黑名单,但我就是无法让 Postfix 访问工作。

有人能指出我可能做错的事情吗?

添加

smtpd_recipient_restrictions = check_sender_access hash:/etc/postfix/check_senders 

到 /etc/postfix/ 中的 main.cf 文件

创建了 /etc/postfix/check_senders 我将我的地址添加到文件中以检查它是否正常运行该文件包含

[email protected] REJECT

使用以下方式创建后缀查找表

#>postmap /etc/postfix/check_senders

重新加载并重新启动 postfix

#>postfix reload
#>postfix restart

为了测试这一点,我创建了一个非常基本的 php 邮件脚本,名为 test.php

<?php
$to = '[email protected]';
$subject = 'Test postfix access';
$headers = "From: My Name <" . strip_tags('[email protected]') . ">\r\n";
$headers .= "Reply-To: ". strip_tags($to) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=ISO-8859-1\r\n";
if (mail($to, $subject, 'Test is a test message from the server', $headers)) echo "Sent\n\r";

使用以下方式运行文件

#>php test.php

我仍然收到 php 脚本发送的电子邮件.....有什么想法吗?

答案1

你可能遇到两个问题:

  1. check_sender_access检查信封发件人地址。在您的 php 脚本中,您只设置了“发件人:”标头。信封发件人可能完全不同(请参阅结果消息中的“Return-Path”标头)

  2. 如果您在与 postfix 相同的服务器上运行此 php 脚本,smtpd_recipient_restrictions则不会触发。php mail() 函数默认使用 sendmail 二进制文件提交邮件,因此 smtpd 不参与。

-> 问题可能不是你的 postfix 配置,而是你用 php 进行的测试。尝试从外部邮件源(如 gmail 帐户)发送电子邮件,然后查看你的黑名单是否有效

相关内容