DreamHostでメールをコマンドに転送する方法
DreamHostで借りているサーバでOpenPNEを使ってSNSを運営している。
携帯からメールで写真や日記をアップロードするためには、特定のメールアドレスに届いたメールをコマンド
"|/usr/local/bin/php $HOME/OpenPNE/bin/mail.php"
に転送しないといけない。
コントロールパネルの「Forward-Only Email」のところにコマンドを入れてみたけど、「@を含んだアドレスを入れろ」と拒否されてしまった。
そこでサポートに質問したら、すぐ返事が返ってきた。
残念ながら、それはできません。
一番いいのは、メールを
(ユーザー名)@(ホスト名).dreamhost.com
に転送して、procmailを設定してメールをスクリプトに渡すことです。
ごめん!
直接コントロールパネルでコマンドを指定できないけど、代わりの方法を教えてもらったので、やってみた。
- DreamHostのコントロールパネルで、catch-all@(ドメイン名)宛てのメールを(ユーザー名)@(ホスト名).dreamhost.comに転送設定する。
ユーザー名、ホスト名はDreamHostにTelnetでログインするときのもの。 - DreamHostにTelnetでログインして、ホームディレクトリに.forward.postfixを作成する。
- .forward.postfixに次の内容を追加して保存する。
"|/usr/bin/procmail -t" - ホームディレクトリの.procmailrcの一番最後に次の内容を追加して保存する。
|/usr/local/bin/php $HOME/OpenPNE/bin/mail.php
これで、メールがコマンドに転送されて、携帯から写真をアップロードできるようになった。
めでたしめでたし。
と思いきや、携帯からメールでアップロードした写真が横向きに表示されるという問題が発覚。なぜだ…。