|
|
#1 |
|
初心者
註冊日期: Jan 2008
文章: 287
積分: 10410
|
(下面是我使用的main.cf檔案,包含多數我會用到的設定,
有些進階的使用方式,會慢慢試著更新它...時間不明...) # Postfix 主要的組態檔,刪除了多數說明文字, # 並且嘗試依照最常用的郵件主機設定來依序設定與說明, # 許多不常用的設定並未列出。 ### 0. 幾個 Postfix 主要的設置參數,一般狀況下不需要更改。 queue_directory = /var/spool/postfix command_directory = /usr/sbin daemon_directory = /usr/libexec/postfix mail_owner = postfix ## # 一、設定郵件主機的識別身分(重要) # myhostname 主機名稱:如果系統設置得當,應該不用設置,系統會以gethostname()取得 # mydomain 網域名稱:預設會以myhostname第一個點之後的作為domain名稱 # myorigin 補齊缺少的資訊:自動補齊資訊所用的,通常使用網域名稱 # mydestination 本地網域:指Postfix應該視為「本地網域」的所有網域名稱 # (本地網域的部份會後續在設定) #myhostname = host.domain.tld #mydomain = domain.tld myorigin = $mydomain ## # 二、設定 Postfix 能使用的網路介面(重要) # (如果是對外服務的郵件主機,就必須要設定為all,預設為localhost) inet_interfaces = all #inet_interfaces = $myhostname #inet_interfaces = $myhostname, localhost #inet_interfaces = localhost ## # 三、先設定簡易的代轉(Relay)管控 # 3.1 mynetworks_style 提供三種簡易設定型態 # class =>與伺服器位於同一級IP網路的主機都可以使用代轉服務 # subnet =>所在網域的任一個IP都可以使用代轉服務 # host =>僅開放localhost為信任‧可代轉的主機 #mynetworks_style = class #mynetworks_style = subnet #mynetworks_style = host # 3.2 mynetworks 明確設定可使用relay的主機範圍 # (優先於mynetworks_style,建議採用此種設定法) mynetworks = 192.168.0.0/24, 192.168.1.0/24, 127.0.0.0/8 #mynetworks = $config_directory/mynetworks #mynetworks = hash:/etc/postfix/network_table ## # 四、設定Postfix會收下信件的網域 # Postfix會收下四種特定網域的信件,除了main.cf中的設定外, # 也應該被正確的設置在DNS中的MX紀錄中。 # (1)本地網域(local domain)=>由mydestination參數設定 # (2)代轉網域(relay domains)=>由relay_domains參數設定 # (3)虛擬網域(virtual domains)之虛擬別名(virtual aliases) # =>由 virtual_alias_domains參數設定 # (4)虛擬網域之虛擬信箱(virtual mailboxes) # =>由 virtual_mailbox_domains參數設定 # (上列四種設定不應重複,網域已設為本地網域,就不應該出現在代轉網域) # 4.1 設定本地網域 #mydestination = $myhostname, localhost.$mydomain mydestination = $myhostname, localhost.$mydomain, $mydomain #mydestination = $myhostname, localhost.$mydomain, $mydomain, # mail.$mydomain, www.$mydomain, ftp.$mydomain # 4.2 設定代轉網域 # Postfix 預設會提供代轉服務的設置: # (代轉服務=該網域並非由本Postfix MTA所管控,但可以代轉發) # - 從信任的客戶端(指ip符合$mynetworks)寄出到任何目的地 # - 從非信任的客戶端寄出到符合$relay_domains或其下次網域的目的地 # 若信件終點站是relay_domains參數中的網址,被視為外地郵件, # 由 relay MDA來執行投遞作業。 # relay_domains 預設值= $mydestination.(主機名稱) # # 4.3 設定虛擬別名‧網域 # # 4.4 設定虛擬信箱‧網域 # ## # 五、改寫位址格式 # 5.1 Postfix預設會以$myorigin或mydomain附加到不完整的電郵位址。 # 5.2 正式位址 # 另外提供了一種正式位址代換的機制 canonical map(正格表) # (1)修改 /etc/postfix/canonical # (2)再執行 postmap /etc/postfix/canonical # (3)記得要重新載入 postfix reload # 正格表的撰寫方式: # eric@example.com eric.wu@example.com # eric@example.com eric@oreilly.com # # canonical_maps = hash:/etc/postfix/canonical # # Postfix也提供額外的參數設置特定的位址 # sender_canonical_maps 僅修改發信者位址 # recipient_canonical_maps 僅修改收件者位址 # (適用順序為:sender->recipient->canonical) # # 5.3 偽裝主機名稱 # 用於隱藏內部主機名稱 # masquerade_domains = example.com # # 5.4 改變投遞位址 # 拒收某人或某網域信件,並回覆一封告知 # relocated_maps = hash:/etc/postfix/relocated # relocated 撰寫範例: # kdent@ora.com kdent@oreilly.com # @example.com oreilly.com # # 5.5 不明使用者 # 拒絕不存在的本地帳戶/「不明使用者」(unknown user) #unknown_local_recipient_reject_code = 550 unknown_local_recipient_reject_code = 450 # 如果收信地址的人名部份,在任何對照表、別名表、系統帳戶都查不出來, # 這個人會被視為「不明使用者」(unknown user),系統會拒收。 # 如果希望蒐集這類信件,使用下列設定,並指定集中收集的信箱 # local_recipient_maps = # luser_relay = someuser # (上列第一個參數維持空白,第二個參數指定一個別名或實際帳戶) # 5.6 chroot # 最安全的設置方式是使用改變根目錄(chroot),但非常複雜; # postfix安裝時預設並未使用 chroot,記得去檢查 master.cf檔案, # 建議先取消 chroot,除非您真的很厲害。 ## # 六、一些針對郵件限制的特殊設定 # 限制一封信最多可以有幾位收信者,預設值是1000 # smtpd_recipient_limit = 1000 # 限制單封信件的體積上限,預設值為 10 MB(改為20MB) message_size_limit = 20480000 ## # 七、別名檔資料庫設定(aliases) # 使用default_database_type參數決定資料庫格式,預設為 hash alias_maps = hash:/etc/postfix/aliases alias_database = hash:/etc/postfix/aliases # (安裝時隨附的別名檔範本,已經預設了一組慣例別名,最後都指向root, # 僅需要設置 root 別名,指向一個平常會收取信件的帳戶信箱即可) ## # 八、本地信件與信箱設置 # 預設使用的信箱格式是mbox,下列的參數設置,如果結尾沒有"/", # 就表示是使用mbox;如果結尾跟著"/",就是使用 maildir格式。 # (建議還是使用最通用的mbox,與其他程式的相容性最高) # # 所有本地收件人的名稱,都必須列在local_recipient_maps參數所指的表, # 預設值是指向Unix系統的密碼檔與別名表,通常不需要修改它。 # local_recipient_maps = proxy:unix # # 信箱投遞作業 #mail_spool_directory = /var/mail #mail_spool_directory = /var/spool/mail # # 可以要求 Postfix 將信件放在使用者的主目錄下 home_mailbox = Mailbox #home_mailbox = Maildir/ # # 用於將郵件投遞到信箱的外部命令(通常用來過濾防堵郵件) #mailbox_command = /usr/bin/procmail #mailbox_command = /some/where/procmail -a "$EXTENSION" # 用於執行信箱投遞作業的傳輸服務 #mailbox_transport = lmtp:unix:/file/name #mailbox_transport = cyrus # ## # 八、啟用 SASL 驗證(服務於遠端、外部網域使用的認證機制) # 決定 Postfix SMTP server 是否要支援 SASL 驗證 # smtpd_sasl_auth_enable = yes # 設定信件收件的限制規則 # smtpd_recipient_restrictions = permit_mynetworks, # permit_sasl_authenticated, reject_unauth_destination # 確認已經通過認證的網域(這條有點疑問...) # smtpd_sasl_local_domain = # 限制某些登入的方式(拒絕匿名登入) # smtpd_sasl_security_options = noanonymous ## # 九、郵件代轉設定(交換站、入境、出境閘道) # (下列程序示範如何設定 gw.abc.com,讓它將郵件交給正確的內部伺服器) # (1)hr.abc.com, sales.abc.com的DNS MX均指向 gw.abc.com # (2)編輯gw的main.cf檔,將子網域列入 relay_domains 參數 # relay_domains = hr.abc.com, sales.abc.com # (3)設定正確的傳輸表(transport map) # transport_maps = hash:/etc/postfix/transport # (4)編輯傳輸表(編完記得postmap一下) # hr.abc.com relay:[m1.abc.com] # sales.abc.com relay:[m2.abc.com] # (5)彙整m1,m2的合法信箱名單成一個受理名單,放在gw上 # relay_recipient_maps = hash:/etc/postfix/relay_recipients # (怎麼收集、更新,是個大問題) # (6)postfix reload # # 設定出境郵件閘道(將外地郵件交給閘道系統代為遞送) # relayhost = $mydomain # relayhost = gateway.my.domain # relayhost = uucphost # relayhost = [an.ip.add.ress] # # 拒絕不知名用戶的代轉 REJECTING UNKNOWN RELAY USERS # (其實是將所有合法使用者放入一個名單中) #relay_recipient_maps = hash:/etc/postfix/relay_recipients ## # 十、設定 Open Relay Data Base # smtpd_client_restrictions = hash:/etc/postfix/access, # reject_rbl_client relays.ordb.org, # reject_rhsbl_client dsn.rfc-ignorant.org ## # 除錯管理 debug_peer_level = 2 #debug_peer_list = 127.0.0.1 #debug_peer_list = some.domain # debugger_command = # PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin # xxgdb $daemon_directory/$process_name $process_id & sleep 5 # 如果並未安裝X-windows可以改用下列: debugger_command = PATH=/bin:/usr/bin:/usr/local/bin; export PATH; (echo cont; echo where) gdb $daemon_directory/$process_name $process_id2>&1 >$config_directory/$process_name.$process_id.log & sleep 5 ## # 其他、安裝時的一些設置資訊 # sendmail_path = /usr/sbin/sendmail.postfix newaliases_path = /usr/bin/newaliases.postfix mailq_path = /usr/bin/mailq.postfix setgid_group = postdrop manpage_directory = /usr/share/man sample_directory = /usr/share/doc/postfix-2.0.16/samples readme_directory = /usr/share/doc/postfix-2.0.16/README_FILES ## |
|
|
|
![]() |
| 目前檢視此主題的會員: 1 (0 位會員和 1 位遊客) | |
| 主題工具 | |
| 顯示模式 | |
|
|
相似的主題
|
||||
| 主題 | 主題作者 | 討論區 | 回覆 | 最後發表 |
| [CentOS] CentOS 5.0 準備起飛 | random67951 | CentOS / RedHat Linux | 0 | 04-28-2008 13:38 |
| [CentOS] 再次談談 CentOS | random67951 | CentOS / RedHat Linux | 0 | 04-28-2008 13:37 |
| [CentOS] 哈,計畫趕不上變化(Centos+MythTV) | random67951 | CentOS / RedHat Linux | 0 | 04-28-2008 13:29 |
| [CentOS] Centos 3.4 and 4.0 Release | random67951 | CentOS / RedHat Linux | 0 | 04-28-2008 13:28 |
| [CentOS] Web Server Optimization Guide for CentOS - RedHat | acid1031 | CentOS / RedHat Linux | 0 | 03-07-2008 12:13 |