Postfix虚拟域是如何工作的

理解虚拟域是如何工作的对理解我们虚拟邮件系统的建立工作是很重要的。在Postfix中有两种域类型。

本地域: 所有mydestination指出的域都被Postfix当作本地域。本地域的邮件被发送给在 /etc/passwd 文件中出现的用户而且这些邮件存放在/var/mail 目录中。
 
虚拟域: 除了本地域之外Postfix还可以为虚拟域发送信件。与本地域不同Postfix可以让我们以一种灵活的方式操作虚拟域。他的优点是我们不需要为每一个邮件帐户在/etc/passwd文件中建立系统帐户。从而为我们的邮件系统提供了一种简单的方法来控制数以千计的邮件帐户。我们用在前面讨论过的映射来控制邮件帐户信息。你可以使用 MySQL, PostgreSQL 或 LDAP进行邮件帐户管理。在我们安装的系统中,使用MySQL后台管理虚拟域的邮件帐户

Postfix使用两种不同的分类控制虚拟域,需要理解他们是如何工作的。

虚拟别名域: 他被用来从一个email地址向另一个email地址转发别名邮件。这种域能被用做接收邮箱并存储在你的硬盘上。在你构建的系统中虚拟别名域并不是必须的。我们可以使用虚拟别名映射表去替代虚拟别名域,甚至于那些在虚拟别名域没有出现的域。虚拟别名映射表是一张普通的重定向映射表。这张表的作用是(The virtual_alias_maps is a general-purpose redirection mapping that works for everything that passes your system including local domains.)

虚拟邮箱域:' Postfix使用这些域为域中的用户接收邮件并将邮件保存到硬盘的邮箱中。这是一个参数,参数告诉Postfix接收域中的邮件并存放在每个用户的邮箱中。Postfix用虚拟别名映射表的映射决定邮箱在你的硬盘上的位置。请记住,你仍然可以用虚拟别名映射表的映射转发一封邮件到另一个邮箱或外部的邮件地址。所以并不是每一个域用户都必须有一个实际的邮箱,可以仅仅是把把邮件转发到其他地方。

理解一个域必然是虚拟别名域,虚拟邮箱域 或 本地域之一是很重要的。如果你设定一个域是虚拟别名域你将不能够在你的服务器上为这个域接收邮件。相反的,你可以用虚拟别名映射表去forward?action=AttachFile&do=get&target=alias email for both types of domain. 所以虚拟邮箱域可以更灵活的使用。
 
一个域要么是虚拟的,要么是本地的。你不能让一个域同时具有两种特征。所以,如果你希望你的默认域是虚拟的,那么你必须在mydestination定义中将其删除。仅仅设置mydestination=localhost或什么也不写。像root@localhost这样的地址将被发送到本地 root用户。 

原文地址:https://www.cnblogs.com/sunwei2012/p/1997492.html