最近剛好客戶有這樣的需求...例如:
Question:
有廠商向公司下訂單...收件者是經理...不過董事長也想要有這封信...不過董事長不想要所有寄給經理的信他也一份...他只想要這些特定廠商訂單的信件...這時該怎麼做呢?
Answer:
在找了一些資料後...發現利用 Procmail 應該是最簡單的方法...因為他不想要經理的所有信件...所以不能用 .forward 的方式...而且要指定來源信箱...當然在經理Client 端的郵件過濾那邊也可以做...不過董事長不想讓經理知道的話...也許就可以利用 Procmail 的強大功能囉...
不懂有關 Procmail 的設定? 可以先參考之前的說明囉...
http://www.adj.idv.tw/phpBB2/viewtopic.php?t=946
做法...底下以自己的設定為例:
#vi /etc/procmailrc
加入這一行...
複製內容到剪貼板
代碼:
#轉信給本機帳號
:0 c
* ^From:.*adj@msa.hinet.net
* ^To:.*adj@adj.idv.tw
service
這樣的話...只要來源是
adj@msa.hinet.net 的信件...寄給
adj@adj.idv.tw 的信...都會轉寄一份給本機的帳號 service...
複製內容到剪貼板
代碼:
#轉信給外部帳號
:0 c
* ^From:.*adj@msa.hinet.net
* ^To:.*adj@adj.idv.tw
! adj@msa.hinet.net
這樣就會把信轉寄一份給外部信箱
adj@msa.hinet.net複製內容到剪貼板
代碼:
#直接導信給本機帳號...收件者收不到
:0 Hw
* ^From:.*adj@msa.hinet.net
* ^To:.*adj@adj.idv.tw
service
這樣的話...收件者
adj@adj.idv.tw 會收不到信...直接將信寄給 service
注意它只差在 ":0 Hw" 而已...
複製內容到剪貼板
代碼:
#轉信包含中文主旨
:0 c
* ^From:.*adj@msa.hinet.net
* ^To:.*adj@adj.idv.tw
* ^Subject:.*?B?rXGz5g=
service
?B?rXGz5g= 是"訂單"的意思
複製內容到剪貼板
代碼:
#來源有兩個E-Mail 以上
:0 c
* ^From:.*adj@msa.hinet.net
* ^To:.*adj@adj.idv.tw
service
:0 c
* ^From:.*adj@giga.net.tw
* ^To:.*adj@adj.idv.tw
service
以上是如果要過濾來自兩個不同來源的話...必須多寫一段...像如果不止service 要收的話...也是多加上一段去就可以...
目前這樣的做法可以處理比較單純的過濾...如果還有其它需求的話...就要再Try 看看囉..
有興趣的人可以試試看...滿好玩的...^_^...
要是大家有更好的 idea ...也歡迎一起討論囉...