質問箱/2651
の編集
Top
/
質問箱
/
2651
[
トップ
] [
編集
|
差分
|
履歴
|
添付
|
リロード
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
Wikiを試したい方へ:
「この」Wikiは、
PukiWiki
のための公式Wikiです。
テスト書き込みなどは
お試しサイト
https://pukiwiki.osdn.jp/_trial/
をご利用ください
**[[質問箱/2651]] [#p72d4698] |RIGHT:70|LEFT:410|c |~カテゴリ|| |~サマリ|更新メールを一括して送る| |~バージョン|1.4.5| |~投稿者|[[katzumi]]| |~状態|保留| |~投稿日|&new{2005-03-08 (火) 17:44:42};| ***質問 [#rcfe2c25] ページの更新時にメールを送信する機能がありますが、一回の編集に対して必ず一通のメールが送信されます。~ これだとたくさんの書き込みがあった場合、メールが何十通も届いてしまいます。特に同一ページへの複数の書き込みは同じタイトルのメールが並ぶことになります。~ そこで質問ですが、この更新メールを一定時間ごとにまとめて送るようにすることは出来ますでしょうか?~ またそのようなことが実現できるpluginやパッチ等がありますでしょうか?~ 宜しくお願いします。 ***回答 [#vd501fdd] -''一定時間ごとを保証する''ことは、PukiWiki単独では不可能でしょう。ある程度の人気サイトなら、それに近いことは可能でしょうが。 -- &new{2005-03-08 (火) 20:55:47}; --ということで、簡単なまとめ送りパッチ つ &ref(notify_digest.diff.gz); -- &new{2005-03-08 (火) 22:22:15}; --なるほど、バックアップと同じ仕組みですね。頻繁に書き込みがあるところであれば、これで問題ないかもしれませんね。 -- [[teanan]] &new{2005-03-09 (水) 01:47:07}; -ありがとうございます。なかなかいい感じです。ただやはり''一定時間ごと''というのは難しいでしょうか?あれからいろいろ調べて[[簡易リマインダー機能プラグイン>自作プラグイン/remind.inc.php]]をうまく組合わせられればいいのにと思っているのですが。。 -- [[katzumi]] &new{2005-03-10 (木) 20:19:43}; -PukiWikiは、誰かに閲覧された時しか動きません。従って、単独で一定時間毎を''保証する''のは原理的に不可能なのです。当然ですが、remind.inc.phpもその点では同じことです。 -- &new{2005-03-10 (木) 20:59:43}; --次のものをスキンにでも仕込んで呼び出せば、notify_digestを多少は定期動作に近づけることが出来るでしょう。 function notify_digest_flush() { global $notify, $notify_diff_only, $notify_digest, $notify_to, $notify_subject, $notify_header; global $smtp_server, $smtp_auth; if ( PKWK_READONLY || !$notify_digest ) return; // Do nothing $file = CACHE_DIR.'notify_log.txt'; if ( !($mt = @filemtime( $file))) return; if ( ( $mt + $notify_digest) < time()) { $str = implode('',file( $file)); unlink( $file); $subject = str_replace('$page', '[Digest]', $notify_subject); ini_set('SMTP', $smtp_server); mb_language(LANG); if ($smtp_auth) pop_before_smtp(); mb_send_mail($notify_to, $subject, $str, $notify_header); } } 通常の閲覧でも必ず実行させるため、僅かかもしれませんが重くなることはお忘れ無きよう。~ これで不満なら、もうPukiWikiでの限界を越えていると思います。どこからかcronするか、notifyメールを それなりの機能を持ったもの(MLとか)にでも投げるようにするしかないでしょうね。-- &new{2005-03-10 (木) 21:13:42}; - 関連?: [[欲しいプラグイン/77]] メール通知を周期指定できるプラグイン -- &new{2007-09-23 (日) 15:59:42}; - 1.4.7で更新メールを一括して送るためには、どのファイルを変更すればよいのでしょうか。file.phpとmail.phpのどちらに手をつけたらよいのか分からず、困っています。 -- [[rim]] &new{2008-12-04 (木) 15:09:33}; -- ついでに付け加えてしまうと、理想としては一日分の更新ページリスト(「タイムスタンプを変更しない」にチェックを付けた編集も含めて)をメールで通知するような仕組みが欲しいと思っています。厳密に周期を設定する必要はないのですが、RSSやRecentChengesを使用せず(タイムスタンプに頼らず)、管理者のみに更新ページを一括して通知する仕組みはありませんでしょうか。 -- [[rim]] &new{2008-12-04 (木) 15:13:15}; - lib/mail.php はメールを送信する機能をまとめてあるだけのファイルなので、こちらを変更してもメールを送ることはできません。pkwk_mail_notify 関数をメールを送信したい場面で呼び出す必要があります。&br;1.4.7 のデフォルトでは、file_write 関数内でDIFF_DIR ディレクトリのデータ(差分ファイル)が更新されるたびに、メールを送信するような作りになっています。 -- &new{2009-05-06 (水) 15:19:36}; -- 新たにキャッシュファイルでも用意しないと、「タイムスタンプを変更しない」にチェックを付けた編集も含めて後で通知するのは無理です。(それ以外だけなら、ファイルの更新日時を確認する事で一応は可能ですが・・・)&br;また、上にも書かれていますが、PukiWiki 単独では定期動作はできません。このため、「一定時間経過後に、前回メールを送ってからの変更を送信する仕組み」をPukiWiki だけで実現させると、更新の間が空いた場合には複数日分(正確には1日目の分と、間が開いた後の1回目の更新)の更新リストになってしまう可能性があります。これを嫌うのなら、上ですでに書かれているように、外部のプログラムを併用するしか手段がありません。 -- &new{2009-05-06 (水) 15:19:36}; #comment
**[[質問箱/2651]] [#p72d4698] |RIGHT:70|LEFT:410|c |~カテゴリ|| |~サマリ|更新メールを一括して送る| |~バージョン|1.4.5| |~投稿者|[[katzumi]]| |~状態|保留| |~投稿日|&new{2005-03-08 (火) 17:44:42};| ***質問 [#rcfe2c25] ページの更新時にメールを送信する機能がありますが、一回の編集に対して必ず一通のメールが送信されます。~ これだとたくさんの書き込みがあった場合、メールが何十通も届いてしまいます。特に同一ページへの複数の書き込みは同じタイトルのメールが並ぶことになります。~ そこで質問ですが、この更新メールを一定時間ごとにまとめて送るようにすることは出来ますでしょうか?~ またそのようなことが実現できるpluginやパッチ等がありますでしょうか?~ 宜しくお願いします。 ***回答 [#vd501fdd] -''一定時間ごとを保証する''ことは、PukiWiki単独では不可能でしょう。ある程度の人気サイトなら、それに近いことは可能でしょうが。 -- &new{2005-03-08 (火) 20:55:47}; --ということで、簡単なまとめ送りパッチ つ &ref(notify_digest.diff.gz); -- &new{2005-03-08 (火) 22:22:15}; --なるほど、バックアップと同じ仕組みですね。頻繁に書き込みがあるところであれば、これで問題ないかもしれませんね。 -- [[teanan]] &new{2005-03-09 (水) 01:47:07}; -ありがとうございます。なかなかいい感じです。ただやはり''一定時間ごと''というのは難しいでしょうか?あれからいろいろ調べて[[簡易リマインダー機能プラグイン>自作プラグイン/remind.inc.php]]をうまく組合わせられればいいのにと思っているのですが。。 -- [[katzumi]] &new{2005-03-10 (木) 20:19:43}; -PukiWikiは、誰かに閲覧された時しか動きません。従って、単独で一定時間毎を''保証する''のは原理的に不可能なのです。当然ですが、remind.inc.phpもその点では同じことです。 -- &new{2005-03-10 (木) 20:59:43}; --次のものをスキンにでも仕込んで呼び出せば、notify_digestを多少は定期動作に近づけることが出来るでしょう。 function notify_digest_flush() { global $notify, $notify_diff_only, $notify_digest, $notify_to, $notify_subject, $notify_header; global $smtp_server, $smtp_auth; if ( PKWK_READONLY || !$notify_digest ) return; // Do nothing $file = CACHE_DIR.'notify_log.txt'; if ( !($mt = @filemtime( $file))) return; if ( ( $mt + $notify_digest) < time()) { $str = implode('',file( $file)); unlink( $file); $subject = str_replace('$page', '[Digest]', $notify_subject); ini_set('SMTP', $smtp_server); mb_language(LANG); if ($smtp_auth) pop_before_smtp(); mb_send_mail($notify_to, $subject, $str, $notify_header); } } 通常の閲覧でも必ず実行させるため、僅かかもしれませんが重くなることはお忘れ無きよう。~ これで不満なら、もうPukiWikiでの限界を越えていると思います。どこからかcronするか、notifyメールを それなりの機能を持ったもの(MLとか)にでも投げるようにするしかないでしょうね。-- &new{2005-03-10 (木) 21:13:42}; - 関連?: [[欲しいプラグイン/77]] メール通知を周期指定できるプラグイン -- &new{2007-09-23 (日) 15:59:42}; - 1.4.7で更新メールを一括して送るためには、どのファイルを変更すればよいのでしょうか。file.phpとmail.phpのどちらに手をつけたらよいのか分からず、困っています。 -- [[rim]] &new{2008-12-04 (木) 15:09:33}; -- ついでに付け加えてしまうと、理想としては一日分の更新ページリスト(「タイムスタンプを変更しない」にチェックを付けた編集も含めて)をメールで通知するような仕組みが欲しいと思っています。厳密に周期を設定する必要はないのですが、RSSやRecentChengesを使用せず(タイムスタンプに頼らず)、管理者のみに更新ページを一括して通知する仕組みはありませんでしょうか。 -- [[rim]] &new{2008-12-04 (木) 15:13:15}; - lib/mail.php はメールを送信する機能をまとめてあるだけのファイルなので、こちらを変更してもメールを送ることはできません。pkwk_mail_notify 関数をメールを送信したい場面で呼び出す必要があります。&br;1.4.7 のデフォルトでは、file_write 関数内でDIFF_DIR ディレクトリのデータ(差分ファイル)が更新されるたびに、メールを送信するような作りになっています。 -- &new{2009-05-06 (水) 15:19:36}; -- 新たにキャッシュファイルでも用意しないと、「タイムスタンプを変更しない」にチェックを付けた編集も含めて後で通知するのは無理です。(それ以外だけなら、ファイルの更新日時を確認する事で一応は可能ですが・・・)&br;また、上にも書かれていますが、PukiWiki 単独では定期動作はできません。このため、「一定時間経過後に、前回メールを送ってからの変更を送信する仕組み」をPukiWiki だけで実現させると、更新の間が空いた場合には複数日分(正確には1日目の分と、間が開いた後の1回目の更新)の更新リストになってしまう可能性があります。これを嫌うのなら、上ですでに書かれているように、外部のプログラムを併用するしか手段がありません。 -- &new{2009-05-06 (水) 15:19:36}; #comment
テキスト整形のルールを表示する
添付ファイル:
notify_digest.diff.gz
1513件
[
詳細
]