Solaris 10:禁用默认的 sendmail 收件箱

Solaris 10:禁用默认的 sendmail 收件箱

当邮件发送到系统的节点名时,会自动为盒子上的每个 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)。

相关内容