メールでの操作について
「メールサーバ情報の設定」
IrKeyMntの「Mail」タブの内容を設定して下さい。
「VTR等録画コマンドの設定」
IrKeyMntの「Application」タブに録画指示のコマンドを設定して下さい。
<設定例>
「R1」のコードを受信した場合、VTRの電源を入れてチャンネル1にした後、録画指示を出す。
「R3」のコードを受信した場合、VTRの電源を入れてチャンネル3にした後、録画指示を出す。
「RSTOP」のコードを受信した場合、VTRの電源を切る。
$Chの変数設定も必要です。私が使っているWinDVRでの例です。 App = R1,,ALL,,,CH1録画(WinDVR),Value($Ch,1);File("Command/WinDvrRec.dat"); App = R3,,ALL,,,CH3録画(WinDVR),Value($Ch,3);File("Command/WinDvrRec.dat"); App = RSTOP,,ALL,,,録画停止(WinDVR),File("Command/WinDvrStop.dat"); WinDvrRec.dat,WinDvrStop.datの内容は直接ファイルを開いて参考にして下さい。 |
「メールの監視設定」
IrKeyのタイマー機能で定期的にメールをチェックするように指定しておきます。
;15分毎にチェックする時のIrKey.dat記述例です。(IrKeyMntで設定して下さい) App = None,,ALL,000000001,001500,メールチェック,MailCheck(); ;メールチェックがエラーストップした時のために定期的に初期化します ;MailCheck()の有効状態を再度ファイルから初期化するだけです App = None,,ALL,000000001,003000,メールチェック初期化,InitMail(); |
「メールでの指示方法」
メールからの指示はSubjectの内容で行います。本文は見ません。
以下の様な形式で指示内容を記述します。使用文字種は全て半角にして下さい。
ETCHHMMSSR1 HHMMSSRSTOP ... REPLY
先頭の「ETC」はIrKeyMntの「Mail」「Keyword」を「ETC」と設定した場合です。先頭にだけ付けます。
「HHMMSS」は時分秒です。
「R1」は指示内容で、このコードを受信した時のコマンドが実行されます。指示内容が数字2桁で始まる場合は時刻を必ず時分秒の6桁で指定する必要があります。
この時時刻を「99」または「9999」、「999999」で指示するとすぐにコマンドが実行されます。
コードが「CLEAR」または「CLR」の場合は、指定時刻の予約情報をクリアします。全ての予約情報をクリアする場合は「99CLR」で行います。特定時だけクリアする場合は、分を「99」にします。
時刻を指定する時の分と秒は省略できます。また、各時刻情報の区切りにコロンを付けても構いません。(10:12:13等)
「REPLY」を指定すると、正常に指示を与える事のできたメール数(コマンド数ではありません)を返信します。1件も正常な指示が無かった場合は何も返信されません。また、メールの本文にはタイマー登録されている情報を格納して返信します。ただし、「REPLY」だけの指定では返信されません。必ず「0000CLR」等とセットで指示して下さい。
命令の記述数はSubjectの文字数に依存、かつ10コマンド以内です。
命令間はスペースで区切ります。
実際の指示例
全ての予約を取り消して、21:00からCH12の録画を開始、22:54で停止。指示結果をメールで返信の場合。 以下は全て同じ指定になります。 ETC9999CLR 2100R12 2254RSTOP REPLY ETC99CLR 21R12 2254RSTOP REPLY ETC99:99CLR 21:00:00R12 22:54:00RSTOP REPLY ※実際の録画開始は、開始までのタイムラグがありますので1分早く予約する方が良いです。 21:00台の予約をクリアする例は以下のようになります。どちらでも同じ結果になります。 |
「Perlプログラムの実行指示方法」
Perlを実行した結果をメールで受け取れます。
基本的な操作は「メールでの指示方法」と同じで以下の様になります。
「REPLY」の後にコロンを付けてPerlで書かれたプログラムファイル名を指定します。
この場合、irkey.exeと同じ所にgetip.plが存在していると仮定していますが、他に置いた場合は絶対パスで指定します。
REPLY単独での使用が可能です。
Perlプログラム内で入力を待ったりするようなものを実行するとIrkeyが停止しますのでご注意願います。
ETCHHMMSSR1 HHMMSSRSTOP ... REPLY:getip.pl
ETCREPLY:getip.pl
Perlプログラムにコマンドパラメータを渡せるようにしました。(Ver2.40)
ETCREPLY:"windump.pl aaa@bbb.ccc.com" → メールアドレスを渡します。
ETCREPLY:"windump.pl @reply@" → @reply@は返信先メールアドレスを渡す専用キーワードです。
aaa@bbb.ccc.comからのメールであれば@reply@はaaa@bbb.ccc.comに変換してPerlプログラムに渡されます。
このキーワードは下記の記述を行う事で変更する事ができます。(Irkey.Inf)
[Mail] ReplyKeyword=@replyword@ <- ここで設定します |
この例ではwindump.plにメールで指示を与えると画面をダンプして暗号化し、添付ファイルにしてパラメータで指定されたアドレスに返信するというものを想定しています。
この機能を使うと、DOSコマンドを渡してPerlプログラムで実行してあげれば簡単にメールでコマンドを実行する事ができます。ただしセキュリティに注意する必要がありますので、指定されたコマンドしか実行できないようにするとかの工夫が必要です。Perlに詳しい方は作成してみたらいいと思います。
「インターバルタイマー実行間隔の変更」
一時的にインターバルタイマーで動いている処理の実行間隔を変更する事ができます。(Ver2.40)
通常は5分毎にチェックしているメールを、一時的に10秒間隔に変更したりする時に使用します。
ETCINTERVAL:15[:60]:CODE1[:CODE2]
ETCは前述の通り、メール指示用のキーワード、INTERVALがインターバルタイマーの実行間隔変更指示キーワード。
15の部分に何秒間隔か指定。
60の部分に最大何秒間時間変更を継続させるかを指定。無指定の場合は1回のみ。
CODEの部分に何の処理かを指定します。IrKeyMntで登録した時のCODEです。
「セキュリティ対策について」
メールによる指示では以下のセキュリティ対策があります。
・どこから来たかチェック。IrKeyMntの「Mail」、「Sender」に設定されているアドレスからしか操作できません。(大文字、小文字は区別しません)
・指示内容の行頭文字チェック。IrKeyMntの「Mail」、「Keyword」内容の一致。
外出先でPHSから操作したかったので、暗号化等の処理はできません。もし不正使用らしい事があれば、IrKey.logにアクセス記録が保存(最大500Kバイト)されていますので、確認の上で「Keyword」の変更等を行って下さい。
一応APOPに対応していますので、メールサーバーもAPOP対応していればパスワードの漏洩はほとんど無いと思われます。
「チェックするメールについて」
デフォルトではメールヘッダーも含め、2Kバイトまでのメールだけをチェックします。もし不足する場合はIrKey.Infファイルに以下の記述を行って下さい。メールサイズはログファイルを参照する事で調べられます。
[Mail] CheckSize=2000 <- このサイズを大きくします |
「無応答監視タイマーについて」
メールチェック処理で、20秒間無応答が続いた場合はタイムアウトになります。多くの環境では設定する必要が無いと思われますが、遅い環境でどうしてもタイムアウトする場合は以下の設定で長くする事ができます。
[Mail] Timeout=20000 <- このサイズを大きくします(ミリ秒) |
「端末側での予約確認」
Menu()関数にメールでの予約一覧表示機能が追加されています。Menu("Mail")で表示されます。
「付録機能」
メールが到着しているとタスクトレイに表示されているIrKeyのアイコンが郵便受けになり、マウスをアイコンに持っていくと届いているメール数が表示されます。
「注意事項」
指示が正常でも確実に動作する保証はできません。利用者の責任で使用して下さい。
電熱器等、無人では危険が伴うものの操作は行わないで下さい。
メール削除機能も追加してありますが、万が一誤動作を起こして別のメールを削除しても作者は責任を負えませんので、利用者の責任でご利用願います。
メールサーバ上に256件以上のメールを溜め込んでいる場合、正しく動作できなくなる場合があります。
メールサーバ上に指示メールが残っている状態でIrKey.exeを再起動して、再度メールチェックすると、一度処理された指示メールが再設定されます。(メモリ上で処理済みチェックを行っているためです)
メールのセキュリティは全く無いと言っても過言ではありません。もし、盗用されても重大な被害を及ぼさない範囲でしか操作できないようにして下さい。
Copyright (C) 2001-2004 T.Sagae All Rights Reserved.