セットアップガイド

Author: Shogo Kawahara <kawahara@bucyou.net>
Date: 2010-07-21
Updated:2010-12-24

はじめに

このドキュメントは、opLiteMailTaskPluginのセットアップに関する情報を提供するものです。

opLiteMailTaskPluginは、機能限定になるものの OpenPNE3に含まれるデイリーニュース・フレンド誕生日お知らせメールを高速・低負担化したものです。

動作環境

このプラグインを正常に動作させるためには以下の環境が必要です。

  • OpenPNE3.4以上
    • opDiaryPluginの導入 (デフォルトバンドル)
    • opCommunityTopicPluginの導入 (デフォルトバンドル)

セットアップ

プラグインのインストール

OpenPNEのプロジェクトディレクトリで以下のコマンドを実行して下さい。

$ ./symfony opPlugin:install opLiteMailTaskPlugin -r 1.0.0.1
$ ./symfony cc

メール配信設定

設定例

この設定をする場合は、OpenPNE3本体の デイリーニュース配信・誕生日お知らせメール配信を停止するべきです。

plugins/opLiteMailTaskPlugin/bin/* のcron ファイルに設定権限を付加します。

$ chmod -R 0755 plugins/opLiteMailTaskPlugin/bin/*.cron

/etc/crontab に以下を記述します。

# 6 時に /path/to/OpenPNE3/plugins/opLiteMailTaskPlugin/bin/send_daily_news.cron というスクリプトを /path/to/php で実行することで /path/to/OpenPNE3 のデイリー・ニュースを配信する
00 6 * * * root sh /path/to/OpenPNE3/plugins/opLiteMailTaskPlugin/bin/send_daily_news.cron /path/to/OpenPNE3 /path/to/php

# 6 時に /path/to/OpenPNE3/plugins/opLiteMailTaskPlugin/bin/send_birthday_mail.cron というスクリプトを /path/to/php で実行することで /path/to/OpenPNE3 の誕生日通知メールを配信する
00 6 * * * root sh /path/to/OpenPNE3/plugins/opLiteMailTaskPlugin/bin/send_birthday_mail.cron /path/to/OpenPNE3 /path/to/php

テンプレートの変更

送信に利用するテンプレートは、管理画面の「メール設定」->「メール通知テンプレート設定」より変更ができます。

このプラグインに関係のあるテンプレートは以下になります。

デイリーニュース (Lite)
このプラグインのタスクにより送信されるデイリー・ニュースのテンプレート
フレンド誕生日お知らせメール (Lite)
このプラグインのタスクにより送信される誕生日お知らせメールのテンプレート
署名
デイリー・ニュースおよび誕生日お知らせメールの最後に付加される署名

ログの記録

opLiteMailTaskPluginに含まれる各タスクはログを残すことができます。

上記のデイリーニュース送信についてログをこのす場合は /etc/crontab の send_daily_news.cron 実行についてを以下のように変更します。

00 6 * * * root sh /path/to/OpenPNE3/plugins/opLiteMailTaskPlugin/bin/send_daily_news.cron /path/to/OpenPNE3 /path/to/php "--log-file=/tmp/daily_news.log"

メンバーID範囲の指定

デイリーニュースは送信するメンバーIDの範囲を、誕生日お知らせメールは誕生日をチェックするメンバーIDの範囲を指定することができます。

上記のデイリーニュース送信についてメンバーIDの範囲を指定する場合は /etc/crontab の send_daily_news.cron 実行についてを以下のように変更します。

メンバーID 100〜200のメンバーにデイリーニュースを送信する場合は以下のようになります。

00 6 * * * root sh /path/to/OpenPNE3/plugins/opLiteMailTaskPlugin/bin/send_daily_news.cron /path/to/OpenPNE3 /path/to/php "--start-member-id=100 --end-member-id=200"

--start-member-id は省略した場合に1、 --end-member-id は省略した場合、SNSに存在する最大のメンバーIDになります。

メール件名の設定

opLiteMailTaskPluginに含まれる各タスクはメール件名を変更することができます。

上記のデイリーニュース送信について件名を指定する場合は /etc/crontab の send_daily_news.cron 実行についてを以下のように変更します。

00 6 * * * root sh /path/to/OpenPNE3/plugins/opLiteMailTaskPlugin/bin/send_daily_news.cron /path/to/OpenPNE3 /path/to/php "--subject=日報"

指定しない場合は以下になります。

デイリーニュース (Lite)
{{ op_config.sns_name }}デイリーニュース
フレンド誕生日お知らせメール (Lite)
{{ member.name }} さんのフレンドに誕生日の近い方がいます!