Plugin概要

メールサーバからメールを取得しエントリとして追加するプラグインです。画像ファイル付きのメールにも対応しています。
必要環境
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専用のメールアドレスを準備しておいてください。
- プラグインをインストールする(このページが確認できれば、おそらくインストールは成功しています)
- 「プラグイン管理」からNP_Moblogの「編集」を開く
- 「メール取得の間隔(秒)」を0にする
- 「オプションの保存」をクリックして内容を保存する
- 「スキン編集」ページを開き、自分の使っているスキンへ<%Moblog%>を記入する。
- 「あなたの設定」ページを開く
- 「プラグインを有効にするか?」を
はい
に変更 - 「POP3 ホスト名」「POP3 ユーザー名」「POP3 パスワード」にメールサーバの情報を設定。(NP_Moblogはここで指定したメールボックスの宛てのメールを取得して追加します。
- 「Nucleusカテゴリ名(Blog名)」に投稿時に使われるカテゴリとblogを指定する。
- 「投稿許可アドレス」にメール送信元のメールアドレスを設定する。
- 「設定の変更」をクリックして記入内容を保存する。
- メールを送信して、<%Moblog%>を記入したページを表示する。
上記で設定しなかったオプションには通常の使用において十分であると考えられる初期値が設定済みになっています。
投稿されない場合には「管理操作履歴」を確認してみてください。 投稿はされるが表示が崩れたりする場合にはテンプレートを調整するとよいでしょう。 また、投稿が成功したら上記の3で設定した「メール取得の間隔(秒)」を600に戻しておきましょう。
メールタイトルにオプションを記述する方法
受信したメールは「メンバーオプション」に設定されている内容にしたがって処理されますが、メールのタイトルにオプションを記述することによってそのメールだけ特別な処理をすることができます。
メールタイトルによって変更可能なオプション
- 「Nucleus blog Id」
- 「Nucleus カテゴリ」
- 「デフォルトで公開するか?」
例えばデフォルトの設定でタイトルを「新規アイテムのタイトル@b=2&c=books&s=1」とした場合、メンバー設定にかかわらず以下のような処理が行われます。
- 「Nucleus blog Id」は2
- 「Nucleus カテゴリ」はbooks
- 「デフォルトで公開するか?」が1 (すぐに公開)
カテゴリの名前が間違っているときは、指定されたblogのデフォルトのカテゴリとなります。 存在しないblogが指定されたときは、追加を行いません。(ログにエラーが記録されます)
オプション記述方法(デフォルト時)
- オプションの記述開始は半角@
- 値を=で結び、間は&
- 「Nucleus blog Id」のキーは"b"
- 「Nucleus カテゴリ」のキーは"c"
- 「デフォルトで公開するか?」のキーは"s"
スキンへの記述
インストールを行っただけではメールの取得は行われません。
スキン中に以下のタグを記述することにより、メールの取得が行われるようになります。
タグ | 解説 |
---|---|
<%Moblog%> | このページが表示されるときにメールの取得を行います。 前回の取得処理からプラグインオプションで設定してある「メール取得の間隔(秒)」以上の時間が経過していない場合には取得処理を行いません。 |
<%Moblog(link)%> | メンバーがログインした状態でこのスキンを表示するとAdd Item by Mail というリンクが出現します。これをクリックすることにより、メールの取得処理を行うことができます。これは上記と違い、必ずメール取得処理を行います。 |
オプション
NP_Moblog
には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
を完全にアンインストールするための手順は以下の通りです
- 「プラグイン管理」からNP_Moblogをアンインストールする
- Nucleusをインストールしているサーバの
nucleus/plugin/
ディレクトリからNP_Moblog.php
とmoblog
ディレクトリを削除する
バージョン履歴
新バージョンはNP_cles()で確認してください。
- Version 1.17: (2010/06/06)
- [Fixed] エンコーディングが適切に検出されない問題を修正
- [Fixed] mysql_query()をsql_query()に変更
- [Fixed] eregi()をpreg_match()に変更
- [Fixed] register_globals,allow_url_fopen,allow_url_includeがonの場合にリモートコードインジェクションが発生する問題に対応しました (Thanks Katsumiさん)
- [Fixed] 画像ファイルが添付されない不具合を修正 (Thanks furuchanさん, v1.17.1)
- Version 1.16: (2007/03/17)
- [Fixed] メールアドレスの大文字小文字を区別しないようにした
- [Fixed] 管理者が設定の変更を行った場合、useridディレクトリにきちんと画像が保存されない問題を修正
- Version 1.15: (2006/09/30)
- [Fixed] セキュリティの向上
- Version 1.14: (2006/07/15)
- [Added] 画像・サムネイルの保存先を指定できるようにした
- [Fixed] ファイル名のPrefixをuniqid()からYYYYmmddHHiissnn形式(日付+連番)に変更した
- [Fixed] ユーザーがSuper-Adminである場合に任意のBlog、カテゴリで投稿できる問題を修正
- [Fixed] ブログ名、カテゴリ名に特定の文字が入っている場合に、投稿が出来ない問題を修正
- Version 1.13: (2006/03/24)
- [Fixed] HTMLメールが上手く扱えない問題を修正
- Version 1.12: (2005/03/19)
- [Fixed] ライセンスを変更した
- Version 1.11: (2005/12/30)
- [Fixed] マニュアルの誤記、XHTMLに準拠していなかった部分を修正
- [Fixed] PEARファイル群のinclude()の方法を改善
- Version 1.10: (2005/09/01)
- [Fixed] 「イメージ添付メールのみ追加?」が「はい」の場合に、添付ファイルが存在しているにもかかわらず、エントリが追加されない不具合を修正
- [Added] 管理画面から動作確認ができる機能を追加
- Version 1.9: (2005/09/01)
- [Changed] 「Nucleus blog Id」「Nucleus カテゴリ名/カテゴリID」を「Nucleusカテゴリ名(Blog名)」変更
- Version 1.8: (2005/07/25)
- [Fixed] PEARクラスのinclude()方法を変更した
- Version 1.7: (2005/07/07)
- [Fixed] 1.6で修正されていなかったオプション分割の不具合を修正
- Version 1.6: (2005/07/02)
- [Added] テキストテンプレート(添付ファイルがない場合のテンプレート)を追加
- [Added] SPAM Checkに対応(別途、NP_BlackListなどが必要です)
- [Added] Help(このファイル)を同梱
- [Fixed] オプション分割の不具合を修正
- [Fixed] Nucleus v3.2以前のバージョンにインストールできないようにした。(getMinNucleusVersionを設定)
Special Thanks
NP_MoblogははまみおさんのNP_HeelloWorld v0.8を基に開発しました。原作者のまみおさんに感謝します。
開発者について
- hsur (cles::blog)
- 配布元: NP_cles() - NP_Moblog
← ご自由にご利用ください。
- ドネーションや仕事のご依頼も歓迎します。