后缀:别名将被忽略

后缀:别名将被忽略

我有一台配置为 postfix MTA 的服务器,并且还运行着一个 munin 节点。在 /etc/aliases 中我添加了:

root:    [email protected]

在postfix的main.cf中配置:

mydomain = my.domain
myorigin = $mydomain
alias_database = hash:/etc/aliases
relay_domains = my.domain
append_at_myorigin = no
...

每次更改别名或 Postfix 配置文件后,我都会调用newaliasespostmap <cfgfile>重新启动 Postfix。

每次 munin 发送(错误)电子邮件时,我都会在 maillog 文件中收到以下信息:

Dec 22 16:45:19 myserver postfix/pickup[21509]: 5CFBA2011E0: uid=995  rom=<munin>
Dec 22 16:45:19 myserver postfix/cleanup[22094]: 5CFBA2011E0: 
    message-id=<[email protected]>
Dec 22 16:45:19 myserver postfix/qmgr[21510]: 5CFBA2011E0: from=<munin>, size=999, nrcpt=1 
    (queue active)
Dec 22 16:45:20 myserver postfix/smtp[22099]: 5CFBA2011E0: to=<[email protected]>, 
    orig_to=<root>, relay=internal.my.domain[XXX.182.189.136]:25, delay=4.2, 
    delays=3/0.01/1.1/0.09, dsn=5.1.1, status=bounced (host 
    internal.my.domain[XXX.182.189.136] said: 550 5.1.1 <[email protected]>: Recipient address 
    rejected: User unknown in virtual mailbox table (in reply to RCPT TO command))
Dec 22 16:45:20 myserver postfix/cleanup[22094]: A98B72012D2: 
    message-id=<[email protected]>
Dec 22 16:45:20 myserver postfix/bounce[22100]: 5CFBA2011E0: sender non-delivery 
    notification: A98B72012D2

不明白为什么“root”(orig_to)没有被替换为“[电子邮件保护]“就像在别名文件中指定的那样。似乎后缀将myorigin值附加到“root”。不知道为什么,因为我也指定了append_at_myorigin = no

这是怎么回事?我想用“[电子邮件保护]“。 我怎样才能做到这一点?

答案1

不确定“my.domain”到底是什么,但是别名仅用于本地递送。

相反,你可能想使用虚拟地图

以 root 身份(或 sudo)

在 /etc/postfix/virtual 中(或者虚拟的是)

root    [email protected]

在 main.cf 中

virtual_maps = hash:/etc/postfix/virtual

或(后缀的现代版本)

virtual_alias_maps = hash:/etc/postfix/virtual

虚拟地图修改后

# postmap /etc/postfix/virtual
# postfix reload

请注意,所有发往“root”的邮件都将被重定向至“[电子邮件保护]“。

答案2

就我而言,我想使用/etc/aliases(因为有些包使用它,所以你必须验证更改并复制到/etc/postfix/virtual

它不起作用的问题在于myorigin。如果你设置myorigin,所有发送给 root、nobody 和其他本地用户的邮件都会自动更改为root@myorigin

就我而言:/etc/aliases:

nobody:   root
root: [email protected]

/etc/邮件名称:

myhost.example.com

/etc/postfix/main.cf:

myorigin = /etc/mailname
myhostname = othername.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
mydestination = othername, localhost.localdomain, localhost

在这种情况下,所有发送给无人的邮件都会被改为[email protected](因为myorigin),然后发送到某个地方。

我必须改变mydestination

mydestination = myhost.example.com, othername, localhost.localdomain, localhost

现在发送到的邮件nobody被重定向到root,后者变为[email protected],但由于它在 中,因此它mydestination会查找别名并更改为[email protected],但由于它在 中,因此它mydestination会查找别名,并重定向到[email protected],而 不在 mydestination 中,因此它会被发送到应该发送的地方 ;D

相关内容