Perlでメールを受け取る
id:eiji8pou:20050118:1106034460の続き
http://homepage3.nifty.com/hippo2000/perltips/rcvmail.htmを参考にする。
ヘッダーをいじって、独自ヘッダーにセッションIDを忍ばせるのが自分にもユーザーにも認証が楽かも。
- バナーが表示された時、内部でメールチェックプログラムが起動する。
- メールチェックを行い、メールがなければそのまま終了。メールがあった場合は、下記工程をメールの数だけ繰り返す。
- ヘッダーを見て、メールアドレスとセッションIDを調べて認証する。
- 日本語化したサブジェクトの先頭二文字(4バイト)をコマンドとみなし、残りを引数とみなす。
- コマンドは日本語(漢字)なのを、ハッシュを使ってアルファベットの内部コマンドに変換。変換できないコマンドは不正なコマンドとみなす。
- その後、コマンドに引数を与えて実行。
- 途中経過も含み結果は全て記録し、最終的にユーザーに向けて返信する。この時、セッションIDを書き換えるかも。
- 不正コマンドメールは、もしかしたら人間が人間に問い合わせしたものかも知れないので、人間宛に転送。
- メールの受信時刻、ユーザー、認証結果、コマンドとその引数、その結果はログとして記録。
こんなところかのー。