我正在运行 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
(抱歉,我暂时还不能发表评论,因此无法给出完整的答案)。