次のページ
前のページ
目次へ
さて全て動作しました。もし動作しなかったらちゃんと動作するまで自動化は
しなようにして下さい。ここでスクリプトが必要です。
procmailrcファイルにユーザーを追加するために"メール管理者"やrootユーザー
に我慢する必要はありません。以下の例は経験のあるユーザー用のものです。
いくつか変更する必要があります。方法BのSubject行を使った例ですが、簡単に
方法Aのものに変更することができます。方法Bは方法Aよりも(安く)実現できるの
で著者は方法Bを使いました。何回となく聞いてきましたが...。あなたをいらつか
せる(bug) :))) 方法について :)) 書いています...。
フッタはフッタであることが必要なので(返信するので以下は全て処理されません)、
ヘッダファイルとフッタファイルが必要です。
".procmailrc-header"について
このファイルは「"ヘッダ"と"ユーザー"」ファイルです。
ここでユーザーが追加されたり削除されたりします。とても重要なファイルです。
ユーザーを追加するときはバックアップをとるようにしましょう。システムエラーを
引き起こす何か悪いところがあるかもしれません.....。
(*** < file > *** text ***) .procmailrc-header
:0 c
passtrough
:0
* ^To:.*freaker@ibm.net
! freaker
:0
* ^Subject:.root
! root
:0
* ^Subject:.barbara
! barbara
:0
* ^Subject:.paul
! paul@his.personal.emailaddress
:0 c
* ^Subject:.john
! john@his.personal.emailaddress
:0
* ^Subject:.john
! john
:0
* ^From:.*newsletter@ibm.net
! freaker
:0
* ^FROM_DAEMON
throwaway
".procmailrc-footer"ファイル
上述したように.procmailrc ファイルにはフッタが必要です。
以下のコードはユーザーに配送するメール以外のヘッダの処理をします。
このフッタは上記した.procmailrc-header に載っていないユーザー宛ての
メールを返信するコードが含まれています。ただのファイルの終りというわけで
はありません!
(*** < file > *** text ***) .procmailrc-footer
:0
|(/usr/bin/formail -r -k \
-A"X-loop: mailservice@mydomain.dom "| \
/usr/bin/gawk '{print }\
/^/ && !HEADER \
{ system("/bin/cat nosuchuser"); \
print"--" ;\
HEADER=1 }' ) |\
/usr/bin/sendmail -t
exit
このスクリプトはヘッダファイルにユーザーを追加するものです。ヘッダとフッタが
結ばれています。これで完全な.procmailrc ファイルになります。
"#"(コメント)は特に必要ではありません。あなた自身が情報を
書き込んで下さい。
(*** < file > *** code ***) addmail (* chmod 500 *)
#/bin/sh
#
# Copyright (c)1997 by Gunther Voet. rev 1.0.1
# please leave the Copyright in it when it is distributed with any
# system using this thingy ..
echo ""
echo "Addmail v1.0.1 by Gunther Voet, Freaker / TuC'97-98 (21/04/97)"
echo ""
if [ $1 ]; then
if [ $2 ]; then
# バックアップファイルの作成!
cp /home/mailserv/.procmailrc-header /home/mailserv/.procmailrc-backup
# (>>) ヘッダファイルに情報を追加。
echo ":0" >> /home/mailserv/.procmailrc-header
echo "* ^Subject:.$1" >> /home/mailserv/.procmailrc-header
echo "! $2" >> /home/mailserv/.procmailrc-header
echo "" >> /home/mailserv/.procmailrc-header
# ヘッダファイルを.procmailrcにコピーしてフッタファイルを追加する。
cat /home/mailserv/.procmailrc-header > /home/mailserv/.procmailrc
cat /home/mailserv/.procmailrc-footer >> /home/mailserv/.procmailrc
# "mailserv"の所有権を確認する。読み書きの権限は"mailserv"ユーザー
# のみにあるようにする。
chown mailserv /home/mailserv/.procmailrc
chgrp users /home/mailserv/.procmailrc
chmod 600 /home/mailserv/.procmailrc
else
echo "No DESTINATION mail address has been given ..."
fi
else
echo "usage:"
echo ""
echo "syntax: addmail from_user to_user(domain)"
echo ""
echo "example: addmail freaker freaker@myemail.dom"
echo ""
fi
このスクリプトはヘッダファイルにメールアドレスとユーザー情報
を追加します。 .procmailrc に情報をコピーしてフッタを追加します。これで
メールを処理するための .procmailrc が完成します。ユーザーを削除したいとき
は.procmailrc-header ファイルを編集するだけです。次からはユーザーを追加
する時に.procmailrc から削除されます(訳注:つまりこの方法ではユーザーを
削除する時は.procmailrc ではなく.procmailrc-header で削除して
おきます)。すぐに削除する必要がある時は.procmailrc-header
と.procmailrc の両方のファイルからユーザーを消しておいて下さい。
[訳注:まとめると、
- "
.procmailrc " : procmail用ファイル
- "
.procmailrc-header " : ユーザーの追加/削除
- "
.procmailrc-footer " : ユーザー以外の処理
となります。]
次のページ
前のページ
目次へ
|