あちこちに書いていますが、私はここの掲示板を、かつてのTTY時代のニフティのフォーラムの電子会議室のように運用しようと思っております。
さて、ニフティの電子会議室に具備されていた機能で割と便利だと思ったのが、自分の発言にレスポンスがあればその旨をメールで通知してもらえる機能。ニフティではコメント通知メールといっていました。要は、コメントがついたらそれをメールで通知するという、そのまんまのもです。幸いというか、投稿時の入力欄として、メールアドレスの欄も元々用意してあります。もちろん、アドレス非表示という指定であっても、入力さえしておいてもらえればメール通知できます。
WebForumそのものに具備する機能としては、レスがついたら、レス元の発言のメールアドレスにメールを飛ばす、というのが一番基本。ただし、自己レスというか、レスのメールアドレスとレス元のアドレスが同一であればメールは飛ばさない。
実現するにあたり、私が問題点だと思ったのが、掲示板への投稿時にいいかげんなアドレスを登録されてしまった場合。もしその投稿に対して多数のコメントがつくと、そのアドレスに対して多数のメールが飛んでいってしまうのです。
タイトルは「コメントがつきました」くらいにするつもりだし、内容もその程度のものですから、いわゆる広告メールのような使い方はできませんが、発信者名は私の名前になりますから、ただでさえあまりいい評判のない私の信用をますます失墜させるには十分です。
この問題点を解決するために、メールアドレスを事前登録制にすることを考えました。
アドレスリストのデータ形式は、1行1アドレスの単純リスト。
掲示板の側では、コメント元のアドレスが登録済みであればそのアドレスにメールを送るという処理を追加する必要があります。元々、この掲示板システム、なかなかの優れもので、だから使わせていただいているのですが、オリジナルというか、私が入手した生のままで既に掲示板管理人にメールを送るというルーチンがありますので、それにちょっと手を加えれば割と簡単に実装できました。
具体的には、wf_regi.cgiの、管理人へのメール通知の次に追加するような形としました。
|
あと、実際にメールを投げるルーチンというのも、管理人宛メールのルーチンとほとんど同じですね。
|
さて、メールアドレスを事前登録制にしても、そこでいいかげんなアドレスを登録されてしまっては困ります。何かよい方法はないかと長いこと考えておりましたが、やっと、解決策の1つを知ることができました。
実は最近、私自身が某所のメールサービスを受けることになりました。
そこでやはり、アドレスの事前登録制を取っていたのです。
方法は実に巧妙というか、わかってしまえば「な〜んだ!」という感じなのですが、それに気づけなかったということで、私自身、やはり頭が固くなっていたようです。
具体的には、以下のようなものです。
このようにすると、1つの仮登録アドレスには1回しかメールが送信されませんし、同一のアドレスに対して重複して仮登録できないようにしておけば、ひとつのアドレスに何回もメールが飛んでしまうということは避けられます。
もし誰かがいたずらとか間違いでアドレスを登録したとしても、存在しないアドレスであれば私のところにリターンメールが返ってくるだけです。存在するアドレスであっても、1回しか送られないわけですし、文面に気をつければ、それ程迷惑をかけずに済むのではないかと考えております。
あとは、アドレス登録をどうするか。
お客様は少ないと想定されるので、手作業で行っても何ら問題はありません。
でも、私はスクリプトを使って自動で行う事にしました。が、これは失敗だったかも。例えば、KENTさんのところを見ても、そのものズバリのスクリプトはありませんでした。他のCGI配布サイトをいくつか見ても、こんな単機能なCGI、誰でも作れるからなのかどうか、類似のものすらありません。仕方ないので自分ででっち上げましたが、セキュリティの関係など、かなり自信なし。どこかに具合のよいスクリプトがあればすぐにでも置き換えたいと思っているくらいです。
ということで、メールアドレス登録スクリプトについては非公開とします。
メール等でお問い合わせいただければ、個別に対応させていただきます。