FrontPage 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS TypeKey ログイン

スケジュールをメール送信

内容

カレンダーの内容を該当日にメール送信します。具体的には、カレンダー名/YYYY-MM-DD形式のページが保存される際にコマンドがatに与えられ、YYYY年MM月DD日の指定の時間に指定のアドレスにページソースがメールで送信されます。ページが削除されるとatのキューから取り除かれます。

必要な環境

  • atが使えるシステム
  • wiki.cgiの実効ユーザがatを利用できること
  • mail, nkf

インストール

  1. pluginディレクトリとlibディレクトリのファイルを設置する。
  2. configディレクトリにあるatschedule.datを編集し、設置する。
  3. 管理画面からatscheduleプラグインのチェックボックスをonにする。

ファイル構成

プラグインモジュール

atschedule/Install.pm
インストール用
atschedule/HandleAt.pm
atに処理内容を指定します。

lib以下に置くモジュール

下記のCPANモジュールを利用しています。展開したディレクトリ通りにlibにコピーしてください。

設定ファイル

atschedule.datをconfigに置きますす。サンプル:

wikiid=test
command=nkf -j $^page | mail -s '$^subject' $^user
sendtime=0800,0700
tagnames=カレンダー,スケジュール
users=foo@example.com,bar@example.com
subject=本日のお勤め,スケジュールですよ

説明

command=nkf -j $^page | mail -s '$^subject' $^user

atに渡すコマンド。$^page, $^subject, $^userは順にwikiデータへのパス、タイトル、送り先に置換されます。通常修正の必要はありません。

tagnames=カレンダー名,カレンダー名2,...

atschduleの処理対象となるカレンダー名を指定します。カレンダー名/YYYY-MM-DDが保存、削除される際に処理されます。カンマで区切ることで複数指定できます。

users=emailアドレス1,emailアドレス2,...

送信先アドレス。カンマで区切ることで複数指定でき、tagnamesでの複数指定の順番に対応します。

subject=タイトル1,タイトル2,...

メールのタイトル。カンマで区切ることで複数指定でき、tagnamesでの複数指定の順番に対応します。

sendtime=0800,0700

送信時間。hhmmで指定します。カンマで区切ることで複数指定でき、tagnamesでの複数指定の順番に対応します。

上記のサンプルではスケジュール2004-12-20は朝7時にbar@example.comにメールされます。

wikiid=ユニークな値

一つのサーバで複数のFSWikiを設置していて、同じカレンダー名を利用している場合に、識別の為に必要になります。複数FSWikiを使用していないなら特に設定する必要はありません。また、wikifarm親子間で同じカレンダー名を使っても識別に問題はありません(ただし設定ファイル自体は必要です)。

mod_perlでの利用

wiki.cgiの

if(exists $ENV{MOD_PERL}){

のところで

eval("use Schedule::At");

を加えます。

留意点

  • 社内用に作ったもので、セキュリティについては考慮していません。ご利用の際は各自ご注意ください。