我正在安装 Bugzilla,我想阻止它发送电子邮件,而这些电子邮件应该发送给本地机器上的用户。
我的 /etc/mail/sendmail.mc 中有此行:
功能(`virtusertable',`hash -o /etc/mail/virtusertable.db')
我在 /etc/mail/virtusertable 的顶部添加了以下行(其余部分是注释):
@mydomain.com 我的用户名
然后我运行了以下命令:
$ makemap hash /etc/mail/virtusertable < /etc/mail/virtusertable $ m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf
然后我重启了 sendmail 服务器。但是当我向[电子邮件保护]通过邮件命令,我仍然在基于 Web 的收件箱中收到它,这不是我想要的。我希望它只发送给本地计算机上的 myusername。
答案1
请帮自己和世界一个忙,用更易于配置和维护的产品(如 Exim 或 Postfix)替换 Sendmail。我通常会否决“使用其他产品”的答案,但就 Sendmail 而言,我认为值得冒险。与现代 MTA 相比,Sendmail 的配置非常复杂,只有当您拥有现有的复杂 Sendmail 基础设施并且拥有丰富的 Sendmail 经验时才应使用。
另外,我不知道这是不是打字错误,但你有
m4 /etc/mail/sendmail.mc > /etc/mail/endmail.cf
请注意,是 endmail.cf,而不是 sendmail.cf。
答案2
我听从了 David 的建议,安装了 Postfix。安装起来非常简单。我遵循了这些说明配置 main.cf,然后我要做的就是将以下行添加到 /etc/postfix/virtual:
@mydomain.com 我的用户名
然后执行以下命令:
$ postmap /etc/postfix/virtual $ postfix 重新加载
瞧!从本地机器发送到任何地址 @mydomain.com 的所有邮件都将发送给本地用户 myusername。