Hatena::ブログ(Diary)

へっぽこPGの徒然日記

2010-11-21

「OpenPNE 3.4.9 + さくらサーバー」で携帯メール投稿できるように修正してみた

身内の会合用にSNSがあるとべんりかなー、とか思ったのでOpenPNE3.4.9をさくらサーバーに入れてみた。


インストール方法についてはいろいろなところで触れられているので割愛。

OpenPNE3 をさくらのレンタルサーバにインストールしてみました|OpenPNE


ただ、通常の設定方法ではさくらサーバー上の運用で携帯からのメール投稿を使用することができない様子。

携帯からの画像投稿はメールからしかできないので、これが動かないのは結構不便。

いろいろしらべてみたところ2.xでの使用方法はみつかったものの、3.xでの方法はあまりみつからなかった。

しょうがないので各所に修正いれつつ運用。

次回アップデート時のために備忘録。


【方針】

gmailによる転送を使用

OpenPNE2.xの方法(下記リンク先)でうまくいかなかった部分を修正

情報科雑感: GmailとSAKURAでOpenPNEの携帯メール投稿設定

さくらインターネットでOpenPNE - ちほちゅう


【修正箇所】

1..mailfilterファイル

.mailfilterファイルの中身は以下の通り

to "| /usr/local/bin/php [path/to/OpenPNE]/symfony openpne:execute-mail-action"

exit

2.PHPファイル

2.1.openpneExecutemailactionTask.class.php

[path/to/OpenPNE]/lib/task/openpneExecutemailactionTask.class の42行目あたりを下記の様に修正

(下記の"gmail_transfer_address+"の部分は転送用のgmailアドレスの内+以前の部分)

$stdin = file_get_contents('php://stdin');

$message = new opMailMessage(array('raw' => $stdin));

opMailRequest::setMailMessage($message);

$message->to = str_replace("gmail_transfer_address+","",$message->to); //← ここを追加


2.2.opMailMessage.class.php

[path/to/OpenPNE]/lib/util/opMailMessage.class.php の43行目あたりを下記の様に修正、

$content = mb_convert_encoding($this->current()->getContent(), 'UTF-8', 'JIS, SJIS'); //← SJIS追加

55行目あたりを下記の様に修正する。

return mb_convert_encoding(parent::getContent(), 'UTF-8', 'JIS, SJIS'); //← SJIS追加


2.3.opMailRoute.class.php

[path/to/OpenPNE]/lib/routing/opMailRoute.class.php 60行目あたりを下記の様に修正

(下記の"gmail_transfer_address+"の部分は転送用のgmailアドレスの内+以前の部分)

parent::fixSuffix();

$this->pattern = "gmail_transfer_address+".$this->pattern; //← ここを追加

if (sfConfig::get('op_is_mail_address_contain_hash', false) && !$this->nonAuth)

{

$this->pattern = $this->pattern.'.:hash';

}


変更は以上(多分)

記述忘れがあったり、不都合があったら後々修正。

cap24fukcap24fuk 2011/04/26 13:39 探してた内容だったので、上記のように修正したのですが、
残念ながら動きませんでした。(環境:3.4.11)

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証

トラックバック - http://d.hatena.ne.jp/heppokodiary/20101121/1290339866