isseium's blog

田舎に住むWebエンジニアのブログ

さくらサーバーでOpenPNEの携帯メール投稿機能を実現

※isseiumが2009/04/26に書いた記事を、ブログ移転のため転載したものです。情報が古い可能性があります。


さくらサーバーでOpenPNEの携帯メール投稿機能を実現した際のメモ. (2009/08/23 改訂)



いろいろぐぐったら先駆者たちが対策方法を生み出していました.ありがたや.

http://www.cre8system.jp/blog/2006/11/openpne.html

http://yukiita.net/blog/entry/2006/000497.php

http://sumidagawa.sblo.jp/article/11226948.html


今回は,新しい方法として,GoogleAppsを用いて解決を試みてみました.
さくらサーバで携帯メール投稿ができない理由は

携帯投稿先ドメインがsns.foobar.comであった場合


〜@sns.foobar.com


にメールがきたら,すべてOpenPNE/bin/mail.phpにその処理を投げたいんだが,さくらサーバーだとそれができないっていうことです.



で解決策としては,上記参考サイトに書いてあるような,google アカウントの "+"の特徴を使ったり,力業でアカウントを増やしたりするという方法です.


私は普段からドメイン宛アドレスのキャッチオールができるGoolge Apps を使っていたので,せっかくだからこれを使えばいいと思いました.


(以下、2009年8月23日 改訂)

0. 前提条件

OpenPNE ドメイン sns.foobar.com
携帯投稿専用ドメイン(このドメインをGoogle Apps に申込) sns-mobile.foobar.com

1. さくらサーバ側に携帯投稿専用アドレスを作成

さくらのコントロールパネルから、mobile というメールアカウントを作成します。


同時に、[メール転送] のところから転送設定をします。転送先はどこでもかまいません。今回は、hoge@gmail.com (自分のgmail) とします。

2. Google Apps のセットアップ

下記リンクからGoogleAppsに申し込みしてください.詳細は省略します。

http://www.google.com/a/help/intl/ja/index.html


申し込み時のドメイン名は,携帯メール投稿専用のドメインにしますので,OpenPNEとは違うドメインにしてください.
今回は、webmaster@sns-mobile.foobar.com で申し込んだとします.

ドメインの所有権の確認とMXレコードの変更

さくらの「会員メニュー→契約情報→ドメインメニュー→ゾーン設定」で

googlexxxxxxxxx.sns-mobile	CNAME	google.com.
sns-mobile	MX	10 ASPMX.L.GOOGLE.COM.
MX	20 ALT1.ASPMX.L.GOOGLE.COM.
MX	20 ALT2.ASPMX.L.GOOGLE.COM.
MX	30 ASPMX2.GOOGLEMAIL.COM.
MX	30 ASPMX3.GOOGLEMAIL.COM.
MX	30 ASPMX4.GOOGLEMAIL.COM.
MX	30 ASPMX5.GOOGLEMAIL.COM.

googleからはじまるやつは,所有権の確認用のCNAMEです.


以上を終えたら、、webmaster@sns-mobile.foobar.com に メールが届くことを確認してください。

3. キャッチオールアドレスの設定

[ダッシュボード] → [メール] → [キャッチオールアドレス] にて、[次のアドレスに転送] を選択し、[webmaster] と入力します。

動作確認

適当なアドレスから hogehogehoge@sns-mobile.foobar.com に メールを送信します。
このメールが、webmaster@sns-mobile.foobar.com に転送されていれば成功です。

4. キャッチオールアドレスからの転送

webmaster@sns-mobile.foobar.com のgmail (管理画面からは右上の[受信トレイ])を開きます。その後、


(右上) [設定] → [メール転送とPOPとIMAP]


を開き、[転送]の項目を次のようにします。


受信メールを [mobile@sns.foobar.com] に転送し・・・

5. さくらのメールサーバ設定

ssh でさくらサーバにアクセスします。

    $ cd /home/(アカウント)/MailBox/mobile/
    $ vi .mailfilter

上記のように vi などのエディタで .mailfilter を開くと

    cc "!hoge@gmail.com"

となっていると思います。これをすべて消して、以下のように書き換えます。
vi の使い方がわからない人は、Win の メモ帳などで .mailfilter を作成し、ftpでアップロードしてもかまいません。

    to "| /usr/local/bin/php /home/(アカウント)/path/to/openpne/bin/mail.php"
    exit

※path/to/openpneOpenPNE までのパス(config.php があるところ) を指します。
自分の場合は /home/(アカウント)/www/openpne/bin/mail.php となります。

6. config.phpの変更

config.phpの26行目付近を

    define(’MAIL_SERVER_DOMAIN’, ’sns-mobile.foobar.com’); Google Appsのドメイン

に書き換えます.

以上で設定は終了です。OpenPNE の携帯メール投稿機能を実際に使用して、動作を確認してみてください.

追伸

KOKOさんimax さんのおかげで改訂することができました。感謝申し上げます。

まだまだわかりにくいところがあるかと思います。この記事を見たかたで、なにか質問等がありましたらお気軽にコメントをください。