2009年7月28日 星期二

邪惡的Archive Mail備份郵件(By MailScanner)

MailScanner有一個邪惡又好用的功能:『Archive Mail』
這個比Forward還要厲害的功能,當你想要存留(備份)用戶收、的信件時,用這就就對了~

1.啟動Archive功能
vim /etc/MailScanner/MailScanner.conf
Archive Mail = /etc/MailScanner/archive.rule

2.編輯Archive規則
vim /etc/MailScanner/archive.rule
基本規則如下:
FromOrTo: User@mail.com* yes forward Admin@mail.com.tw
(收件者或寄件者) (關鍵字,可配合萬用字元) (yes,啟用規則) (forward,動作) (Forward的目標)

※Archive Mail不但可以過濾到本機網域的帳號,也可以以外部帳號作為關鍵字,只要有經過MailScanner掃描的都可以做處理。
※以上只是簡單的例子,Archive Mail還有許多變化跟應用

34 意見:

匿名 提到...

MIS大大 如果沒使用MailScanner是不是就不能使用Archive Mail呢?還有其他辦法可以解決的嗎?謝謝

Yow 提到...

呵~也有只用Postfix的備份方式~
http://i-yow.blogspot.com/2009/07/postfix.html

匿名 提到...

MIS板主@@
請問一下我是用sendmail的
但我設完後用本機root寄信給我其他帳號
他沒有再多寄備份信給其他帳號的信箱 是我哪出錯了@@?

感謝

Yow 提到...

信件有經過MailScanner掃瞄嗎?
archive.rule的規則有設對嗎?(規則項目之間用TAB分隔)

匿名 提到...

This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
收到的mail最下面有這個訊息應該就是有經過了@@

下面是我的設定 我是用機本root寄本機上其他帳號

FromOrTo: aaron@localhost.localdomain yes forward fire@localhost.localdomain sea@localhost.localdomain

匿名 提到...

我在我要寄備份的2個maik間用 「空白鍵」分開 mis板主你說用tab 會超大格的和你po的格式不像


感謝

Yow 提到...

我實際上的的確是很大格,在網頁上呈現的關係,TAB會變成空格。

試試看只設定一次只forward一個地方
FromOrTo: aaron@localhost.localdomain yes forward fire@localhost.localdomain

FromOrTo: aaron@localhost.localdomain yes forward sea@localhost.localdomain

匿名 提到...

謝謝mis先生 果然是格式的問題
那如果要設轉寄到2個箱信是
FromOrTo: aaron@localhost.localdomain yes forward fire@localhost.localdomain(tab) sea@localhost.localdomain

格一個tab這樣嗎?

還有我發現一個小小的問題
他會連病毒信和圾垃信一起轉寄到要備份的信箱
這要怎麼修改


感謝

Yow 提到...

是的~ 多個目標信箱隔開就可以了~
至於病毒信和圾垃信
沒有找到在Archive Mail檢查Header的例子.....
建議可使用Procmail,再送到MailBox時檢查Header把病毒信和圾垃信移除。

匿名 提到...

mis大大 請問如果本公司網域是123@abc.com
可以設定除寄到*@abc.com以外的信都備份起來嗎

Yow 提到...

試試看規則設成

FromOrTo: *@abc.com yes
FromOrTo: * yes forward 123@abc.com

第一條符合後面就不會繼續做

匿名 提到...

不好意思 mis大大
請問如果用postfix的備份方式
可以達到這個效果嗎

Yow 提到...

不好意思~還沒有找到POSTFIX的例外設定方式耶~

匿名 提到...

真是麻煩您了!mis大大
還是有哪一套mail server有這種功能

Yow 提到...

其他的Mail Server我就不太清楚了,使用第三方軟體的功能會比較齊全~

另,
你可以試試看正規表示式,把規則改成

@.+[^abc].com bcc@abc.com

[^abc]就是要排除的關鍵字,
不過我沒這樣設過....不確定會不會成功

匿名 提到...

@.+[^abc].com bcc@abc.com
用了 還是不行
不過很感謝您mis大大

匿名 提到...

你好,
請問一下它是否能夠轉寄完順便刪除?
變成有點把帳號當作群組名稱使用這樣?

Yow 提到...

似乎找不到forward 以外的動作.....你可以試試看搭配procmail來把信件清掉

匿名 提到...

請問若是想全公司的mail都做一個備份到某帳號請問要怎麼做呢,?

匿名 提到...

應該說如果比如有十個用戶

user1@domail.com.tw,user2@domail.com.tw,user3@domail.com.tw,想要都自動備份到 back@domail.com.tw.這樣如何設定呢

想說能不能一行解決不然就要打很多行

Yow 提到...

備份全公司的郵件可以用
FromOrTo: *@domail.com.tw* yes forward Admin@domail.com.tw

如果是特定的十個帳號可以看看帳號有沒有共特的關鍵字、特徵可以當條件,沒有的話就只能單獨設規則了....

匿名 提到...

請問這有沒有辦法設例外 ?
例如
給A的信除了來自yahoo.com之外, 都轉一份給B ?

Yow 提到...

試試看
From: *@yahoo.com and To: A@abc.com deliver
FromOrTo: A@abc.com yes forward b@abc.com

匿名 提到...

請問
From: *@yahoo.com and To: A@abc.com deliver
中間也是 [tab] 區隔嗎 ?
我再測試看看

ifong Tsai 提到...

版主你好
我想請問一下我
service MailScanner status

得到Checking MailScanner daemons:
MailScanner: [ OK ]
incoming sendmail: head: cannot open `/var/run/sendmail.in.pid' for reading: No such file or directory
[FAILED]
outgoing sendmail: [ OK ]
是因為有缺少檔案嗎

Yow 提到...

那個錯誤是因為他要使用sendmail,你裝的MTA是sendmail還是postfix?
要在MailScanner.conf裡面設定你使用的MTA

ifong Tsai 提到...

應該是sendmail不是postfix
來了這間公司才開始研究這東西
查了postfix狀態都是not running

ifong Tsai 提到...

檢查了MailScanner.conf
裡面有一字串是 MTA = sendmail
是需要檢查這部分嗎?

Yow 提到...

是not running還是unrecognized service?
sendmail有在跑的話應該會有/var/run/sendmail.pid呀~

Yow 提到...

對~是 MTA = sendmail

ifong Tsai 提到...

[root@mail ~]# postfix status
postfix/postfix-script: the Postfix mail system is not running
postfix是not running
[root@mail ~]# vi /var/run/sendmail.pid
3394
/usr/sbin/sendmail -bd -q1h
跑了這玩意兒

Yow 提到...

你有先把sendmail停止嗎?
要由MailScanner去啟動sendmail

ifong Tsai 提到...

不好意思,我是MIS菜鳥
對mailserver的一些設定還在摸索,研究當中
感謝你的一語點醒
我剛才將 service sendmail stop
直接將 service MailScanner start後
在我的backup mail的incoming和outgoing就正常了
感謝!!MIS大大

Yow 提到...

不客氣~ 很高興幫的上忙~

##EasyReadMore##