当邮件发送到系统的节点名时,会自动为盒子上的每个 UNIX 用户创建一个收件箱。
有没有办法禁用这些默认收件箱?
这些收件箱之一的示例是 root@nodename。
最好不要从本地主机名中删除节点名。
我确实在此 sendmail 服务器上设置了其他域,这些域需要保持运行。
答案1
首先你需要看看这里,以便了解如何生成一个sendmail.cf
发件人sendmail.mc
并随后重新启动 sendmail。
现在忘记 virtusertable。我们将定义一类允许接收邮件的用户名。其余的都将被丢弃。为此,我们在以下部分中添加sendmail.mc
LOCAL_CONFIG
C{Receive} user1 user2 user3
如果您想在外部文件中定义这些用户,而不是直接编辑sendmail.mc
,请使用 F 行而不是 C 行:
LOCAL_CONFIG
F{Receive} -o /etc/mail/receive.allow
这样文件中的每一行都/etc/mail/receive.allow
包含允许接收邮件的用户名。该-o
开关确保如果文件不存在,sendmail 不会发出抱怨。
现在已经定义了允许接收邮件的用户,接下来我们添加以下几行:
LOCAL_RULE_0
R${Receive} $#OK
R${Receive} < @ $=w . > $* $#OK
R$* $#discard $: $1
不要复制粘贴上面的代码片段。代码左侧与右侧用制表符分隔。因此请改为键入。接下来,按照如何编译并重新启动 sendmail 的说明进行sendmail.cf
操作sendmail.mc
。
每次修改sendmail.mc
以添加用户时,都需要重现sendmail.cf
并重新启动 sendmail。如果您选择将允许的用户存储在外部文件中,则每次修改此文件时都需要重新启动 sendmail(无需新建sendmail.cf
)。