写メールBBS

写メールBBS

- Takahiro Kagoya の投稿
返信数: 16

学生の携帯電話の使用率はどこの学校でも増えていて、授業中の利用などで困っていらっしゃる先生方も多いと思います。しかし逆に考えれば、学生がいつでもどこでも学習に取り組める道具があるわけで、それを有効に授業に活用することも考えられると思います。

それで、Moodleですが、このサイト全体の携帯電話からのアクセスはさすがに厳しいと思います。(PDAからなら私自身が使ってますから、それなりに利用できますが。)

そこで、カメラつき携帯電話を授業で有効活用するという点で、写メールBBSをMoodleの活動の一つとして組み込めないでしょうか。

参考URL: http://php.s3.to/bbs/bbs7.php  http://php.s3.to/php/mailbbs.php 

このスクリプトはすでにPHPで書かれています。他力本願ですが誰かMoodleのモジュール化してくれないかなぁ...と思っています。きっとMoodle本家でも興味をもってもらえると思うのですが、PHPソース内のコメントが日本語で書かれているので、その辺も考慮しないといけないかなぁと。
それと、コース毎にメールの送信宛先をうまくコントロールする仕組みも必要でしょうか。

xoopsではすでにモジュール化されているようです。

でも以外と、カメラ付携帯電話が多いのは日本だけだったりして。

それと、写メールBBSというのが日本でしか通用しない言葉なので「Eメールに添付された画像やファイルを本文と一緒に自動的にPHPで取り込み、フォーラムに投稿できるモジュール」とでも解説するといいかもしれません。

長文になりましたが、この主旨の英訳文を本家で投稿していただけないですか。>Timさん。
英作文に自信がないので...複雑な 英訳したテキストを送って頂いて私が投稿するのでもいいですが。

Takahiro Kagoya への返信

Re: 写メールBBS

- Ryoichi Nakayama の投稿

携帯端末利用には魅力を感じます。
しかし、認証をどうするかということが最大の問題だとおもいます。メールできたデータをどのように
して、どの学生から投稿されたものか、正しく判別するのは難しい。fromヘッダではダメですし。
日誌と選択だけでも携帯端末から利用できるといいなと思っていますが、PDC端末は世界では
特殊ですので、日本で対応しないと(他国では端末が無いのでできない)いけないかと。
携帯端末はクッキーを食べないので、認証の方法を変更しなければならないのが最大の課題
のような気がします。これらも日本から提案・プロトタイプぐらい出さないとだめかな。
一緒になって、やる人いますか?

Takahiro Kagoya への返信

Re: 写メールBBS

- Timothy Takemoto の投稿

ごめん。このフォーラムに参加していなく、見過ごしてしまいました。
私も大賛成です。
どこかで投稿したか覚えていませんが、私は出席管理のために一種の写メールBBSがほしいです!

Nucleusもmovable typeもこのような機能があります。

実は私はいつかやってみようと思っていましたが、無理でしょうから時間をいただければ英訳して投稿します。

以下のメールを以前うちの大学のオンライン教育メーリングリストに投稿しました。

 

今日は大学センターからのルールブックみたいなものが届けました。
その中で

「出席管理について。。。
大規模になると出席管理は面倒なものですが、出席を採らないと満足な
学習を行う受講者は非常に少なくなるもおと思われます。そこで、
あらゆる授業で出席を採ることをお願いするものです。」

とあります。しかし大規模な授業(例えば200人)で出席をとるには授業の半分を使うか、後で紙を集計して入力するのに半日を使うか半端なものではありません。教員は忙しいですから、不可能に近いと思います。

何かの自動システムがあるとすごーく助かります。

刈谷先生はノート型パソコンを使用するシステムをご開発ですが、吉田キャンパスではあまり持参していませんし、経済学部ではノート型パソコンの購入も義務付けていません。授業中では使われませんので。



携帯電話を使ったほうがベストでしょう。最近、私は形態メールで出席管しています。つまり、「今、皆さん私にメールをください」と行って、学生各からのメールの総数で出席回数を管理します。特別の出席管理メールアドレスを使うことも可能です。

このシステムの欠点では、教室の居ない学生は稀にメールをすることがあります。出席管理メールアドレスがあれば、わざとでなければそのことはありえないですが、友達からの連絡を受けたりして、他の学生とあわせて、バイト先からメールをしようとする学生がいます。

しかし99%の学生は写真つきカメラをお持ちですので、写真つきメールを受ける半自動出席を管理するシステムは可能だと思います。機能的にはただメールを数えるもので、メールを送った学生は出席としますが、もし教室にいた人数とメール数が一致しない場合、画像を見て調べることができます。黒板に△か○か何かを書いたり、先生の洋服が移ったりすれば、写真からは教室の内外は分かるだろうと思います。そして授業外からメールをすればばれるだろうと思う学生は基本的に送りませんでしょう。

このようなシステムがありましたら教員はすごく助かると思います。

学生にパソコンを購入させ必携にするのは大変ですが、カメラつき携帯電話なら全員持っているか持ちたいです。

武本

「しかしこの前写メールをください。」といったら学生が「パッケト通信料が高い」と言って断りました。30円を渡して送ってもらいました。

Timothy Takemoto への返信

携帯でも出席できます

- Joji Kariya の投稿
刈谷です。私のシステムに言及されたので嬉しいですね。最近また出席のことが話題になってきて、このトピックを見つけました。
私のシステムは携帯のブラウザからも出席できます。
私のシステムは、出席だけでなく、座席を入力させ、授業中に誰がどこに座っているかが分るようにし、教師から学生を指名して議論することを容易にするものです。
アンケートもあるので、質問をして、その結果で話を進めます。
教室の画面を添付します。
javaで書いてあり、tomcatで動きます。ソースは公開しますので、興味のある人は連絡ください。
添付 room.jpg
Joji Kariya への返信

Re: 携帯でも出席できます

- Tatsuya Shirai の投稿

 話が脱線ついでに^^

 私の場合はローテクで対処していました.以前に大学の非常勤講師に出ていた時に作ったプログラムです.地球環境には優しく無いのですが,紙の出席票も結構便利です.個別の出席票ではなくA4一枚を回して学籍番号と名前を書かせると,代返抑止(防止ではない)にもなりますウインク

  他にもいくつかニッチな用途に適したソフトを公開していますので御参照下さい.かなり昔に作ったプログラムですが,テキストファイル中の日本語文字(シフトJISのみ対応)を発見するZenkaku_winあたりは海外に論文を投稿(TeXで)する研究者に好評です.

Takahiro Kagoya への返信

Re: 写メールBBS

- Tatsuya Shirai の投稿

 ブログに活用する方法を少しだけ考えてみました.
 つまり「携帯電話から携帯メールで添付ファイル付きのブログ投稿を可能にする」です.
 hatenaもmixiもこれくらいはできますね.ポイントは認証方法.これらのシステムでは各ユーザ専用の投稿用メールアドレスを作っていますね.これはちょっと学校等のシステムでは難しい.

  • 用意するメールアカウント(投稿用:受信専用)は1つだけ
  • 個人の認証コード(文字列)を保存するためのユーザプロファイルフィールドを1つ追加(ユーザによる書き換えは不可,というか不要)
  • 認証コードはユーザプロファイルの表示画面で各ユーザが「作成/更新」ボタンを押すことで日時とユーザIDを元にしてSHA-1などのハッシュ関数で生成され,新たに追加したユーザプロファイルフィールドに自動的記録される(他者には見えない).
  • 投稿者はSubjectに認証コードを入力(テキスト登録しておけば大変ではないでしょう)してメール送信
  • 本文+添付ファイル一つを受け付ける.ただしサイズの制限は設ける.もし添付ファイルが画像ファイルの場合はサイズを縮小する.画像以外のファイルの場合は...どうしましょう.受信専用としましたが,エラーメールを送信元に送りましょうか.

cron.phpで定期的に投稿用メールアドレスをチェックしてメールを読み出す.送信元の電子メールアドレスを調べ,Moodle上に登録された電子メールアドレス群に存在しないならば破棄.もし電子メールアドレスが存在するならばユーザIDを取得する.そのユーザの追加されたユーザプロファイルフィールドの認証コードと,Subjectの認証コードを照らし合わせて正しいならばブログに自動的に投稿する.

 もしスパムメールが受信専用のメールアカウントに多数送られてくるならば,その旨を管理者に通知する必要があります.その場合は投稿用メールアドレスを変更して利用者に通知する.

 携帯電話からブログを(写真付きで)投稿できるのは利用率向上に大いに役立ちますね.意外と簡単かも知れませんね.phpでメールを受信する方法とユーザプロファイルフィールドに認証コードを書きこむ方法が分かれば,(セキュリティ面を無視すれば)それほど難しくなさそうです.

Tatsuya Shirai への返信

Re: 写メールBBS

- Haruhiko Okumura の投稿
これはおもしろいですね。

似た話として,Moodleからフォーラム投稿内容がメールでやってきたときに,それにメールで返信すれば返信を投稿できるようにできないかという要求はよく聞きます。

それから,メールアカウントを多数用意するのはたいへんですが,hatenaやmixiはどうやっているのかわかりませんが,存在しないメールアドレスに送ると特定の人に届くようにすることはできます。届いたメールのヘッダのTo:を見れば,本当はだれに送ったのかがわかります。

Postfixでの設定の方法: http://blog.livedoor.jp/alpha1280/archives/51454761.html
Haruhiko Okumura への返信

Re: 写メールBBS

- Tatsuya Shirai の投稿

Postfixで、実在しないメールアドレス宛に届いたメールを一箇所に転送する方法と、それをTo:によりどのような架空のメールアドレスに送信されたものかを判別する方法は分かりました。ありがとうございます。なるほどそういう仕組みがあるというのは予想してしかるべきでした。

ただこの方法だと、ブラックホールのようにあて先アドレスの記入ミスのメールまで吸い込んでしまいますよね。もちろん、紹介していただいたページの設定は基礎の基礎で、特定のルールを満たす架空のメールアドレス宛のメールのみを転送するということもできるのかも知れません。

Tatsuya Shirai への返信

Re: 写メールBBS

- Hiroyuki H の投稿

OpenPNE(mixiのようなSNS)だと、こんな風にメール投稿を処理しています。応用できるかもですかね。

https://trac.openpne.jp/svn/OpenPNE/tags/stable/CURRENT/setup/OpenPNE_Setup.html#section4-2

postfixだと、aliases.regexpを使って、正規表現に一致したアドレス宛のメールのみ、処理用のPHPスクリプトに渡す、ということができます。

http://www.syuhari.jp/blog/archives/416

Hiroyuki H への返信

Re: 写メールBBS

- Haruhiko Okumura の投稿
なるほど,OpenPNEはよく考えられていますね。
返信したらフォーラムに投稿できる仕組みも,フォーラムからのメールのReply-To:(またはFrom:)に特別なアドレスを与えることで実現できそうですね。
Haruhiko Okumura への返信

Re: 写メールBBS

- Tatsuya Shirai の投稿

 なるほどー.Postfixの件,やはりアドレスを正規表現で区別することができるのですね.しかもPHPに渡せるとは想像以上でした.

 フォーラムからのメール(ダイジェストメールは除く)のReply-Toなどの件,了解です.確かにそれで特定のフォーラム投稿に返信も可能な気がします.


mailの受信について

 moodle/lib/phpmailer

はメールの送信のみ対応のようですね.そうなると標準のライブラリでお手軽に,とはいかない気配.そこで少しだけ情報を探してみました.

メールの取り込み
(1) http://ml.php.gr.jp/pipermail/php-users/2004-August/023482.html
取り込んだ後に削除するところまでサンプルコードがありますね.送信時はデコードしたりチェックしたりと色々と大変ですが,受信したものはあまりイレギュラーなものではないと仮定すると簡単な処理なのでしょうか.POP3限定かも知れませんが.
(2) http://pear.php.net/manual/ja/package.networking.net-pop3.php
pearのnet_pop3でPOP3限定ながらメールの受信自体はできそうです.デコードや添付ファイルの分離などはできないのか?

取り込んだメールのデコードなど
http://ml.php.gr.jp/pipermail/php-users/2001-December/004431.html
pear/mail/MimeDecode.phpが鍵でしょうか.pear/mail自体はメール送信用のライブラリのようですが.
・decode: http://pear.php.net/manual/en/package.mail.mail-mimedecode.decode.php
・uudecode: http://pear.php.net/manual/en/package.mail.mail-mimedecode.uudecode.php

以上の情報は以下の質問投稿からのリンクです.
http://q.hatena.ne.jp/1102135670


あとは,OpenPNE/bin/mail.phpの解析でしょうか...

OpenPNE3ではbin/mail.phpは無くなっています.どうやらPlugin化された模様.
OpenPNE2にはbin/mail.phpがありました.いまから読んでみます.

    $decoder =& new OpenPNE_KtaiMail($options);
    $decoder->decode($raw_mail);

どうやら独自のライブラリのようですね.

require_once 'OpenPNE/KtaiMail.php';
require_once 'mail/sns.php';

この辺りでしょうか.

Webapp/lib/OpenPNE/KeitaiMail.php ですね.

require_once 'OpenPNE/KtaiMail.php';
require_once 'mail/sns.php';

この二つを読み込んで,あとは少々,独自のライブラリを用意して処理していますね.ノウハウだなぁ.ちょっとだけ真似しようというのは難しい?


CodeZineにも解説記事がありました.
http://codezine.jp/article/detail/4749
MIME_decodeについて図付きで解説されているのはありがたい.

Tatsuya Shirai への返信

Re: 写メールBBS

- Tatsuya Shirai の投稿

 メールの受信だけならば標準の関数のみで実装可能でした.
 デコードになるとMail_mimeDecodeが必要ですね.

(追加の情報)

http://dozo.matrix.jp/pear/index.php?PEAR%2FMail%2FMail_MimeDecode

さらに,CodeZineで入手できるコードを利用して,ヘッダー情報の取得,メール本文の取得,添付ファイルの取得も成功しました.

http://codezine.jp/article/detail/4749

 結構,ここまではアレヨアレヨという間に進みますね.
 あとは仕様を考えて,それに合わせて組み込むだけです.エラー処理も考えないといけないですねぇ.

 なお,PEAR/Mail_mimeDecodeはインストールする必要があります.

Tatsuya Shirai への返信

Re: 写メールBBS

- Tatsuya Shirai の投稿

 ほぼ仕様通りに実装てきました.

 あとは,ログをきちんと保存する機能(型はできている)を充実させることと,受信成功/失敗を送信者に返信する機能の実装くらいでしょうか.

 いまのところfs_moodleの設定表示の画面から手動でブログに投稿するユーザインタフェースで実験を行っています.あとはこれがcron.phpからも実行できるように細工すれば完成です.

添付 mail2blog.jpg
Tatsuya Shirai への返信

Re: 写メールBBS

- Tatsuya Shirai の投稿

 cronによってメールボックスに溜まっている投稿メールを一括取得して,自動的にブログとして投稿するところまで完成しました.

 電子メールアドレスは一つだけ準備すれば良い.メールサーバはPOP3.もしかしてGmailアカウントのようなものでも良いのかな?(試していない) もしProxyで守られた組織内にMoodleサイトがある場合は外部のメールサーバには読みにいけないかも知れませんね(設定次第).
 一つのメールアドレスに対して送られてきたブログ投稿用のメールが,誰によって送られてきたものなのかを調べる(信じる)のに,5つのレベルを用意しています.電子メールアドレス(From:)と,題名あるいは本文に埋め込まれたユーザ識別用のコードの組み合わせです.ユーザ識別コードは#!#(変更可能)で区切られたユーザ名か,+ユーザプロファイルフィールドでユーザが自由に設定できるキーワードの組み合わせです.たとえば,#!#shirai#!#,#!#shirai:paopao#!#ですね.後者の方が安全ですが,携帯電話で入力するのは億劫ですね(辞書登録すれば良い).勿論,ブログに登録する前に,#!#を含む行は(それがユーザ識別コードではなくても)行単位で削除します.

 こんな仕組みです.レンタルサーバを用いている場合はこういう仕組み(1個のメールアドレスだけを用意する)ではないと無理ですよね.

 あと1週間くらい運用してバグ出しをしてから,fs_moodle4.05.00として公開します.


電子メールによるフォーラム投稿は,ちょっと大掛かりなので対応を予定していません.

 ブログのエクスポート機能と返信機能,そして電子メールによる投稿機能の3つが揃ったことで,Moodleのブログが実用的に使えるツールになりました.

Haruhiko Okumura への返信

Re: 写メールBBS

- Haruhiko Okumura の投稿
でも便利にしようとすると抜け道もできる可能性があるようです:

OpenPNE 【緊急リリース】携帯版かんたんログインの不備によりなりすましがおこなわれてしまう問題について

携帯用Moodleを考える際にもこのあたりをよく研究すべきと思います。

OpenPNE,セキュリティ問題の告知が早いのは良いですね。
Haruhiko Okumura への返信

Re: 写メールBBS

- Tatsuya Shirai の投稿

 確かに,かんたんログインは簡単すぎて怖い,という発言を聞いたことはありましたが,そうか,パソコンからランダムに携帯電話固体識別番号を自動生成してアタックを仕掛けることができてしまうのですね.それでIPアドレスの帯域制限を設けるわけですね.でも,それも破ることはできそうな気もするのですが,気のせいでしょうか.

#MoodleのRSSの脆弱さも相当なものですしねぇ.あ,このことはセキュリティのフォーラムに投稿しておかなくてはいけない.

 携帯メール等によって写真やブログをアップロードできるサービスも,送信先アドレスと送信元アドレスを漏らしてしまえば簡単になりすましができてしまう点では注意が必要ですね.ブログに送信先アドレスを書いてしまうミスなど,結構ありそうですね.「こういう風に設定したら携帯電話からブログが送信できたよ!」など.


 Twitterに本コースのRSSを流すようにしたのは正解ですね.Twitter上でタイムラインに流れたツイートをfav.にすれば,あとで一覧表示できます.ブックマーク代わりになりますね.