Plugin概要 Powered by NP_Moblog Powered by CLES

メールサーバからメールを取得しエントリとして追加するプラグインです。画像ファイル付きのメールにも対応しています。

必要環境

Nucleus: 3.2以降

PHP: 4.3.x以降

ファイル構成

インストール時の構成は以下の通りになります

(Nucleusのpluginフォルダ)
├NP_Moblog.php
│├moblog/
│├index.php
│└help.html
└sharedlibs/
 └PEAR/共通ライブラリ群

最低限やらなければならないこと

NP_Moblogには開発の過程でたくさんのオプション(設定項目)が追加されてきました。

これらは全てNP_Moblogを快適に利用するためのものですが、はじめてお使いになる方はオプションの多さにビックリされているかもしれません。ここではNP_Moblogを利用するために最低限やらなければならないことについて解説します。

以下の手順に入る前に、NP_Moblog専用のメールアドレスを準備しておいてください。

  1. プラグインをインストールする(このページが確認できれば、おそらくインストールは成功しています)
  2. 「プラグイン管理」からNP_Moblogの「編集」を開く
  3. 「メール取得の間隔(秒)」を0にする
  4. 「オプションの保存」をクリックして内容を保存する
  5. 「スキン編集」ページを開き、自分の使っているスキンへ<%Moblog%>を記入する。
  6. 「あなたの設定」ページを開く
  7. 「プラグインを有効にするか?」をはいに変更
  8. 「POP3 ホスト名」「POP3 ユーザー名」「POP3 パスワード」にメールサーバの情報を設定。(NP_Moblogはここで指定したメールボックスの宛てのメールを取得して追加します。
  9. 「Nucleusカテゴリ名(Blog名)」に投稿時に使われるカテゴリとblogを指定する。
  10. 「投稿許可アドレス」にメール送信元のメールアドレスを設定する。
  11. 「設定の変更」をクリックして記入内容を保存する。
  12. メールを送信して、<%Moblog%>を記入したページを表示する。

上記で設定しなかったオプションには通常の使用において十分であると考えられる初期値が設定済みになっています。

投稿されない場合には「管理操作履歴」を確認してみてください。 投稿はされるが表示が崩れたりする場合にはテンプレートを調整するとよいでしょう。 また、投稿が成功したら上記の3で設定した「メール取得の間隔(秒)」を600に戻しておきましょう。

メールタイトルにオプションを記述する方法

受信したメールは「メンバーオプション」に設定されている内容にしたがって処理されますが、メールのタイトルにオプションを記述することによってそのメールだけ特別な処理をすることができます。

メールタイトルによって変更可能なオプション

  1. 「Nucleus blog Id」
  2. 「Nucleus カテゴリ」
  3. 「デフォルトで公開するか?」

例えばデフォルトの設定でタイトルを「新規アイテムのタイトル@b=2&c=books&s=1」とした場合、メンバー設定にかかわらず以下のような処理が行われます。

  1. 「Nucleus blog Id」は2
  2. 「Nucleus カテゴリ」はbooks
  3. 「デフォルトで公開するか?」が1 (すぐに公開)

カテゴリの名前が間違っているときは、指定されたblogのデフォルトのカテゴリとなります。 存在しないblogが指定されたときは、追加を行いません。(ログにエラーが記録されます)

オプション記述方法(デフォルト時)

  1. オプションの記述開始は半角@
  2. 値を=で結び、間は&
  3. 「Nucleus blog Id」のキーは"b"
  4. 「Nucleus カテゴリ」のキーは"c"
  5. 「デフォルトで公開するか?」のキーは"s"

スキンへの記述

インストールを行っただけではメールの取得は行われません。

スキン中に以下のタグを記述することにより、メールの取得が行われるようになります。

タグ 解説
<%Moblog%> このページが表示されるときにメールの取得を行います。
前回の取得処理からプラグインオプションで設定してある「メール取得の間隔(秒)」以上の時間が経過していない場合には取得処理を行いません。
<%Moblog(link)%> メンバーがログインした状態でこのスキンを表示するとAdd Item by Mailというリンクが出現します。これをクリックすることにより、メールの取得処理を行うことができます。
これは上記と違い、必ずメール取得処理を行います。

オプション

NP_Moblogには2種類のオプションがあります

  1. 「プラグイン管理」から設定できる「プラグインオプション」
  2. 「あなたの設定」や「メンバー管理」からメンバーごとに設定できる「メンバーオプション」

プラグインオプション(サイト全体の設定)

オプション 解説
動作モード 動作モードを設定します。
  • 「互換モード」:通常はこちらを選択してください。
  • 「振分対応モード」:ひとつのメールアカウントを複数のメンバーで共有する場合にのみこちらを選択してください。

    メンバーオプション内の「投稿を許可するメールアドレス」に記載されていないアドレスから投稿があった場合にそのメールを削除しないようになります。 したがって、誰も投稿許可にしていないメールアドレスから投稿があった場合、メールボックスにはどんどんゴミが溜まっていきます。 この場合、予期せずメールボックスが満杯になる可能性がありますのでご注意ください。
デフォルト:「互換モード」
SPAMチェックを有効にする NP_Blacklistなどによりメールのチェックを行います。SPAMと判定された場合にはメールは投稿されません。
別途、SPAM判定用のプラグインが必要です。($manager->notify('SpamCheck',....)に対応したもの)
メール取得の間隔(秒) NP_Moblogはスキンに<Moblog>と書かれたページにアクセスがあるとメールを取得するようになっています。しかしながら<Moblog>と書いてあるスキンへのアクセスが多い場合、プラグインはアクセスのたびにメールを取得するので、メールの連続取得による負荷が大きくなる場合があります。そのような状況を回避するためメールの取得処理の間隔を設定することができます。
※テスト時などこの機能を無効化したい場合には0を入力します。
デフォルト: 600 (10分)
次回更新時刻(変更できません) この時刻以降に<Moblog>と記載されているページにアクセスするとメール取得処理を行う。
※表示用のため変更できません。
ログを出力を行うか? はいにすることにより「管理者操作履歴」ログを記録するようになります。 膨大なログが出力されるので動作確認時以外はいいえにしておくことを推奨します。 いいえの場合であっても重大なエラーについては記録されます。
デフォルト: いいえ

メンバーオプション(メンバーごとの設定)

オプション 解説
プラグインを有効にするか? いいえの場合、このメンバーでメールの取得を行いません。
デフォルト: いいえ
POP3 ホスト名 メールを取得するメールサーバ名
POP3 ポート メールを取得するメールサーバのポート。通常は変更しなくて大丈夫です
デフォルト: 110
POP3 ユーザー名 メールを取得するメールサーバのユーザ名
POP3 パスワード メールを取得するメールサーバのパスワード
APOPを使用するか? メール取得の際にAPOPを利用するかどうかを設定します。
デフォルト: いいえ
画像を保存するディレクトリ 画像を保存するディレクトリを指定します。
※デフォルト以外を利用する場合には、あらかじめmediaディレクトリ内にディレクトリを作成しておく必要があります。
サムネイルを保存するディレクトリ サムネイルを保存するディレクトリを指定します。
※デフォルト以外を利用する場合には、あらかじめmediaディレクトリ内にディレクトリを作成しておく必要があります。
Nucleusカテゴリ(Blog) メールをどのカテゴリ(blog)で投稿するか設定します。
イメージ添付メールのみ追加? 添付ファイルがある場合のみ、投稿を行います。添付ファイルがないメールは無視されます。
デフォルトで公開するか? いいえの場合には取得したメールをドラフトとして投稿します。投稿内容をドラフトにせずに即時に公開したい場合には設定をはいにします。
デフォルト: いいえ
オプション記述開始の区切り文字 メールタイトルによってオプションを上書きする場合にオプションの始まりを示す文字。
デフォルト: @
オプションでblogidを指定する場合のキー メールタイトルによってオプションを上書きする場合に「Nucleus blog Id」を表すキー
デフォルト: b
オプションでカテゴリを指定する場合のキー メールタイトルによってオプションを上書きする場合に「Nucleus カテゴリ名/カテゴリID」を表すキー
デフォルト: c
オプションでストレートにpublish指定する場合のキー メールタイトルによってオプションを上書きする場合に「デフォルトで公開するか?」を表すキー
デフォルト: s
追記にする場合の区切り文字(利用しない場合は空欄) メールの本文中に指定する文字列があった場合、にその文字列以降の部分が追記になります
デフォルト: (空欄)
投稿許可アドレス(複数の場合改行で区切ってください) 投稿を許可するメールの送信元を指定します。ここで指定されない送信元からのメールは追加されません。
推奨しませんが*だけを書いた行を追加することで、不特定のユーザから投稿することが可能になります。不用意に使うとblogがSPAMだらけになる可能性がありますので十分注意してください。
デフォルト: (空欄)
投稿許可SubjectPrefix(制限無しの場合は空欄) Subjectが特定の文字列から始まる場合にのみ投稿が行われます。この機能を利用しないとき空欄にしておいてください。
デフォルト: (空欄)
件名がないときの題名 メールのタイトルがない場合にここで設定した内容をタイトルとして利用します
デフォルト: (空欄)
htmlメールの場合に除去しないタグ メールをHTML形式で送信した際に、除去しないタグを指定します
デフォルト: <title> <hr> <h1> <h2> <h3> <h4> <h5> <h6> <div> <p> <pre> <sup> <ul> <ol> <br> <dl> <dt> <table> <caption> <tr> <li> <dd> <th> <td> <a> <area> <img> <form> <input> <textarea> <button> <select> <option>
最大添付量(B) 添付ファイルを最大容量を指定します。これ以上の容量のファイルは追加されません。また、添付ファイルの最大容量はこれ以外の設定などによって制限を受ける場合があります
デフォルト: 300000
対応MIMEタイプ(正規表現) 添付ファイルのMIMEタイプがここで指定するパターンに該当する場合にのみ保存を行います。
デフォルト: gif|jpe?g|png|bmp|octet-stream|x-pmd|x-mld|x-mid|x-smd|x-smaf|x-mpeg|pdf
保存しないファイル(正規表現) 「対応MIMEタイプ」に該当する場合でも、ファイルがここで指定するパターンに該当する場合には添付ファイルは処理されません。
デフォルト: .+\.exe$|.+\.zip$|.+\.pif$|.+\.scr$
画像ファイルの拡張子(正規表現) 「対応MIMEタイプ」に該当し、ファイルがここで指定するパターンに該当する場合に、添付ファイルが画像ファイルと認識します。それ以外はデータファイルとみなされます。
デフォルト: .+\.png$|.+\.jpe?g$|.+\.gif$|.+\.bmp$
サムネイルを使用する? サムネイルを自動的に作成するか指定します
デフォルト: はい
サムネイルの大きさ(Width) 生成されるサムネイルの最大横幅を指定します
デフォルト: 120
サムネイルの大きさ(Hight) 生成されるサムネイルの最大縦幅を指定します
デフォルト: 120
サムネイルを作る対象画像 サムネイル生成の対象となるファイル名のパターンを指定します
デフォルト: .+\.jpe?g$|.+\.png$
アイテム内に表示する画像の最大横幅 サムネイルを生成しない場合に、IMGタグに挿入される横幅を指定します
デフォルト: 120
テキストテンプレート 添付ファイルがない場合に使われるテンプレートです
テンプレート内で使えるタグについては別途解説してあります
サムネイル付きテンプレート サムネイルを使うように設定してあり、なおかつサムネイルがきちんと生成できた場合に使われるテンプレートです
テンプレート内で使えるタグについては別途解説してあります
サムネイルなしテンプレート サムネイルを使わないように設定していて、画像の横幅が「アイテム内に表示する画像の最大横幅」を超えない場合、もしくは「対応MIMEタイプ」に含まれるが「サムネイルを作る対象画像」に該当する場合に使われるテンプレートです。
テンプレート内で使えるタグについては別途解説してあります
サムネイルなしテンプレート(縮小) サムネイルを使わないように設定していて、画像の横幅が「アイテム内に表示する画像の最大横幅」を超える場合に使われるテンプレートです
テンプレート内で使えるタグについては別途解説してあります
データファイルテンプレート 画像以外の添付ファイルがあるときに使われるテンプレートです
テンプレート内で使えるタグについては別途解説してあります

テンプレート内で利用可能なタグ

テンプレート中には以下のタグが利用できます。

(テンプレートによっては使えないものもあります)

タグ 解説
<%sizeW%> オリジナル画像の横幅
<%sizeH%> オリジナル画像の縦幅
<%thumbW%> 生成されたサムネイルの横幅
<%thumbH%> 生成されたサムネイルの縦幅
<%reductionW%> 画像を縮小表示するときの横幅
<%reductionH%> 画像を縮小表示するときの縦幅
<%thumbUrl%> 生成されたサムネイルのURL
<%imageUrl%> オリジナル画像(添付ファイル)のURL
<%mediaUrl%> mediaディレクトリのURL
<%fileName%> 添付ファイルのファイル名
<%body%> メールの本文

サポートとバグレポート

問題が解決できない場合にはNucleus(JP)フォーラムを活用しましょう。

バグレポートについては配布元のNP_cles()にて受け付けていますので、該当のバージョンのエントリにコメント又はトラックバックでどうぞ。

「動作確認しました」というだけでも開発者には重要な情報になります。

アンインストール

NP_Moblogを完全にアンインストールするための手順は以下の通りです

  1. 「プラグイン管理」からNP_Moblogをアンインストールする
  2. Nucleusをインストールしているサーバのnucleus/plugin/ディレクトリからNP_Moblog.phpmoblogディレクトリを削除する

バージョン履歴

新バージョンはNP_cles()で確認してください。

Special Thanks

NP_MoblogははまみおさんのNP_HeelloWorld v0.8を基に開発しました。原作者のまみおさんに感謝します。

開発者について