拒绝收件人地址Postfix

我有一个问题,后缀拒绝在黑名单中的一些地址的传出电子邮件。

这是我的configuration/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 

创buildbad_recipients.db

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

然后我尝试发邮件给[email protected]

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

maillog中:

 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 

而我收到电子邮件,虽然我限制电子邮件[email protected]。 请帮我修复它。

  • 这是因为smtpd_recipient_restrictions仅适用于通过SMTP事务由smtpd守护进程接收的邮件。
  • 使用sendmailmailx命令提交的邮件通过postdrop命令在maildrop队列中排队,由pickup并直接进行清理。

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

解决这个问题的唯一办法是强制你的应用程序只能通过smtp发送邮件。

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

作为解决方法,您可以应用来自postfix-users邮件列表的解决scheme

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 

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

 127.0.0.1:12525 inet n - n - 25 smtpd 

不要忘记重新启动后缀

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