« 【11日目】みきわめのコースを走る | メイン | 時期ハズレのカーネーション »

2005年05月09日

「コメントの事前確認を有効にする」にしているとコメントが付いてもメール通知が来ないのはいいの?[ Movable Type ]

 今日は連休明けのぼ~っとする間もなく忙しい一日でした。
 そんな中、今日気が付いたのは、 Movable Type の設定メニューの中、「投稿」>「コメント」に保留のコメントがあったことでした。

 コメントの内容はというと、英語で書いてあるので、何がなんなのかわからないのですが、どうも、私のブログとは直接関係のないような気がします。

 そこで気が付いたのですが、私のブログは(以前の4月3日の記事を参照していただければわかります)コメントやトラックバックが付くとメールでその旨を教えてくれる設定になっていたはずです。

 ところが実際は上記のとおり、コメントが保留状態になっているにもかかわらずメール通知がきていません。

 試しに、「コメントの事前確認を有効にする」のチェックをはずして、自己コメントを付けてみますときちんとメール通知がなされます。

 そこで、ググってみました。

 そうすると、

naoki@home:MovableType3.151でメール通知機能がおかしい

 の記事を発見。

 さっそく、自分の「Comments.pm」を編集してみました。

 直す箇所は上記記事をご覧ください。

 あえて、自分の記録の為に残しますと

 元の状態、lib/MT/App/Comments.pmの349~373行目が


if ($comment->visible) {
# Rebuild the entry synchronously so that if the user gets
# redirected to the indiv. page it will be up-to-date.
$app->rebuild_entry( Entry => $entry )
or return $app->error($app->translate(
"Rebuild failed: [_1]", $app->errstr));
# Index rebuilds and notifications are done in the background.
MT::Util::start_background_task(sub {
$app->rebuild_indexes( Blog => $blog )
or return $app->error($app->translate(
"Rebuild failed: [_1]", $app->errstr));
my $send_notfn_email = 0;
if (!$commenter) {
$send_notfn_email = !$comment->visible();
} else {
$send_notfn_email = !$commenter_has_comment
&& !$comment->visible();
}
if ($blog->email_new_comments || $send_notfn_email)
{
$app->_send_comment_notification($comment, $comment_link,
$entry, $blog);
}
});
}

 これを、


if ($comment->visible) {
# Rebuild the entry synchronously so that if the user gets
# redirected to the indiv. page it will be up-to-date.
$app->rebuild_entry( Entry => $entry )
or return $app->error($app->translate(
"Rebuild failed: [_1]", $app->errstr));
# Index rebuilds and notifications are done in the background.
MT::Util::start_background_task(sub {
$app->rebuild_indexes( Blog => $blog )
or return $app->error($app->translate(
"Rebuild failed: [_1]", $app->errstr));
});
}
my $send_notfn_email = 0;
if (!$commenter) {
$send_notfn_email = !$comment->visible();
} else {
$send_notfn_email = !$commenter_has_comment
&& !$comment->visible();
}
if ($blog->email_new_comments || $send_notfn_email)
{
$app->_send_comment_notification($comment, $comment_link,
$entry, $blog);
}

 このようにするといいようです。

 さっそく、私もComments.pmをバックアップしてから作業開始。
(といっても、lib/MT/App/Comments.pmの349~373行目を上記にコピペしただけなんですけど(^^;)

 結果、大成功。
 今度はコメントを保留する機能をつかっても、きちんとメールで承認確認が届きました。

 記事を作成してくれた方に感謝です。

投稿者 かっぱ : 2005年05月09日 22:46

この記事へのトラックバック

このエントリーのトラックバックURL:
http://iamk.net/cgi-bin/mt-tb.cgi/1845

京ぽんでモブログのトラックバックポリシー:
トラックバックされる場合は、この記事の URL (またはリンク)も記事の中に入れていただけませんか?
トラックバックされた記事の中に当ブログの URL (またはリンク)が記載されていない場合には
勝手ながら当ブログのトラックバック表示を削除させていただくことがあります。

この記事へのコメント

はじめまして。
comment & trackbackありがとうございます!
blogのソース情報、参考にしていただければ幸いです。
ちなみに僕はPanasonic KX-HV200で未だにふんばってます。^^

投稿者 naoki : 2005年05月09日 23:34

naokiさん、コメントありがとうございます。
でも、ほんとにおかげさまで、きちんとメール通知が来るようになり助かりました。
(他の方のブログにも同じような情報はあったのですが、naokiさんのブログにはソースが載っていたので、すごく簡単に修正することができました)
これからも、naokiさんのブログを巡回させていただきます。

投稿者 かっぱ : 2005年05月10日 07:27

コメントを書く




保存しますか?