延遲投遞時(shí)間
在某些情況下,你可能會(huì)希望postfix先收下郵件,但不立刻投遞出去。等到你下達(dá)
posqueue -f domain命令之后,或是postfix從支持快速清空功能的網(wǎng)域收到ETRN
SMTP命令之后,postfix才遞送出被暫扣留的郵件。
最常見的一種情況是ISP為客戶的網(wǎng)域代收郵件,但是客戶的網(wǎng)絡(luò)并不總是保持連接。
ISP必須先儲(chǔ)存郵件,直到客戶的網(wǎng)絡(luò)恢復(fù)連接,并且能收下郵件為止。類似的情況還有
客戶網(wǎng)絡(luò)上的用戶,應(yīng)該要能夠通過本地的郵件網(wǎng)關(guān)來寄信,該網(wǎng)關(guān)必須能先暫存外寄
郵件,直到網(wǎng)絡(luò)恢復(fù)連接時(shí)才投遞出去。
暫緩轉(zhuǎn)發(fā)郵件
在以下的程序中,我們要先創(chuàng)建一種新型的傳輸法,稱為“ondemand”,然后設(shè)定傳輸
表,要求所有寄到example.com網(wǎng)域的郵件,一律先暫時(shí)扣留在隊(duì)列里。
1。 在master.cf設(shè)置一種新的傳輸法,并命名為ondemand。它的配置應(yīng)該與smtp傳
輸法一樣
ondemand unix - - n - - smtp
2、要求postfix自動(dòng)延緩任何通過ondemand遞送的郵件。只要將新設(shè)的ondemand傳輸法
列在main.cf的defer_transports參數(shù)中,就可以達(dá)到自動(dòng)延緩的效果:
defer_transports = ondemand
3、 確定transport_maps參數(shù)指向我們的傳輸表:
transport_maps = hash:/etc/postfix/transport
4、編輯修改傳輸表,使得example.com網(wǎng)域的所有郵件都通過ondemand傳輸法來投遞:
example.com ondemand
5、運(yùn)行postmap將傳輸表轉(zhuǎn)換成數(shù)據(jù)庫格式:
postmap /etc/postfix/transport
6、要求postfix重新讀取配置文件,使我們所做的改變開始生效:
postfix reload
現(xiàn)在,所有要寄到example.com網(wǎng)域的郵件都會(huì)被扣留在隊(duì)列里,直到你下達(dá)以下命令為
止:
postqueue -f example.com
暫緩?fù)哆f外地郵件
假設(shè)有一個(gè)小型辦公室網(wǎng)絡(luò),他們與Internet之間沒有連接,而是由網(wǎng)管人員架設(shè)呢一
臺(tái)郵件服務(wù)器來接收內(nèi)部員工寄到外界的郵件。網(wǎng)管人員希望能夠控制外地郵件的投遞
時(shí)間,讓postfix只有在有連接時(shí)才送出外地郵件。
1、 將smtp服務(wù)名稱列在main.cf的defer_transports參數(shù)中:
defer_transports = smtp
2、要求postfix重新加載配置文件,使我們的改變生效:
postfix reload
以后,每當(dāng)辦公室網(wǎng)絡(luò)與Internet接通時(shí),網(wǎng)管人員就可以使用postqueue -f命令來送
出所有外地郵件。
入站郵件網(wǎng)關(guān)
郵件網(wǎng)關(guān)是一種能收下郵件然后將其轉(zhuǎn)交給其他系統(tǒng)的郵件服務(wù)器系統(tǒng)。在在網(wǎng)絡(luò)術(shù)語
中,“網(wǎng)關(guān)"一詞的意義有兩個(gè):一是物理上的含義,代表某個(gè)網(wǎng)絡(luò)到達(dá)另一個(gè)網(wǎng)絡(luò)的必
經(jīng)通路;另一層含義是協(xié)議的轉(zhuǎn)換,將一種協(xié)議所傳達(dá)的信息以另一個(gè)協(xié)議傳到目標(biāo)系
統(tǒng)。
郵件網(wǎng)關(guān)通常被設(shè)置在企業(yè)網(wǎng)絡(luò)與Internet之間,甚至與防火墻系統(tǒng)搭配在一起,以盡
可能減少需要直接訪問Internet的服務(wù)器數(shù)量。
假設(shè)有一個(gè)企業(yè)網(wǎng)絡(luò),這家企業(yè)有多個(gè)部門,各部門都有自己的子網(wǎng)域,也有自己的內(nèi)
部郵件服務(wù)器。網(wǎng)關(guān)系統(tǒng)gw.example.com負(fù)責(zé)收下企業(yè)網(wǎng)絡(luò)的所有郵件。假設(shè)人力資源
部門的郵件系統(tǒng)位于mail.example.com,此部門員工的郵件地址是
user@hr.example.com;業(yè)務(wù)部門的郵件系統(tǒng)位于mail2.example.com,他們的郵件地
址格式是user@sales.example.com。每個(gè)字網(wǎng)絡(luò)上的主機(jī),應(yīng)該分別從他們各自的內(nèi)部
郵件服務(wù)器取信。郵件網(wǎng)關(guān)gw.example.com必須設(shè)置傳輸表,才能將收下的郵件交付給
正確的內(nèi)部郵件服務(wù)器。
下列程序示范要如何設(shè)定gw.example.com,才能使它將郵件交給正確的內(nèi)部服務(wù)器。
1、確定hr.example.com與sales.example.com的DNS mx記錄都指向gw.example.com網(wǎng)
關(guān)
2、編輯網(wǎng)關(guān)系統(tǒng)的main.cf配置文件,將兩個(gè)子網(wǎng)域列入relay_domains參數(shù):
relay_domains = hr.example.com, sales.example.com
3、確定transport_maps參數(shù)指向正確的傳輸表“
transport_maps = hash:/etc/postfix/transport
4、編輯修改傳輸表內(nèi)容,將各網(wǎng)域指向正確的內(nèi)部服務(wù)器:
transport maps
hr.example.com relay:[mail.example.com]
sales.example.com relay:[mail2.example.com]
注意,內(nèi)部郵件服務(wù)器的主機(jī)名是放在一對方括號(hào)內(nèi),這使得網(wǎng)關(guān)系統(tǒng)可跳過mx查詢,
而直接將郵件遞送到主機(jī)名稱所對應(yīng)的ip地址。
5、重新加載配置文件,使改變生效:
postfix reload
鄭重建議你將mail與mail2的所有合法郵箱列表匯整成一個(gè)查詢表,放在gw系統(tǒng)上,并將
網(wǎng)關(guān)系統(tǒng)的relay_recipient_maps參數(shù)指向查詢表;否則,gw.example.com將會(huì)收下
許多垃圾郵件。
出站郵件網(wǎng)關(guān)
若郵件系統(tǒng)沒有足夠的信息或能力將郵件直接送達(dá)目的地,它可將郵件交給位于更有利
位置的其他系統(tǒng),間接送到目的地。假設(shè)那兩個(gè)內(nèi)部郵件系統(tǒng)不能直接訪問 Internet,
它們不能將字網(wǎng)絡(luò)上的用戶寄到外地的郵件直接遞送到目的地,但它們可以將所有外地
郵件都托付給網(wǎng)關(guān)系統(tǒng),由網(wǎng)關(guān)代為遞送。下列步驟示范如何設(shè)定mail.example.com上
的postfix server,使它將收下的所有外地郵件都交給gw.example.com。
在開始設(shè)定內(nèi)部郵件系統(tǒng)之前,請確定郵件網(wǎng)關(guān)已被設(shè)定成能接收內(nèi)部郵件系統(tǒng)的轉(zhuǎn)發(fā)
要求。網(wǎng)關(guān)系統(tǒng)的mynetworks參數(shù)應(yīng)該涵蓋內(nèi)部郵件系統(tǒng)的所有 ip地址;此外,如果
網(wǎng)關(guān)系統(tǒng)使用了smtp ube過濾規(guī)則,請確定permit_mynetworks被列在過濾規(guī)則里。
1、在各部門的辦公室貼公告,告訴你的同事,要求他們設(shè)定MUA使用的內(nèi)部郵件系統(tǒng)(mail1 mail2。。。)為smtp server
2、設(shè)定內(nèi)部郵件系統(tǒng)(mail1與mail2)的mynetworks(或mynetworks_style)參數(shù),確定子網(wǎng)絡(luò)上的全部客戶端系統(tǒng)都涵蓋在內(nèi)。
3、編輯內(nèi)部郵件系統(tǒng)的main.cf,將relayhost參數(shù)指向網(wǎng)關(guān)系統(tǒng):
relayhost = 〔gw.example.com〕
4、重新加載postfix配置文件,使改變生效:
postfix reload
現(xiàn)在,所有送到mail.example.com的外地郵件,都會(huì)通過gw.example.com送到目的地。
UUCP、傳真以及其他投遞機(jī)制
postfix的在線文件描述了如何設(shè)定postfix使其將郵件交給傳真機(jī)系統(tǒng)以及如何使用postfix來架設(shè)UUCP網(wǎng)關(guān)。當(dāng)你的postfix需要與任何特殊設(shè)備接軌時(shí),這些例子提供了很好的參考。原則上,如果你需要在不同類型的系統(tǒng)或網(wǎng)絡(luò)之間架設(shè)網(wǎng)關(guān),傳輸表提供了引導(dǎo)郵件到其他系統(tǒng)或設(shè)備的機(jī)制。
通過上面文章,我們可以清楚的知道Postfix郵件轉(zhuǎn)發(fā)的一些附屬知識(shí),能更容易的掌握Postfix郵件轉(zhuǎn)發(fā)的功能。
【編輯推薦】
聯(lián)系客服