Movable Typeで、コメントに返信した際にそのことをコメント元の人にメールで通知するには、プラグインを使います。
Movable Type 3.xの頃はChad Everett氏が開発した「MT-Notifier」というプラグインを使いました。
かつては無償で使うことができましたが、Movable Type 3.3用のバージョン3.4.6以降は有償化されています。
また、Movable Type 4用のMT-Notifierもリリースされましたが、機能強化に伴って料金が値上げされています(個人利用は24$、商用利用は48$)。
このような中で、Robert Synnott氏が、MT-Notifierの機能を単純化したような「CommentSubscribe」というプラグインを発表しました。
こちらのプラグインは無償で利用することができます。
そこで、このプラグインの導入と日本語化の方法を紹介します。
1.CommentSubscribeプラグインのインストール
まず、CommentSubscribeプラグインの解説ページから、プラグインのZipファイルをダウンロードします。
zipファイルを解凍すると「CommentSubscribe」というフォルダができますので、それをMovable Typeの「plguins」ディレクトリにアップロードします。
2.GetQueryParamプラグインのインストール
この後で、コメント入力フォームに、返信メールを送信するかどうかのチェックボックスを追加します。
コメント確認ページでそのチェックボックスが正しく動作するようにするために、拙作のGetQueryParamプラグインをインストールします。
プラグインは以下からダウンロードすることができます。
3.コメント入力フォームの書き換え
次に、「コメント入力フォーム」のテンプレートモジュールで、フォーム内に以下のようなタグを追加します。
コメント入力欄の後あたりに追加すると良いでしょう。
<div id="comment-form-subscribe">
<label for="comment-subscribe"><input type="checkbox" id="comment-subscribe" name="subscribe" <MTIf name="comment_preview_template"><MTIfQueryParam name="subscribe" value=""><MTElse> checked="checked"</MTIfQueryParam></MTIf> />
コメントに返信があったときにメールで通知</label>
</div>
タグの追加が終わったら、ブログ記事アーカイブを再構築します。
4.日本語化用辞書ファイルのアップロード
ここまでの状態で、コメント入力フォームで「コメントに返信があったときにメールで通知」のチェックボックスをオンにしてコメントを送信し、そのブログ記事に再度コメントをすると、チェックをオンにしたときのメールアドレスに通知メールが送信されるようになります。
ただ、通知メールは英文になります。
通知メールを日本語化するために、まず日本語化用辞書ファイルをアップロードします。
ファイルは以下からダウンロードすることができます。
zipファイルを解凍すると、「CommentSubscribe」フォルダができます。
このフォルダを、Movable Typeの「plugins」ディレクトリにアップロードします。
5.CommentSubscribe.plファイルの書き換え
最後に、CommentSubscribeプラグインのCommentSubscribe.plファイルを書き換えて、日本語化の処理を追加し、アップロードし直します。
以下の各箇所を書き換えます。
・13行目
書き換え前
description => "Allows viewers to subscribe to recieve emails every time a comment is posted for a given entry.",
書き換え後
description => '<__trans phrase="Allows viewers to subscribe to recieve emails every time a comment is posted for a given entry.">',
・19~20行目
書き換え前
plugin_link => "http://myblog.rsynnott.com/software/commentsubscribe.html", });
書き換え後
plugin_link => "http://myblog.rsynnott.com/software/commentsubscribe.html",
l10n_class => 'CommentSubscribe::L10N',
});
・100~101行目
書き換え前
# load_tmpl loads it from the plugin's tmpl directory
my $body = $app->build_page($plugin->load_tmpl('commentsubscribe_notify.tmpl'), $param);
書き換え後
# load_tmpl loads it from the plugin's tmpl directory
my $tmpl = $plugin->load_tmpl('commentsubscribe_notify.tmpl');
$tmpl->text($plugin->translate_templatized($tmpl->text));
my $body = $app->build_page($tmpl, $param);



![Hardcore Will Never Die, But You Will [Disc 2] Hardcore Will Never Die, But You Will [Disc 2]](http://userserve-ak.last.fm/serve/34s/71241534.jpg)
![Hardcore Will Never Die, But You Will [Bonus Tracks] Hardcore Will Never Die, But You Will [Bonus Tracks]](http://userserve-ak.last.fm/serve/34s/67192634.jpg)
![Hvarf-Heim (Hvarf) [Disc 1] Hvarf-Heim (Hvarf) [Disc 1]](http://userserve-ak.last.fm/serve/34s/37517227.jpg)




コメントはスレッド表示になっています。
また、スレッドの先頭のコメントに対する返信には、先頭に矢印を表示しています。
「CommentSubscribe」をインストールし、
コメントフォームへの記述も終わり何度かテスト
したのですが、どうしてもメールが送信されません。
管理者用へはメールは通知されるのですが、送信
されない原因というのは何かございますでしょうか?。
お忙しいところ申し訳ありませんが、お気づきの点、
アドバイス頂ければ幸いです。
>Aikoさん
こんにちは。
プラグインのソースを見た感じでは、返信のメールは、ブログ記事を書いたユーザーを送信元として送信されるようです。
ユーザーの設定で、ブログ記事のユーザーのメールアドレスが設定されているかどうかを確認してみてください。
また、サーバーの設定によっては、送信元のメールアドレスに制限があることもあります。
その場合は、ブログ記事のユーザーのメールアドレスを変えて、制限に引っ掛からないアドレスにすることが考えられます。
壱様。
お忙しいところRES有難うございます。
こちらのコメント(返信/引用して返信)もユーザーフレンドリーな設計で大変気に入っています。(私のブログにも付けたいですが中々思い通りにカスタマイズできません)
さい、ご指摘いただいたメアドの件ですが、MovableTypeの管理画面には登録してあり、コメントが書き込まれた際なども「お知らせメール」は届くようになっています。
コメントテストもログアウトして書き込んでみたり、メアドを変えて試したり、考えられるパターンで試したのですが、どうしても送信されないのです。(迷惑メールに振り分けられていないかも確認しましたし、フリーメール以外、ブロバイダーのメアドでも試しました)。
サーバーはNIFTY-Serveのラクカーンを利用していますが、SENDメールのアドレスが一般とはちょっと名前が違うだけで、他のCGIなどのフォームメールからも問題なく送信出来ていますので、特別癖があるサーバーではないと思います。
MovableTypeはコメントのRSSフィードが無い?ようなので、利用者にとって返信メールは大変便利だと思ったのですが、思った通りに動かないプラグインが何個かあって試行錯誤の毎日です。
ちなみに、こちらへも会員登録させていただいたのですが、登録後の返信メールがやはり届きませんでした。自分で設置したMovableTypeではメールが届くのに、他のMovableTypeのブログでは届かないというのも不思議な現象です。
こんにちはAIKOです。
先日メールが届かないとご報告しましたが、他の方に検証を手伝って頂いたら届くようになりました。というか私の勘違いで、これって”自分で書いたコメントにコメントしても送信されない仕様”なんですね?。
お騒がせして申し訳ありませんでした。
ただもう一点。ご説明では「日本語化用辞書ファイルのアップロード」もありましたが、それをしなくても日本語のまま送られてきました。文字化けではなく”日本語化”とはどの部分を差すのか分かりませんでしたが、上手くいきましたので取り急ぎご報告まで。有難うございました。
こんにちわ。いつもブログを拝見させてもらっています。
ありがとうございます。
CommentSubscribeを利用させてもらい、きちんと通知メールが届くまではいったのですが、コメント通知メールに書いてある「コメントの通知メールの送信を止めたい場合は、以下のアドレスをクリックしてください。: 」のリンク先をクリックするとサーバーエラーになってしまい、きちんと処理されません。
あれこれパーミッションをさわってみたのですがうまくいきませんでした。
もし原因が分かるようでしたらご教授いただけないでしょうか?
>rmさん
こんにちは。
申し訳ありませんが、Internal Server Errorが起こる原因は、サーバーのログ等を見ないと断定することができません。
>壱さん
お返事ありがとうございました。
了解しました。またいろいろ試してみます!
ところでこのブログに書き込みするときも「コメントに返信があったときにメールで通知」を利用させてもらったのですが、来たメールには
「コメントの通知メールの送信を止めたい場合は、以下のアドレスをクリックしてください。: /mt/plugins/CommentSubscribe/commentsubscribe.cgi?・・・・・」
とあってURLにリンクされていませんでした。
ご存知のことかもしれませんが、いちお報告させていただきますね。