后缀:什么是别名域?

我以为我了解“别名域”,因为它只是另一个域的别名! 所以,当我build立一个像“[email protected]”的邮箱,并添加“alias.com”作为“main.com”的域别名时,地址“[email protected]”也将工作…但没有!

所以,我已经添加了这些域名:

  • main.com
  • alias.com

我已经创build了这个邮箱:

然后我映射这些别名域:

  • alias.com => main.com

然后当我发送邮件到[email protected]我收到此错误:

Recipient address rejected: User unknown in virtual mailbox table (state 13). 

我不想为每个域创build一个别名,因为我有一些。 我也不想使用通配符(如info @ *),因为还有其他域不是main.com别名

那么…究竟是什么呢?

解释在文档中: http : //www.postfix.org/VIRTUAL_README.html#virtual_alias

你想“别名邮箱”又名virtual_mailbox_alias和virtual_mailbox_maps,但谈论“别名域”: http : //www.postfix.org/ADDRESS_CLASS_README.html#virtual_alias_class

alias.com添加到virtual_alias_domains是正确的第一步,但这只是告诉Postfix您想要使用该域别名。 它没有说别名应该是什么。 为此,您需要使用虚拟别名地图。

首先,在main.cf添加如下内容:

 virtual_alias_domains = alias.com virtual_alias_maps = hash:/etc/postfix/virtual 

添加virtual_alias_maps会得到一个用作虚拟别名映射的文件( /etc/postfix/virtual )。 但是你把那个文件放在什么地方? 根据虚拟(5)手册 :

postmap(1)命令的input格式如下:

  pattern address, address, ... 

当模式匹配邮件地址时,将其replace为相应的地址。

使用DB或DBM等索引文件或NIS,LDAP或SQL等联网表格进行查找时,每个user @ domain查询将生成一系列查询模式,如下所述。 在尝试下一个查询模式之前,每个查询模式都会发送到每个指定的查找表,直到find匹配项。

 @domain address, address, ... 

redirect邮件给域中的其他用户来解决。

查找结果受到地址重写的影响:当结果具有@otherdomainforms@otherdomain ,结果成为其他otherdomain的相同用户。 这仅适用于多地址查找结果中的第一个地址。

因此,把它放在/etc/postfix/virtual中将实现你想要的全域别名:

 # map any <user>@alias.com to the matching <user>@main.com @alias.com @main.com 

那么,由于该文件是一个哈希表,您需要运行postmap ( 说明 ,手册页 ):

 postmap /etc/postfix/virtual 

您可以在Postfix Virtual Domain HOWTO中find关于虚拟域的更多信息,以及Postfix Address Rewriting HOWTO中的别名。

@Josh M.

我不知道这是正确的方法和/或良好的做法,但我使用这样的东西:

 virtual_alias_maps = regexp:/etc/postfix/domain_rewriting pgsql:/etc/postfix/pgsql/ virtual_alias_maps.cf $ cat /etc/postfix/domain_rewriting /^(.*)@domain1.com$/ ${1}@domain2.com 

这是@ sam-hanes的答案的简短版本(对我有效)

在你的virtual_alias_maps中添加:

 @from.domain <tab> @to.domain 

在命令行中执行:

  postmap /path/to/yourvirtualalismapsfile 

在你的main.cf文件中添加:

 virtual_alias_domains : from.domain 

virtual_alias_domains告诉postfix,邮箱forms为[email protected]的所有邮箱地址都是别名。