邮件发送中Virtual domains 和 Local domains 的概念
来源:互联网 发布:windows配置失败 编辑:程序博客网 时间:2024/06/03 17:36
参考原文网址:https://workaround.org/ispmail/lenny/virtual-domains-in-db
可能有些翻译问题
数据库中的虚拟域名(Virtual domains)
在开始进一步配置之前,需要先了解下面的一些概念:
- 本地域名(Local domains)
Postfix 从互联网接收邮件。通常,Postfix 通过设置 “mydestination”的值了解本地域名和本地用户(Linux系统中默认在 /etc/passwd 文件下)。这表明,所有的用户都能够采用任何本地域名接收邮件。以下面的设置为例:
mydestination = example1.com, example2.com, example3.com
假设系统中的用户为 “johndoe”则有 Postfix可以接受收件名称为如下的电子邮件:
johndoe@example1.com
johndoe@example2.com
johndoe@example3.com
- 虚拟域名(Virtual domains)
本地域名和用户名称可以存放在 MySQL、PostgreSQL等数据库中。以这种方式配置的话,Postfix需要了解如何接入数据库,并能够操作数据库的信息。这种配置下的邮件地址被称为虚拟域名(virtual domains),邮件用户被称为虚拟用户(virtual users)。它们都是存放在数据库中。
Postfix 能够识别两种基本的虚拟域名——“Virtual alias domains”和“virtual_alias_maps”。具体来说,“Virtual alias domains”用于将邮件从一个地址,转发到另外一个或者多个地址。它无法为任务用户接收邮件,只是转发邮件。“Virtual_alias_maps”包含用户的收、发邮件地址信息、收件人域名或者是全部的域名。同样,“Virtual_alias_map”同样可以用于本地的地址管理。
还有一种虚拟域名(Virtual domains)被称为“Virtual mailbox domains”,是用于实际接收邮件的。
上面的描述过于抽象,以一个例子来说明。假如在你的系统中,假如有一个“Virtual_mailbx_maps”内容如下:
通过上面的介绍可以知道,通过表的映射,可以使不同的值关联起来。因此,对数据库进行查询的时候,还需要向 Postfix 解释所查询的哪两列。当然,了解了这些,还尚未解释清楚 Postfix 是如何实现与数据库连接,协同工作的。关于如何配置 Postfix 与 数据库,可以参照网址:http://www.postfix.org/MYSQL_README.html。下面是一个简单的说明实例:
在 /etc/postfix/mysql-virtual-alias-maps.cf 中有如下的代码:
# Information on how to connect to your MySQL serveruser = someonepassword = some_passwordhosts = 127.0.0.1# The database name on the servers.dbname = mailserver# The SQL query template.query = SELECT destination FROM virtual_aliases WHERE source='%s'那么,在 Postfix 的配置文件中(/etc/postfix/main.cf)中,将“virtual_alias_maps”配置成为如下格式即可:
virtual_alias_maps = mysql:/etc/postfix/mysql-virtual_alias_maps.cf则,假如 Postfix 要将一封电子邮件发送给 john@doe.net,然后需要去检查 virtual alias map。Posfix 首先连接到 IP 地址为 127.0.0.1 的 MySQL 数据库,并用“user”和“password”变量提供的用户名称和密码登陆。之后,Postfix 会打开变量“dbname”指向的数据库,并执行 query 命令。在执行指令的过程中,将 source 的“%s”用邮件名称代替,所以在 MySQL 中执行的查询指令是:
SELECT destination FROM virtual_aliases WHERE source='john@doe.net'假如这个查询返回以下的数值:
- jack@example.com
- jeff@example.com
- kerstin@example.com
这意味着,john@doe.net 是下面邮件的别名:jack@example.com,jeff@example.com,kerstin@example.com。
0 0
- 邮件发送中Virtual domains 和 Local domains 的概念
- 关于cpanel中Parked Domains的解释
- Application Domains
- Featured Domains
- Application Domains
- Google - Domains
- Configure virtual domains for an 802.1q VLAN trunk
- Domains, Servers, Databases, Directories…的释义
- Tomcat类似Weblogic,管理自己的domains
- Linux Scheduling Domains
- Clock Domains--时钟域
- Linux Scheduling Domains
- sched-domains.txt
- Documentation/scheduler/sched-domains
- Tuxedo Multi-Domains 配置
- Linux Scheduling Domains
- Linux Scheduling Domains
- Phishing with Unicode Domains
- iOS开发学习路径的一些建议
- hdu 3336 KMP+DP
- Light OJ 1307 Bi-shoe and Phi-shoe(欧拉函数)
- 桥接设计模式bridge
- NYOJ 1082 买新书了【简单题】
- 邮件发送中Virtual domains 和 Local domains 的概念
- uva 515(差分约束bellman or spfa)
- 利用List的subList方法,实现对List分页
- 安卓布局(上中下布局)
- Worthy collection site
- 关于java中get和set方法的好处
- php之echo print区别
- 矩阵乘方
- java中的多态