Friday, March 07, 2008

Postfix Mailout Server 設定

前言:一般比較大一點的企業 Mail Server 會把 mailin 和 mailout 分開,內部可能使用 Lotus Notes Mail 或是 Exchange Server,寄進來的信由 Linux Mail Server 或 Mail SPAM Server 收下在轉到內部的 mail server;寄出去的信則由內部的 mail server Relay 到 Linux 的 Mail Server。

這是主要設定 mailout Server 使用。
假設這台 Linux ip 192.168.1.1 內部的 Lotus Mail Server ip 192.168.1.25

myhostname,mydomain :分別是設定主機名稱及網域名稱
myorigin :在 mta 本機寄出去的信要帶的主機名稱,
inet_interfaces : postfix 收信的網卡的 ip
mydestination : 可接受的收件者,由於這台主機是做 mailout 不影響。
mynetworks : 設定可接受 RELAY 的 Mail Server ,
alias_maps,alias_database :與 sendmail alias 格式一樣,寫好用 postalias 更新。
transport_maps :定義 postfix 的路由,可視為 sendmail 的 mailtable
message_size_limit:信件大小的上限,以 byte 計。
delay_warning_time : 信件遞延的警告時間, postfix 預設是 0 ,已避免 mail server 太忙, sendmail 預設 4h。

以下為 mail.cf 範例
myhostname = mta01.company.com.tw
mydomain = company.com.tw
myorigin = $myhostname
inet_interfaces = 192.168.1.1 , localhost
mydestination = $myhostname, localhost.$mydomain, localhost
mynetworks = 127.0.0.0/8, hash:/etc/postfix/access
relay_domains = company.com.tw
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
transport_maps = hash:/etc/postfix/transport
message_size_limit = 20480000
delay_warning_time = 4h


定義 Transport
雖然 mailout server 是不會收到要寄到 company.com.tw 的信件,但有時候我們寄出去的信,難免會收不到的問題,我們要把退信寄回內部的 mail server。
如果集團下有一個子公司 subcompany ,跟母公司以專線連線,我們可以直接利用內部路由遞送較快,亦可節省對外頻寬。

以下為 /etc/postfix/transport 範例
company.com.tw smtp:192.168.1.25:25
subcompay.com.tw smtp:10.0.0.25:25
加好後用 postmap /etc/postfix/transport
詳細設定格式, 可以參考 http://www.postfix.org/transport.5.html

以下為 /etc/postfix/access 範例
192.168.1.25 RELAY
寫好後用 postmap /etc/postfix/access

以後只要改過設定,執行 /etc/init.d/postfix reload 即可

No comments:

Post a Comment