Postfix:禁用传送到本地用户帐户

Postfix:禁用传送到本地用户帐户

我正在运行 postfix+dovecot,目前 postfix 正在向本地帐户发送消息:

local_recipient_maps = proxy:unix:passwd.byname $alias_maps

垃圾邮件发送者发现了我的一个用户帐户,垃圾邮件泛滥成灾。我想知道如何禁用对这个 UID(我们称之为“joeuser”)的本地发送。

谢谢。

答案1

您可以设置哈希图来check_recipient_access限制smtpd_recipient_restrictions向特定用户发送邮件:

/etc/postfix/main.cf:
   smtpd_recipient_restrictions = 
      ...
      check_recipient_access hash:/etc/postfix/access_recipient
      ...

/etc/postfix/access_recipient:
   [email protected] REJECT

答案2

实现此目的的最简单方法就是将该特定用户的邮件转发到 /dev/null。

编辑/etc/aliases并插入如下行

joeuser: /dev/null

保存,退出并执行此命令:newaliases

此后,postfix 将删除发送到该帐户的电子邮件,而不是在本地发送 - 请参阅 maillog 示例:

Apr 20 08:49:50 clustermx04 postfix/qmgr[31542]: 8BE7A720716: from=<mail@removed>, size=881, nrcpt=1 (queue active)

Apr 20 08:49:50 clustermx04 postfix/local[26205]: 8BE7A720716: to=<[email protected]>, relay=local, delay=0.38, delays=0.38/0/0/0, dsn=2.0.0, status=sent (delivered to file: /dev/null)

Apr 20 08:49:50 clustermx04 postfix/qmgr[31542]: 8BE7A720716: removed

答案3

除了上面 AlexD 的回答之外,还需要从运行中提到的文本文件实际创建 postfix db 文件postmap /etc/postfix/access_recipient。否则 postfix 会抱怨找不到 access_recipient.db 并会阻止任何用户的每封邮件。

更多详情可在这找到:http://www.postfix.org/DATABASE_README.html

(抱歉,我暂时还不能发表评论,因此无法给出完整的答案)。

相关内容