1./etc/mail 是現(xiàn)在被尊重的默認(rèn)sendmail配置目錄
2.Virtusertable文件用于映射虛擬地址到真實(shí)的地址
3.Access文件定義拒絕或接收來自指定域的email
4. 在/etc/mail內(nèi)同樣有其它文件
他們中的兩個mailertable和domaintable默認(rèn)的sendmail配置不使用,但是包含的不完全。
5. 在/etc/mail中出現(xiàn)的另一個文件是Makefile
注意在/etc/mail中的所有文件在被sendmail使用之前必須被混編。這樣允許sendmail守護(hù)進(jìn)程快速地訪問此信息,但需要系統(tǒng)管理員在修改后重編所有文件。有了Makefile的存在,這是微不足道的,簡單地鍵入make。重啟sendmail,使用系統(tǒng)V啟動腳本或service命令也將重建這些文件。
5.16 /etc/mail/virtusertable
在linux中默認(rèn)安裝的sendmail已經(jīng)提供了對sendmail數(shù)據(jù)庫的支持。要使用其他數(shù)據(jù)庫必須在配置文件中進(jìn)行聲明。
使用 sendmail的數(shù)據(jù)庫的好處是不用修改cf配置文件,也不用使用m4配置文件生成cf配置文件。一旦配置文件增添了對sendmail數(shù)據(jù)庫的支持,許多配置修改就可以在sendmail數(shù)據(jù)庫中進(jìn)行,sendmail進(jìn)程回自動讀取sendmail數(shù)據(jù)庫中的配置內(nèi)容。
重點(diǎn)掌握access、virtusertable數(shù)據(jù)庫的使用。
1.Sendmail虛擬域功能的實(shí)現(xiàn)
Sendmail虛擬域功能的實(shí)現(xiàn)是通過FEATURE (virtusertable)功能實(shí)現(xiàn)的。因為默認(rèn)的mc配置文件中有以下設(shè)置:
FEATURE(`virtusertable’,`hash -o /etc/mail/virtusertable.db’)dnl
此項設(shè)置會使sendmail讀取/etc/mail/virtusertable.db文件的內(nèi)容,對虛擬域地址映射為實(shí)際地址。虛擬域用戶的文件缺省是/etc/mail/virtusertable.db,它用/etc/mail/virtusertable文件生成。此文件格式:虛擬地址 真實(shí)地址,中間用Tab鍵分開。
表5.1 將虛擬域地址映射為真實(shí)地址
舉例 | 說明 |
[email protected] localuser | 發(fā)送給[email protected]的郵件現(xiàn)在要發(fā)送給本機(jī)的用戶localuser |
@testdomain.com [email protected] | 所有發(fā)送xxx@@testdomain.com的郵件都會發(fā)送到[email protected] |
@testdomain.com %[email protected] | [email protected]的郵件被發(fā)送到[email protected], [email protected]的郵件被發(fā)送到[email protected] |
@testdomain.com %[email protected] | [email protected]的郵件被發(fā)送到[email protected], [email protected]的郵件被發(fā)送到[email protected]等 |
2.允許多個虛擬域和虛擬用戶被映射到另一個地址:
admin @ 123.com shopper
admin @ xyz.org jdj
admin @ he.net lmiwtc @pg.com
@cba.com [email protected]
@dom/.org %[email protected]
在/etc/mail/virtusertable內(nèi)簡單鍵入項目,映射一個email地址到一個本地用戶。這里是列出的以上的頭兩行。注意:用一個admin的別名域勝于一個域并不困難。
另一個項目的類型是一個簡單的指向。這允許一個傳入的email被發(fā)送到指定目標(biāo),這通常被人們用于簡單地去記住email地址,它接納復(fù)數(shù)。一個sendmail系統(tǒng)管理員能簡單地在個別用戶的email賬號上指向想要的email地址,。上面例子中的第三行是一個email-to-pager網(wǎng)關(guān)的例子,有一個分配的地址,并有一個簡單的別名指向它。
最后的項目的類型是指向一個整個域的email到一個給定的(本地或遠(yuǎn)程)地址的高級功能。這對虛擬域的管理員是一個非常有用的功能,它想避免設(shè)置具體的別名。這能在例子virtusertable文件中的最后兩行看到。最后一行添加了一個卷曲到這個概念,并指向傳入的email到用戶指定的dom1.org中,目標(biāo)作為一個用戶在dom2.org上,舉例:
jonny @ dom1.org 映射到[email protected]
3.使虛擬域用戶工作的前提
⑴ 配置DNS,并設(shè)置虛擬域的MX記錄
⑵ 將所有的虛擬域添加到文件/etc/mail/local-host-names中作為本地域別名。
⑶ 將所有的虛擬域添加到文家/etc/mail/access并允許RELAY。
最后執(zhí)行命令:“makemap hash virtusertable.db<virtusertable”建立virtusertable數(shù)據(jù)庫更新sendmail配置。