邮件发送中Virtual domains 和 Local domains 的概念
生活随笔
收集整理的這篇文章主要介紹了
邮件发送中Virtual domains 和 Local domains 的概念
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
參考原文網址:https://workaround.org/ispmail/lenny/virtual-domains-in-db
可能有些翻譯問題
數據庫中的虛擬域名(Virtual domains)
在開始進一步配置之前,需要先了解下面的一些概念:
如上表所示,虛擬用戶(Virtual user)john 對應的郵箱地址為 /var/mail/doe.org/john/Maildir 。因此,所有發給這個用戶的郵件,均是存放在相應的郵箱下面(以上這段是個人理解)。然而,上面的收件地址中出現了 “doe.org”、“foo.org”這兩個域名。但是,二者代表的意義難以理解。因此,解釋這兩者的意義在名為“Virtual_mailbox_domains”的表中解釋,如下所示:
即是說,doe.org 代表 “Virtual domain”列中的 doe.org;foo.org 代表“Virtual domain”列中的 foo.org。在上面的表中,右側的列是沒有意義的。有兩列是因為 Postfix 在進行關聯的時候,需要兩列進行關聯。左側的列(“left-hand side”=LHS)通常為鍵(key),包含有 Postfix 查找的信息;右側的列(“right-hand side”=RHS)是告訴 Postfix 如何實現所需功能。對于虛擬域名(Virtual domain)來說,右側的列是無關緊要的。
通過上面的介紹可以知道,通過表的映射,可以使不同的值關聯起來。因此,對數據庫進行查詢的時候,還需要向 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 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 要將一封電子郵件發送給 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' 假如這個查詢返回以下的數值:
- 本地域名(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 |
通過上面的介紹可以知道,通過表的映射,可以使不同的值關聯起來。因此,對數據庫進行查詢的時候,還需要向 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 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 要將一封電子郵件發送給 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
總結
以上是生活随笔為你收集整理的邮件发送中Virtual domains 和 Local domains 的概念的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 传递函数的离散化(以一阶低通RC滤波器为
- 下一篇: 台达s1变频器参数表_台达变频器参数设置