邮件发送中Virtual domains 和 Local domains 的概念
生活随笔
收集整理的這篇文章主要介紹了
邮件发送中Virtual domains 和 Local domains 的概念
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
參考原文網(wǎng)址:https://workaround.org/ispmail/lenny/virtual-domains-in-db
可能有些翻譯問(wèn)題
數(shù)據(jù)庫(kù)中的虛擬域名(Virtual domains)
在開(kāi)始進(jìn)一步配置之前,需要先了解下面的一些概念:
如上表所示,虛擬用戶(hù)(Virtual user)john 對(duì)應(yīng)的郵箱地址為 /var/mail/doe.org/john/Maildir 。因此,所有發(fā)給這個(gè)用戶(hù)的郵件,均是存放在相應(yīng)的郵箱下面(以上這段是個(gè)人理解)。然而,上面的收件地址中出現(xiàn)了 “doe.org”、“foo.org”這兩個(gè)域名。但是,二者代表的意義難以理解。因此,解釋這兩者的意義在名為“Virtual_mailbox_domains”的表中解釋,如下所示:
即是說(shuō),doe.org 代表 “Virtual domain”列中的 doe.org;foo.org 代表“Virtual domain”列中的 foo.org。在上面的表中,右側(cè)的列是沒(méi)有意義的。有兩列是因?yàn)?Postfix 在進(jìn)行關(guān)聯(lián)的時(shí)候,需要兩列進(jìn)行關(guān)聯(lián)。左側(cè)的列(“l(fā)eft-hand side”=LHS)通常為鍵(key),包含有 Postfix 查找的信息;右側(cè)的列(“right-hand side”=RHS)是告訴 Postfix 如何實(shí)現(xiàn)所需功能。對(duì)于虛擬域名(Virtual domain)來(lái)說(shuō),右側(cè)的列是無(wú)關(guān)緊要的。
通過(guò)上面的介紹可以知道,通過(guò)表的映射,可以使不同的值關(guān)聯(lián)起來(lái)。因此,對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)的時(shí)候,還需要向 Postfix 解釋所查詢(xún)的哪兩列。當(dāng)然,了解了這些,還尚未解釋清楚 Postfix 是如何實(shí)現(xiàn)與數(shù)據(jù)庫(kù)連接,協(xié)同工作的。關(guān)于如何配置 Postfix 與 數(shù)據(jù)庫(kù),可以參照網(wǎng)址:http://www.postfix.org/MYSQL_README.html。下面是一個(gè)簡(jiǎn)單的說(shuō)明實(shí)例: 在 /etc/postfix/mysql-virtual-alias-maps.cf 中有如下的代碼: # Information on how to connect to your MySQL server user = someone password = some_password hosts = 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 要將一封電子郵件發(fā)送給 john@doe.net,然后需要去檢查 virtual alias map。Posfix 首先連接到 IP 地址為 127.0.0.1 的 MySQL 數(shù)據(jù)庫(kù),并用“user”和“password”變量提供的用戶(hù)名稱(chēng)和密碼登陸。之后,Postfix 會(huì)打開(kāi)變量“dbname”指向的數(shù)據(jù)庫(kù),并執(zhí)行 query 命令。在執(zhí)行指令的過(guò)程中,將 source 的“%s”用郵件名稱(chēng)代替,所以在 MySQL 中執(zhí)行的查詢(xún)指令是: SELECT destination FROM virtual_aliases WHERE source='john@doe.net' 假如這個(gè)查詢(xún)返回以下的數(shù)值:
- 本地域名(Local domains)
- 虛擬域名(Virtual domains)
| john@doe.org | /var/mail/doe.org/john/Maildir |
| jack@doe.org | /var/mail/doe.org/jack/Maildir |
| jeff@foo.org | /var/mail/foo.org/jeff/Maildir |
| doe.org | banana daiquiri |
| foo.org | tequila sunrise |
通過(guò)上面的介紹可以知道,通過(guò)表的映射,可以使不同的值關(guān)聯(lián)起來(lái)。因此,對(duì)數(shù)據(jù)庫(kù)進(jìn)行查詢(xún)的時(shí)候,還需要向 Postfix 解釋所查詢(xún)的哪兩列。當(dāng)然,了解了這些,還尚未解釋清楚 Postfix 是如何實(shí)現(xiàn)與數(shù)據(jù)庫(kù)連接,協(xié)同工作的。關(guān)于如何配置 Postfix 與 數(shù)據(jù)庫(kù),可以參照網(wǎng)址:http://www.postfix.org/MYSQL_README.html。下面是一個(gè)簡(jiǎn)單的說(shuō)明實(shí)例: 在 /etc/postfix/mysql-virtual-alias-maps.cf 中有如下的代碼: # Information on how to connect to your MySQL server user = someone password = some_password hosts = 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 要將一封電子郵件發(fā)送給 john@doe.net,然后需要去檢查 virtual alias map。Posfix 首先連接到 IP 地址為 127.0.0.1 的 MySQL 數(shù)據(jù)庫(kù),并用“user”和“password”變量提供的用戶(hù)名稱(chēng)和密碼登陸。之后,Postfix 會(huì)打開(kāi)變量“dbname”指向的數(shù)據(jù)庫(kù),并執(zhí)行 query 命令。在執(zhí)行指令的過(guò)程中,將 source 的“%s”用郵件名稱(chēng)代替,所以在 MySQL 中執(zhí)行的查詢(xún)指令是: SELECT destination FROM virtual_aliases WHERE source='john@doe.net' 假如這個(gè)查詢(xún)返回以下的數(shù)值:
- jack@example.com
- jeff@example.com
- kerstin@example.com
總結(jié)
以上是生活随笔為你收集整理的邮件发送中Virtual domains 和 Local domains 的概念的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 传递函数的离散化(以一阶低通RC滤波器为
- 下一篇: 台达s1变频器参数表_台达变频器参数设置