CentOS6+Postfix+Dovecotな環境で自前メールサーバを運用している。
表題のようなことはできないと思っていたが、やってみたら簡単にできた。
日本語の扱いに問題があると指摘しているサイトもあるが、試した限りでは問題は見つけられない。
バージョンアップで修正されたということだろう。
概要
Z-PushなるPHPソフトを利用する。
デーモンとして起動するようなものを想像していたが、PHPなのは驚いた。
どういう仕組みなのか興味を持ったので、いずれ勉強したい。
設置作業
公式サイトからダウンロードして展開し、サーバの適当な場所に配置し、Apacheが読み書きできるように所有者とパーミッションを設定。
取説には/usr/share/z-pushに設置するように書かれていたが、Apacheの扱うものはまとめておきたいので、ここでは/var/www/z-pushに配置した。今のところ特に問題は起きていない。
次にconfig.phpを設定。
ここでは
define('TIMEZONE', 'Asia/Tokyo');
と
define('BACKEND_PROVIDER', 'BackendIMAP');
の2カ所を変更。
最後にApacheの設定。ここではhttpd.confに以下を追記した。
Alias /Microsoft-Server-ActiveSync /var/www/z-push/index.php <Directory "/var/www/z-push"> AddType application/x-httpd-php .php php_flag magic_quotes_gpc off php_flag register_globals off php_flag magic_quotes_runtime off php_flag short_open_tag on </Directory>
これでApacheを再起動したら、
http://[ドメイン]/Microsoft-Server-ActiveSync
にアクセスし、
GET not supported This is the Z-Push location and can only be accessed by Microsoft ActiveSync-capable devices
とか書かれたエラーページが表示されれば、ここまでは成功。
iPhoneの設定
設定アプリからメールアカウントを追加、アカウントの種類はExchangeを選択。
メールアドレスやIMAPのパスワードを求められるままに入力。
認証できませんとのエラーが出るが、とにかくアカウント設定を保存。
追加したアカウントの設定を開き、詳細設定からSSLの使用を外す。
これでエラーが出なくなり、メールアプリでメールの確認が可能に、そしてプッシュ通知を受け取る設定も可能になる。