Postfix Mail Server Manage ( 郵件伺服器管理 )

12/3/2006来源:Qmail人气:7151

最後修改日期: 2005/05/09
@. Queue 管理

#mailq
# 使用 mailq 檢查曾經發經發送的電郵

-Queue ID-------Size------Arrival Time------Sender/Recipient-------
D7982233D37 2936 Fri May 6 00:18:16 [email protected]

#postcat /var/spool/postfix/deferred/1/17461233D42 # 把在 mail queue 內的電郵內容顯示出來
#postsuper -d A1F23E009A # 刪除 mail queue 內還未發送的信件
#postsuper -d ALL
# 刪除所有 mailq


@. Mail 郵件內容過濾管理

Postfix 的郵件的分析與過濾管理
:採用 header_checks 及 body_checks 的方式其為正規表示法 ( Regular ExPRession, RE ) 來進行設定,其方式是真對郵件的 Header 及 Body 去過濾,何謂 Header?即郵件上面的資訊 ( 包括 寄件者 From:、收件者 To:、地址、與信件標題 Subject: 等 )何謂 Body?即是對方寄信給你的時所書寫的內容。

#vi /usr/local/etc/postfix/main.cf

header_checks = regexp:/usr/local/etc/postfix/header_checks

body_checks = regexp:/usr/local/etc/postfix/body_checks

寫法說明


『.』:代表任意字元
『\』:代表跳脫字元,可以讓後面接的一個字元變成一般字元;
『*』:代表重複零個或多個前一個 RE 的字元,例如『.*』則代表任意零個或多個字元的意思;
『^』:代表『這一行的第一個字元需要符合規則』的意思;
『$』:代表這一行的最後一個字元必須要符合這個字元的意思,

單一規則的設定標準:

/規則/ 動作 顯示在登錄檔裡面的訊息
/^Subject:.*A funny game/ DISCARD drop header deny

#vi /usr/local/etc/postfix/header_checks

# 範例
:header_checks

/filename\=\".*src\.exe/ REJECT Virus
filename is unavailable header
/filename\=\".*\.cpl\"/ REJECT Virus filename is unavailable header
/name\=\".*\.bat\"/ REJECT Virus filename is unavailable header
/name\=\".*\.scr/ REJECT Virus filename is unavailable header

/^Subject:.*Hello\,.*\,how\ are\ you.*/ DISCARD Virus drop the unavailable header
/^Subject:.*W32.*removal\ tools$/ DISCARD Virus drop the unavailable header
/^From:.*rayman\.com\.cn/ DISCARD Commercial unavailable header
/^From:.*\@263\.net/ DISCARD Commercial unavailable header
/^To:.*\[email protected]/ DISCARD Commercial unavailable header
/^To:.*apatite.*\

#vi /usr/local/etc/postfix/body_checks

範例
body_checks

/http\:\/\/168\-news\.com/ DISCARD Commercial drop the unavailable body
/http\:\/\/.*edms\.tv/ DISCARD Commercial drop the unavailable body
/mailto\:.*\@126\.com/ DISCARD Commercial drop the unavailable body
/mailto\:.*\@powererp\.org/ DISCARD Commercial drop the unavailable body
/0982\-281\-125/ DISCARD Commercial unavailable body
/www\.email104\.com/ DISCARD Commercial unavailable body
/\/nomail\.gif\"/ DISCARD Commercial nomail unavailable body
/\/nomail\.htm\"/ DISCARD Commercial nomail unavailable body


#postmap -q - regexp:/usr/local/etc/postfix/header_checks < /usr/local/etc/postfix/header_checks # 不需要重新啟動 postfix,設定立刻生效

@. Mail 連線 IP 管理

擋掉惡意 Spam 攻擊的 IP 網段 CIDR (Classless Inter-Domain Routing) postfix 2.x 之後的版本應該都支援這個用法,它可直接編輯允許連線及不可連線的 IP 網段
挺不錯用的 ^^ 可是有問題 .. 在我的機器上掛上就收不到信還是需要再 try 看看 ...

#vi /usr/local/etc/postfix/main.cf

smtpd_client_restrictions = cidr:/usr/local/etc/postfix/client.cidr


#vi /usr/local/etc/postfix/client.cidr


# Sapm IP Groups
220.163.0.0/16 DISCARD spam
218.62.0.0/16 DISCARD spam
218.63.0.0/16 DISCARD spam
61.159.0.0/16 DISCARD spam

#postmap -q - cidr:/usr/local/etc/postfix/client.cidr < /usr/local/etc/postfix/client.cidr
#postfix reload

原文来自:
http://freebsd.ntut.idv.tw/document/postfix_mail_manage.html