- 论坛徽章:
- 0
|
使用 procmail 做寄出備份
這或許稱不上百年問題吧~~
![]()
我的感覺並沒有中文處理等來得難
這篇文章我只介紹寄出備份,至於寄出過濾請依自己的功力發揮了
寄出備份的做法很多,至少我就看過四種 ,但是有三種都會有 delay time ,
用 procmail 也會有一點點微不足道的 delay time, 因為一封信要經過兩次的 sendmail process
開始前請先做好現行 sendmail 環境的備份工作,以免出包~~
其中最重要的 .mc 及 .cf 別漏了,
此處我們還會再用到, 以本例而言,請將 sendmail.cf 改為 sendmail.cf.1
以供 procmail 使用
1. sendmail.mc
編輯 sendmail.mc 檔,在
MAILER(smtp)dnl
這一行後加上後面內容:
代碼:
MAILER(`procmail')
LOCAL_CONFIG
CP PROCMAIL
LOCAL_RULE_0
R$*
$: $1
mark all
R $*
$: $2
skip route-addr
R $* $: $>3 $1
@ $2
already filtered
R $*
$: $1
already filtered
R $*
$: $1
remove dot
R $*
$: $1
send to procmail
R $*
$: $1 send to procmail
以上請注意 鍵, $: 前的空白是 TAB 鍵哦,而後的像
mark all,skip route-addr..得也都是 TAB 鍵區隔,
再用 m4 做出 sendmail.cf 檔,而您的 sendmail.mc 要支援 mailertable,
也就是下面的內容
代碼: FEATURE(`mailertable',`hash -o /etc/mail/mailertable.db')dnl
2. 編輯 mailertable 檔
引言回覆: PROCMAIL procmail:/etc/procmailrc_out_filter
.PROCMAIL procmail:/etc/procmailrc_out_filter
記得 makemap 即可...mailertable 是做什麼的也不要問我哦~~夜深了
3. 設定 /etc/procmailrc_out_filter
代碼: PATH=$PATH
SHELL=/bin/sh
LOGFILE=/etc/mail/procmail_out.log
VERBOSE=ON
:0 H
| sendmail -C /etc/mail/sendmail.cf.1 -oi -t copy_mail)
其中 copy_mail 使用一個收件者,其他的處理就和 進信的一樣,唯一要注意的是
所 call 的這個 sendmail -C 舊的cf ...
什麼? 就這樣....沒有錯,至少我用都沒有問題.大家會不會有問題我就不知了,
主要跟你的 sendmail.mc 有很大的關係吧 (mailertable 那一項莫忘)
要做寄出過濾條件就寫在後面,但請記得,用 pipe (|) 轉給正常的 sendmail -C 舊cf...
不然會一直 queue 住,因為沒有 mailer
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/12354/showart_103662.html |
|