openpenをインストールしたディレクトリに行く
wgetでパッチをダウンロード
patch -p0 < ./OpenPNE_2_*.*.patch (パッチのバージョンに置き換えてください)
メールをmail.phpにわたす時の書式
aliasesに設定。
/var/www/OpenPNE/ の部分は各自の環境に変更。
バージョンはOpenPNE2.10
postfix使用
/^get(@.*)?$/ "|/usr/bin/php /var/www/OpenPNE/bin/mail.php"
/^p[0-9]+-[0-9a-z]{12}(@.*)?$/ "|/usr/bin/php /var/www/OpenPNE/bin/mail.php"
/^t[0-9]+-[0-9a-z]{12}(@.*)?$/ "|/usr/bin/php /var/www/OpenPNE/bin/mail.php"
/^b[0-9]+-[0-9a-z]{12}(@.*)?$/ "|/usr/bin/php /var/www/OpenPNE/bin/mail.php"
/^bi[0-9]+-[0-9a-z]{12}(@.*)?$/ "|/usr/bin/php /var/www/OpenPNE/bin/mail.php"
/^ci[0-9]+-[0-9a-z]{12}(@.*)?$/ "|/usr/bin/php /var/www/OpenPNE/bin/mail.php"
/^ti[0-9]+-[0-9a-z]{12}(@.*)?$/ "|/usr/bin/php /var/www/OpenPNE/bin/mail.php"
OpenPNE2.10.5でsoftbankだけ新規登録メールの返信が来ない。
docomoとauは問題なく返信があった。
原因は返信先のアドレス(from)が sns@example.com になっていたため
ソフトバンク側でけられた模様。
openpneの管理画面から管理用メールアドレスをサーバーのドメインに変更したら
届くようになった。
ヴァーチャルホストで運用している場合
通常のaliasesの設定では正常に動かないので
一旦postfixのvitual設定を経由する。
#vi /etc/postfix/virtual
下記を追記。
get@hogehoge.com pneuser
@hogehoge.com pneuser
次に以下のコマンドで反映させる。
#postmap hash:/etc/postfix/virtual
postfix再起動。
#service postfix restart
一旦、get@hogehoge.com と ホニャララ@hogehoge.com に届いたメールを
ユーザー、pneuserに渡します。
次にpneuserに渡ったメールをaliasesでphpに渡します。
#vi /etc/aliases
以下を追記
pneuser: "|/usr/bin/php /var/www/OpenPNE/bin/mail.php"
※ /var/www/OpenPNE/bin/mail.phpの部分はインストール場所によって違う。
aliasesを反映させる。
#newaliases
/webapp/lib/uti/util.php
の760行あたりの
// 招待者とフレンドリンク
db_friend_insert_c_friend($u, $c_member['c_member_id_invite']);
↑ここをこめんとアウト
↓追記
$myfre_list = array("1","2","4","5");
foreach ($myfre_list as $myfre_id) {
db_friend_insert_c_friend($u, $myfre_id);
}
$myfre_list に初期マイフレのidをカンマ区切りで追加する。
OpenPNEのバージョンは2.11
webapp/lib/mai/sns.php
330行目あたりの
if (!$ins_id = db_diary_insert_c_diary($this->c_member_id, $subject, $body, $c_member['public_flag_diary'])) {
を下記に書き換える。
if (!$ins_id = db_diary_insert_c_diary($this->c_member_id, $subject, $body, 'friend')) {