postfix的配置詳解
一、 postfix的配置文件結(jié)構(gòu)
postfix的配置文件位于/etc/postfix下,安裝完postfix以后,我們可以通過ls命令查看postfix的配置文件:
[root@mail postfix]# ls
install.cf main.cf master.cf postfix-script
這四個(gè)文件就是postfix最基本的配置文件,它們的區(qū)別在于:
mail.cf:是postfix主要的配置文件。
Install.cf:包含安裝過程中安裝程序產(chǎn)生的postfix初始化設(shè)置。
master.cf:是postfix的master進(jìn)程的配置文件,該文件中的每一行都是用來配置postfix的組件進(jìn)程的運(yùn)行方式。
postfix-script:包裝了一些postfix命令,以便我們?cè)趌inux環(huán)境中安全地執(zhí)行這些postfix命令。
二、 postfix的基本配置
postfix大約有100個(gè)配置參數(shù),這些參數(shù)都可以通過main.cf 指定。配置的格式是這樣的,用等號(hào)連接參數(shù)和參數(shù)的值。如:
myhostname = mail.mydomain.com
等號(hào)的左邊是參數(shù)的名稱,等號(hào)的右邊是參數(shù)的值; 當(dāng)然,我們也可以在參數(shù)的前面加上$來引用該參數(shù),如:
myorigin = $myhostname
雖然postfix有100個(gè)左右的參數(shù),但是postfix為大多數(shù)的參數(shù)都設(shè)置了缺省值,所以在讓postfix正常為你服務(wù)之前,你只需要配置為數(shù)不多的幾個(gè)參數(shù)。下面我們一起來看一看這些基本的postfix參數(shù)。需要注意的是,一旦你更改了main.cf文件的內(nèi)容,則必須運(yùn)行postfix reload命令使其生效。
1. myorigin
myorigin參數(shù)指明發(fā)件人所在的域名。如果你的用戶的郵件地址為user@domain.com,則該參數(shù)指定@后面的域名。缺省地,postfix使用本地主機(jī)名作為myorigin,但是建議你最好使用你的域名,因?yàn)檫@樣更具有可讀性。比如:安裝postfix的主機(jī)為mail.domain.com則我們可以這樣指定myorigin:
myorigin = domain.com
當(dāng)然我們也可以引用其他參數(shù),如:
myorigin = $mydomain
2. mydestination
mydestination參數(shù)指定postfix接收郵件時(shí)收件人的域名,換句話說,也就是你的postfix系統(tǒng)要接收什么樣的郵件。比如:你的用戶的郵件地址為user@domain.com, 也就是你的域?yàn)閐omain.com, 則你就需要接收所有收件人為user_name@domain.com的郵件。與myorigin一樣,缺省地,postfix使用本地主機(jī)名作為mydestination。如:
mydestination = $mydomain
mydestination = domain.com
3. notify_classes
在postfix系統(tǒng)中,必須指定一個(gè)postfix系統(tǒng)管理員的別名指向一個(gè)用戶,
只有這樣,在用戶遇到問題時(shí)才有報(bào)告的對(duì)象,postfix也才能將系統(tǒng)的問題報(bào)告給管理員。notify_classes參數(shù)就是用來指定向postfix管理員報(bào)告錯(cuò)誤時(shí)的信息級(jí)別。共有以下幾種級(jí)別:
bounce:將不可以投遞的郵件的拷貝發(fā)送給postfix管理員。出于個(gè)人隱私的緣故,該郵件的拷貝不包含信頭。
2bounce:將兩次不可投遞的郵件拷貝發(fā)送給postfix管理員。
delay:將郵件的投遞延遲信息發(fā)送給管理員,僅僅包含信頭。
policy:將由于UCE規(guī)則限制而被拒絕的用戶請(qǐng)求發(fā)送給postfix管理員,包含整個(gè)SMTP會(huì)話的內(nèi)容。
protocol:將協(xié)議的錯(cuò)誤信息或用戶企圖執(zhí)行不支持的命令的記錄發(fā)送給postfix管理員。同樣包含整個(gè)SMTP會(huì)話的內(nèi)容。
resource:將由于資源錯(cuò)誤而不可投遞的錯(cuò)誤信息發(fā)送給postfix管理員,比如:隊(duì)列文件寫錯(cuò)誤等等。
software:將由于軟件錯(cuò)誤而導(dǎo)致不可投遞的錯(cuò)誤信息發(fā)送給postfix管理員。
缺省值為:
notify_classes = resource, software
4.myhostname
myhostname 參數(shù)指定運(yùn)行postfix郵件系統(tǒng)的主機(jī)的主機(jī)名。缺省地,該值被設(shè)定為本地機(jī)器名。你也可以指定該值,需要注意的是,要指定完整的主機(jī)名。如:
myhostname = mail.domain.com
5.mydomain
mydomain參數(shù)指定你的域名,缺省地,postfix將myhostname的第一部分刪除而作為mydomain的值。你也可以自己指定該值,如:
mydomain = domain.com
6.mynetworks
mynetworks 參數(shù)指定你所在的網(wǎng)絡(luò)的網(wǎng)絡(luò)地址,postfix系統(tǒng)根據(jù)其值來區(qū)別用戶是遠(yuǎn)程的還是本地的,如果是本地網(wǎng)絡(luò)用戶則允許其訪問。你可以用標(biāo)準(zhǔn)的A、B、C類網(wǎng)絡(luò)地址,也可以用CIDR(無類域間路由)地址來表示,如:
192.168.1.0/24
192.168.1.0/26
7.inet_interfaces
inet_interfaces 參數(shù)指定postfix系統(tǒng)監(jiān)聽的網(wǎng)絡(luò)接口。缺省地,postfix監(jiān)聽所有的網(wǎng)絡(luò)接口。如果你的postfix運(yùn)行在一個(gè)虛擬的ip地址上,則必須指定其監(jiān)聽的地址。如:
inet_interfaces = all
inet_interface = 192.168.1.1
【編輯推薦】