「MT-Notifier」がバージョンアップ( ver 3.4.1)

  • 投稿日:
  • by

MovableTypeで、コメント投稿時
それ以降、そのエントリーにコメントがあったら、
メールで知らせる機能を実現するプラグイン。

「MT-Notifier」

バージョンアップして、3.4.1になりました。

以前一度導入しようとしたのですが、
失敗に終わったのです。。。

原因もわかったので、それも合わせて、カスタマイズ方法を。

まず、下記URLから、「MT-Notifier」をダウンロードして来ます。

「Everitz Consulting: MT-Notifier: MT-Notifier」

解凍すると、「plugins」と「php」という2つのディレクトリができます。

「plugins」フォルダの中の「Notifier」フォルダごと
MTの「plugins」フォルダにそのままアップロードします。

アップロードしたら、
MT/plugins/Notifier/mt-notifier.cgi
パーミッションを755に変更します

# chmod 755 /(MTへのパス)/plugins/Notifier/mt-notifier.cgi


続いて、データベースを初期化します。

http://(MTのURL)/plugins/Notifier/mt-notifier.cgi?__mode=loader


Your system is installed and ready to use!

とでれば、初期化は終了です。


続いて、管理画面から、プラグインの設定を行います。

「システムメニュー」>「プラグイン」・・・・(MT3.2の場合です)

上記のように、プラグインにリスト化されているはずです。

「設定を表示」をクリックすろと下記のような画面になります。


「Address to use when sending notifications and no other addresses are available:」
の入力フィールドに、連絡を送るメールのメールアドレスを入力し、
「変更を保存」を押します。


次に、各ブログ毎にも設定できますので、そちらも設定しておきます。

「システムメニュー」>「ブログ」>「(ブログ名)」>「設定」>「プラグイン」と進むと、
こちらも「MT-Notifier」がリスト化されているはずです。


同様に、「設定を表示」を押すと下のような画面が出ます。


これはこのまま、「変更を保存」を押します。

ちなみに、「Disable MT-Notifier for This Blog」のチェックボックスにチェックをすれば、
そのブログでは「MT-Notifier」が無効となります。

ここまでで、設定は終了ですが、
このままでは送信したメールが英語のままになってしまいます。

そこで、メールのテンプレートを日本語化します。


まず、エントリーアーカイブテンプレートのコメント入力欄の後ろに、
チェックボックスを付けます。

<textarea></textarea> <br /><label for="subscribe"><input type="checkbox" name="subscribe"> このコメントに返信があったらメールで通知する</label>


続いて、各送信メールのテンプレートを日本語化します


MT/plugins/Notifier/lib/Notifier.pm
[書き換え前]

my $mgr = MT::ConfigMgr->instance; my $xfer = $mgr->MailTransfer; if ($xfer eq 'sendmail') { return MT::Mail->_send_mt_sendmail($hdrs, $body, $mgr);

[書き換え後]

my $mgr = MT::ConfigMgr->instance; my $xfer = $mgr->MailTransfer;

my $enc = $mgr->PublishCharset || 'utf-8';
my $mail_enc = $mgr->MailEncoding || 'iso-8859-1';
require MT::I18N;
$body = MT::I18N::encode_text($body,$enc,$mail_enc);
$hdrs->{Subject} = MT::I18N::encode_text($hdrs->{Subject}, $enc, $mail_enc);
$hdrs->{'Content-Type'} = qq(text/plain; charset="$mail_enc");
$hdrs->{'Content-Transfer-Encoding'} = (lc $mail_enc ne 'utf-?8') ? '7bit' : '8bit';
$hdrs->{'MIME-Version'} = "1.0";

if ($xfer eq 'sendmail') {
return MT::Mail->_send_mt_sendmail($hdrs, $body, $mgr);


MT/plugins/Notifier/tmpl/email/confirmation.tmpl
以下に置き換えです。

'<TMPL_VAR NAME=BLOG_NAME>' で、「コメントへの返信をメールで通知」のチェックがオンにされたので、確認のメッセージをお送りしています。

以下のエントリーで、「コメントへの返信をメールで通知」のチェックがオンにされました。
<TMPL_VAR NAME=RECORD_NAME>

コメントへの返信をメールで受信したい場合は、以下のリンクをクリックしてください。
<TMPL_VAR NAME=NOTIFIER_LINK>?c=<TMPL_VAR NAME=RECORD_CIPHER>

エントリーの内容を確認する場合は、以下のリンクをクリックしてください。
<TMPL_VAR NAME=RECORD_LINK>

もし、「コメントへの返信をメールで通知」のチェックをオンにした覚えがない場合は、このメールは無視してください。


MT/plugins/Notifier/tmpl/email/confirmation-subject.tmpl
以下に置き換えです。

[<TMPL_VAR NAME=BLOG_NAME>]「<TMPL_VAR NAME=RECORD_NAME>」<TMPL_IF NAME=NOTIFIER_RUNNING>へのコメントの返事の通知を受け付けました<TMPL_ELSE>へのコメントの返事の通知確認</TMPL_IF>


MT/plugins/Notifier/tmpl/email/notification.tmpl
以下に置き換えです。

<TMPL_IF NAME=NOTIFIER_ENTRY><TMPL_IF NAME=ENTRY_EXCERPT>エントリーの概要: </TMPL_IF></TMPL_IF><TMPL_IF NAME=NOTIFIER_COMMENT><TMPL_VAR NAME=COMMENT_BODY></TMPL_IF> <TMPL_IF NAME=NOTIFIER_ENTRY><TMPL_IF NAME=ENTRY_EXCERPT><TMPL_VAR NAME=ENTRY_EXCERPT></TMPL_IF></TMPL_IF><TMPL_IF NAME=NOTIFIER_COMMENT><TMPL_IF NAME=COMMENT_NAME><MT_TRANS phrase="Author:"> <TMPL_VAR NAME=COMMENT_NAME><br /></TMPL_IF><TMPL_IF NAME=COMMENT_URL><MT_TRANS phrase="Website:"> <TMPL_VAR NAME=COMMENT_URL></TMPL_IF></TMPL_IF>

エントリーの内容を見る:
<TMPL_VAR NAME=ENTRY_LINK>

このコメントへの返信の通知を停止する:
<TMPL_VAR NAME=NOTIFIER_LINK>?c=<TMPL_VAR NAME=RECORD_CIPHER>&u=1

このサイトからの通知をすべて停止する:
<TMPL_VAR NAME=NOTIFIER_LINK>?c=<TMPL_VAR NAME=RECORD_CIPHER>&o=1

MT/plugins/Notifier/tmpl/email/notification-subject.tmpl
以下に置き換えです。

[<TMPL_VAR NAME=BLOG_NAME>] <TMPL_IF NAME=NOTIFIER_ENTRY><MT_TRANS phrase="New Entry from"> <TMPL_VAR NAME=ENTRY_AUTHOR>: <TMPL_VAR NAME=ENTRY_TITLE ESCAPE=HTML><TMPL_ELSE>「<TMPL_VAR NAME=ENTRY_TITLE ESCAPE=HTML>」に<TMPL_VAR NAME=COMMENT_AUTHOR>からコメントがありました</TMPL_IF>


注)
上記4つのメールテンプレートを保存するときは、自分のブログの文字コード
あわせて保存してください。


ではテストしてみましょう。

kakunintest.gif

のように、「このコメントに返信があったらメールで通知する」にチェックを入れ
コメントしてみます。

すると以下のようなメールが届くはずです。

'Project MultiBurst' で、「コメントへの返信をメールで通知」のチェックがオンにされたので、確認のメッセージをお送りしています。

以下のエントリーで、「コメントへの返信をメールで通知」のチェックがオンにされました。
cronでMovableTypeを定期的に再構築

コメントへの返信をメールで受信したい場合は、以下のリンクをクリックしてください。
http://www.multiburst.net/cgi-bin/mt-cgi/plugins/Notifier/mt-notifier.cgi"c=m****p8mJy2

エントリーの内容を確認する場合は、以下のリンクをクリックしてください。
http://www.multiburst.net/project-multiburst/archives/2006/01/07/0026.php

もし、「コメントへの返信をメールで通知」のチェックをオンにした覚えがない場合は、このメールは無視してください。

--
MT-Notifier v3.4.1
http://www.everitz.com/

コメントへの返信をメールで受信したい場合は、以下のリンクをクリックしてください。
http://www.multiburst.net/cgi-bin/mt-cgi/plugins/Notifier/mt-notifier.cgi"c=m****p8mJy2

のURLをクリックし、

MT-Notifier Request Processing Your request has been processed successfully!

と出れば、OKです。

ちなみに、メール通知のキャンセルもテストしてみます。

上記でコメントしたエントリーにもう一度コメントします

すると、下記のようなメールが来るはずです。


エントリーの内容を見る:
http://www.multiburst.net/project-multiburst/archives/2006/01/07/1459.php

このコメントへの返信の通知を停止する:
http://www.multiburst.net/cgi-bin/mt-cgi/plugins/Notifier/mt-notifier.cgi"c=gm6vI********&u=1

このサイトからの通知をすべて停止する:
http://www.multiburst.net/cgi-bin/mt-cgi/plugins/Notifier/mt-notifier.cgi"c=g*****hUs/A&o=1

--
MT-Notifier v3.4.1
http://www.everitz.com/


そして、

このコメントへの返信の通知を停止する:
http://www.multiburst.net/cgi-bin/mt-cgi/plugins/Notifier/mt-notifier.cgi"c=gm6vI********&u=1

のURLをクリックし、

MT-Notifier Request Processing Your subscription has been cancelled!

とでればOKです。


以上で設置完了です。


ちなみに、TypeKeyでサインインしてコメントしても、
同様に使えますが、TypeKeyのアカウント設定で、
「メール通知する」という部分のチェックをしていないと、メールは送られてきません。。。。

ブログ簡単パワーアップ Movable Type スーパーカスタマイズテクニック
藤本 壱
技術評論社 (2005/11/08)
おすすめ度の平均: 5
5 待ってました!