使用 mailx 时,Postfix 不会拒绝收件人地址

使用 mailx 时,Postfix 不会拒绝收件人地址

我在使用 Postfix 时遇到一个问题,即拒绝向黑名单中的某些地址发送电子邮件。

这是我的配置/etc/postfix/main.cf

smtpd_recipient_restrictions = 
      check_recipient_access hash:/etc/postfix/bad_recipients, permit_mynetworks, reject_unauth_destination, permit

文件/etc/postfix/bad_recipients

[email protected] REJECT

然后我使用命令:

postmap /etc/postfix/bad_recipients 

创建 bad_recipients.db

然后重新启动 postfix:/etc/init.d/postfix restart

然后我尝试发送邮件至[电子邮件保护]

echo "hello world" | mailx -s "Test from CLI" [email protected]

邮件日志:

Nov  4 19:54:50 cent6 postfix/pickup[32452]: 851B011FD2B: uid=0 from=<root>
Nov  4 19:54:50 cent6 postfix/cleanup[32491]: 851B011FD2B: message-id=<[email protected]>
Nov  4 19:54:50 cent6 postfix/qmgr[32453]: 851B011FD2B: from=<[email protected]>, size=447, nrcpt=1 (queue active)
Nov  4 19:54:50 cent6 postfix/smtp[32493]: connect to ASPMX.L.GOOGLE.COM[2607:f8b0:400e:c02::1b]:25: Network is unreachable
Nov  4 19:54:51 cent6 postfix/smtp[32493]: 851B011FD2B: to=<[email protected]>, relay=ASPMX.L.GOOGLE.COM[74.125.28.26]:25, delay=1.2, delays=0.05/0/0.6/0.51, dsn=2.0.0, status=sent (250 2.0.0 OK 1415105691 x3si145045pdr.187 - gsmtp)
Nov  4 19:54:51 cent6 postfix/qmgr[32453]: 851B011FD2B: removed

尽管我限制了电子邮件,但我还是收到了电子邮件[电子邮件保护]。请帮我修复它。

答案1

  • 这是因为仅适用于守护进程通过 SMTP 事务smtpd_recipient_restrictions接收的邮件。smtpd
  • sendmail使用或命令提交的邮件将由命令mailx排在maildrop队列中postdrop,然后由清理命令直接拾取pickup并送去清理。

您不能限制通过sendmailmailx命令提交的邮件的收件人。

解决此问题的唯一方法是强制您的应用程序仅通过 smtp 发送邮件。

答案2

作为克莱门特说,您的限制不起作用,因为电子邮件是通过排队的pickup

作为解决方法,您可以应用以下解决方案postfix 用户邮件列表

查看master.cf条目pickup。然后添加-o content_filter=smtp:[127.0.0.1]:12525

pickup    fifo  n       -       n       60      1       pickup
    -o content_filter=smtp:[127.0.0.1]:12525

然后添加另一个 smtpd 进程(端口 12525)来master.cf执行拒绝

127.0.0.1:12525 inet    n       -       n       -       25      smtpd

不要忘记重启 postfix

来自的警告同一页面:这将覆盖本地提交电子邮件的默认传递代理,但会增加本地提交的 I/O 开销。

相关内容