みたいなアドレスをユーザーに発行して、そこに添付メールを送信してもらい、PHPで受け取ってパースしたかった。PHPとsendmailで任意のメールアドレスに来たメールを処理する方法こちらのブログで紹介されている通りなんだけど、/etc/mail/sendmail.cfを修正してもエラーになる。表記が難解過ぎて自分で調べる気にもならない・・・。コメントを見ると「virtusertable」で設定するのが今風らしい。調べて半日以上ウダウダ格闘した結果。実体(linuxユーザー)はない。cake.phpはsendmailが呼べるように/etc/smrsh/にシンボリックリンクを貼っておく。hogemail.hoge.comに来たメールは全てaliasesのhogeに投げるという設定。全て飛ばしたかったのだが、ユーザーの有無に関わらず全て転送されてしまうため、サブドメインを用意した。他に方法はあるんだろうか。/etc/mail/virtusertableそんでもって更にサブドメインにしてしまったのでlocal-host-namesを修正。ここからやっと本題?のCakePHPでの処理。メールのパースにはPEARのMail_mimeDecodeを利用する。dirname(__FILE__));PEAR環境は整っているものとする。Mail_Mime/cake_path/vendors/Mail/mime.phpMail_mimeDecode/cake_path/vendors/Mail/mimeDecode.phpMail_mimePart/cake_path/vendors/Mail/mimePart.phpをダウンロード、設置。}toからDBに紐づいたユーザーを判別して云々とか。unknownとかも自分で送信しないといけないっぽい。後は$structureに全部デコード状態で入っているので$this->log()とかして中身を見れば後はわかるかと。文字列はエンコードタイプを見て、必要に応じて変換(mb_convert_encoding)する必要あり。添付のバイナリデータはそのままファイルに出力すればOKだった。開発www1.hoge.comwww2.hoge.comでセッションを共有したい場合、PHPならsession.cookie_domainを設定すればOKと判明、もちろん同一サーバでないとダメだけど。“.hoge.com”をどっかで設定して、試しに$_SESSIONに書きこんで、他のサブドメから参照。上手くいったのでCakePHPのAuthコンポーネントでテスト。するとログイン後、他のサブドメから参照すると、ログインしたドメイン側からセッション情報が消えるという謎展開。事情は若干違うんだけど。セッションが確認しなくなります。WordPressこの辺を参考に。XML-RPCを駆使してブログの記事を投稿してみるこの辺を見ながら。APIタグやカテゴリ、カスタムフィールドの追加なんかもできる。ファイルはアップロードはできるが、一覧や削除はできない模様。カスタムフィールドでハマった点は、更新時にIDが必要になる事。削除時(フィールドを空にしたい時)にはvalueを空にするのではなく、keyメンバ自体を入れないようにすること。当初wp.*しか使えないのだと思っていたら互換性と利便性を保つために数種類のメジャーブログシステムのAPIが使える事が判明。以下mt.supportedMethodsをWordPress3に投げて返ってきた結果。API用クライアントライブラリもうある罠。TechnoCompiler。