iT邦幫忙

0

postfix header_check IF endif用法

請問一下
我用header_check中下,
if /^From:.*a@b.com.tw./
/^To:.*a@b.com.tw./ DISCARD testing
endif
好像沒有做用,請問一下postfix header_check有支援這種語法嗎?

1 個回答

2
cafebug
iT邦高手 2 級 ‧ 2009-11-06 16:16:51
最佳解答

這樣子如何 ? (Domain裡的.要跳開)

if /^From:.*a@b\.com\.tw/
/^To:.*a@b\.com\.tw/ DISCARD testing
endif

看更多先前的回應...收起先前的回應...
zpple iT邦新手 3 級 ‧ 2009-11-06 16:40:27 檢舉

不行,還是寄的到

cafebug iT邦高手 2 級 ‧ 2009-11-06 17:36:49 檢舉

請問你的Postfix版本是 ?

cafebug iT邦高手 2 級 ‧ 2009-11-06 19:11:18 檢舉

我剛剛看了一下header_check 與 body_check都不支援這種條件式的regexp過濾, 他們只支援簡單的一行一個條件的過濾, 如果要這種條件式的過濾規則, 要自己做content filter, 請參考下列連結做進一步的研究: (66...)

http://www.seaglass.com/postfix/faq.html#ubecdchk

建議安裝SpamAssassin來設定過濾條件,功能會比較完整有彈性

zpple iT邦新手 3 級 ‧ 2009-11-07 13:35:41 檢舉

原本有用SpamAssassin,但有時用戶寄信時,CPU負載太大,造成信件一直卡著,然後馬上又有人寄信,信就一封一封卡著,最後當機了,才關了
謝謝

有加上:regexp字樣嗎?
有reload過嗎?
單一條件而不是兩個條件的話,
也就是拿掉if, endif,是否可過濾掉單一條件的信,
是否過濾得掉嗎?
如果單一條件過濾不掉的話,
是否用 指定的、列舉的、非 regular expression的方式,可過濾掉嗎?
試試這些把問題拆成更小一點的方式來試,
才可能知是怎樣的情況可以,或不可以。

zpple iT邦新手 3 級 ‧ 2009-11-09 10:05:54 檢舉

有 regexp, postfix reload
單一條件可以過濾,主要是if endif不會動

cafebug iT邦高手 2 級 ‧ 2009-11-09 11:16:37 檢舉

請參照下列連結(Postfix FAQ)的第65點, 它已經說明了header_check 與 body_check設計上本來就是用於簡單的檢查, 並不支援條件式的filtering ...

http://www.seaglass.com/postfix/faq.html#ubecdchk

基本上Postfix很有彈性, 建議你把貴公司的mail server架構給分層一下, 例如: 你有兩條對外線路,前端架兩台Postfix+SpamAssassin,專門用來做第一層的過濾與把信接進來,順便有redundant的功能, 然後這兩台都設transport table, 把信轉到後端的mail server做真正的mailbox storage, 這樣就不會有卡信的問題存在..

zpple iT邦新手 3 級 ‧ 2009-11-09 11:19:15 檢舉

看來沒有方法,伺服器就沒有幾台,所以幾乎都同一台做全部的事,機房連泠氣都太熱了,再開幾台來,會更熱
謝謝

我要發表回答

立即登入回答