我已经建立了一个 Postfix 邮件服务器,它使用 Courier 来提供 SMTP 服务。在我的服务器上有一个名为joe
.
我使用别名映射使邮件[email protected]
重定向到在我的. 鉴于只有一个电子邮件地址和一个域,我不想使用 MySQL 来管理别名,因为这对于我的场景来说似乎是一个巨大的过度杀伤力。joe
test: joe
/etc/aliases
我有两个问题...
人们可以发送邮件到
[email protected]
以及[email protected]
它仍然会转到帐户joe
。我不是特别想要这个,主要是因为我担心人们会开始向系统用户帐户发送垃圾邮件。有没有办法禁用它?当我使用 Courier-IMAP 登录 IMAP 时,有没有办法可以使用
test
或[email protected]
作为我的用户名而不是登录joe
?如果可能的话,我不想创建一个名为的用户test
。
谢谢 :)
关于您的第一个问题,如果您已经将 test 设置为 joe,那么它将转到 joe,因为您将 test 设置为 joe 的别名,而 joe 是主帐户。如果您希望它是一个帐户而不仅仅是一个别名,您必须创建一个新的用户名进行测试。
如果要禁用测试,则将其重定向到 nobody
test: nobody
并且没有人将其从 更改nobody: root
为nobody: /dev/null
。关于您的第二个问题,您无法使用别名登录,因为它没有密码,也不是帐户。别名仅重定向到具有用户名和密码的帐户。
我认为混淆的部分原因在于别名的作用:AFAIK,别名的概念是别名和“真实”收件箱都有效。
如果您想
test
不公开joe
,请为测试创建一个收件箱,但不要为 joe 创建一个收件箱。我猜你可以创建一些配置来手动拒绝
joe
来自你自己域之外的电子邮件,但这似乎是一种复杂而脆弱的方式来获得你想要的东西。不完全确定 Courier 是否可以做到,但我知道 dovecot 允许您设置“公共”或共享收件箱,这可能更适合您似乎正在尝试做的事情。
编辑:
考虑一下,您可以滥用域来实现您想要的:让 postfix 接受(例如)example.com 的传入电子邮件,以及 secret.example.com/example.local 的别名(或您认为合理的任何东西)。
只要您的服务器不接受来自 example.local 的电子邮件,我认为这可以做您希望做的事情。
好吧,您可以使用 mailfilter 来删除所有发往 [email protected] 的邮件