Postfix中的地址操作
一、將地址改寫(xiě)為標(biāo)準(zhǔn)格式
在cleanup進(jìn)程進(jìn)行表查詢之前,它***請(qǐng)求trivial-rewrite進(jìn)程將新
郵件地址改寫(xiě)成標(biāo)準(zhǔn)的user@fully.qualified.domain格式。改寫(xiě)的目的是為了減少查詢表中的條目,從而提供查詢的效率。trivial-rewrite進(jìn)程可以實(shí)現(xiàn)以下的地址改寫(xiě):
* 將包含源路由信息的地址如@hosta,@hostb:user@site寫(xiě)成user@site,因?yàn)閜ostfix不支持包含源路由信息的地址格式。
* 將形如user%domain的地址改寫(xiě)成user@domain的形式。該特性可通過(guò)allow_percent_hack參數(shù)進(jìn)行控制,其缺省值為yes。
* 將只包含user的地址改寫(xiě)成user@$myorigin。該特性可通過(guò)append_at_myorigin參數(shù)進(jìn)行控制,其缺省值為yes。***不要改動(dòng)其缺省值,因?yàn)榇蠖鄶?shù)的postfix進(jìn)程更擅長(zhǎng)處理地址形如user@$myorigin的郵件。
* 將形如user@host的地址改寫(xiě)成user@host.$mydomain。該特性可通過(guò)append_dot_mydomain參數(shù)進(jìn)行控制,其缺省值為yes。
* 將形如user@site.的地址改寫(xiě)成 user@site,也即除去了***的點(diǎn)號(hào)。
二、 規(guī)范地址映射
在cleanup進(jìn)程將一封新郵件存入incoming郵件隊(duì)列之前,cleanup進(jìn)程
將根據(jù)查詢規(guī)范表來(lái)進(jìn)行地址改寫(xiě),從而使之更具可讀性。主要是替換形如Firstname.Lastname 風(fēng)格的地址以及清除無(wú)效的域。缺省postfix是不進(jìn)行規(guī)范地址改寫(xiě)的,你可以通過(guò)指定canonical_maps參數(shù)的值來(lái)使其生效。如:
canonical_maps = hash:/etc/postfix/canonical
也可以分別為收件人和發(fā)件人地址分別指定不同的改寫(xiě)規(guī)范,這時(shí)參數(shù)sender_canonical_maps和recipient_canonical_maps的優(yōu)先級(jí)比canonical_maps高。如:
sender_canonical_maps = hash:/etc/postfix/sender_canonical
recipient_canonical_maps = hash:/etc/postfix/recipient_canonical
三、 地址欺騙
就是將形如user@host.domain的地址改寫(xiě)成user@domain或user@other.domain,
好像是從其他的郵件服務(wù)器發(fā)出的一樣。缺省該功能是被禁止的,可以用參數(shù)masquerade_domains使其生效,如:
masquerade_domains = $mydomain
也可以通過(guò)masquerade_exceptions參數(shù)對(duì)特定的用戶不進(jìn)行地址欺騙,如:
masquerade_exceptions = root
注意:地址欺騙只對(duì)發(fā)件人地址有作用。
四、 虛擬地址映射
在運(yùn)用了規(guī)范地址映射和地址欺騙之后,cleanup將使用虛擬表映射將郵件
重定向到所有的收件人。注意,該操作僅僅作用于信頭上的收件人地址。這樣,我們就可以將發(fā)送到虛擬域的郵件投遞到真實(shí)用戶的郵箱。系統(tǒng)的別名數(shù)據(jù)庫(kù)同樣可以起到相同的作用。缺省該功能是被禁止的,可以用參數(shù)virtual_maps使其生效,如:
virtual_maps = hash:/etc/postfix/virtual
五、 Relocated數(shù)據(jù)庫(kù)查詢
Relocated表格提供如何將郵件發(fā)送給在系統(tǒng)中沒(méi)有帳號(hào)的用戶。缺省該功能是被禁止的,可以用參數(shù)relocated_maps使其生效,如:
relocated_maps = hash:/etc/postfix/relocated
六、 別名數(shù)據(jù)庫(kù)查詢
當(dāng)郵件在本地投遞時(shí),local投遞代理進(jìn)程會(huì)在別名數(shù)據(jù)庫(kù)(linux下為
/etc/aliases)中查詢收件人的別名。該操作不會(huì)作用于郵件信頭中的地址??梢杂胊lias_maps指定使用的別名數(shù)據(jù)庫(kù)。缺省地,該功能是有效的,如:
alias_maps = hash:/etc/aliases
可以通過(guò)alias_database參數(shù)控制別名數(shù)據(jù)庫(kù)的路徑,如:
alias_database = hash:/etc/aliases
【編輯推薦】