空メール受信のできるレンタルサーバー
PHPを使って空メール受信の仕組みをつくりたく、いろいろなところでテストしてみることにした。
さくらインターネット
空メール受信ができる有名どころ。検索してみるとさくらでの実施例がいちばん多い。
/home/(ユーザーID)/MailBox/(メールアカウント名)/にある.mailfilterを編集する(無ければ新しくつくる)ことでメールトリガーが可能になる。パーミッションは600。
空メールを保存したくなければ以下のように書く。(toからはじめる)
空メールを保存する場合は以下のように書く。(ccからはじめる)
起動スクリプトは、メールの内容を取得したければ以下のように書く。パーミッションは744。
#!/usr/local/bin/php
変数contentにメールの中身がヘッダーごと書き込まれていくので、メールアドレスを切り出して返信や登録など必要な処理をする。
エックスサーバ
サーバーパネルから設定が可能。
空メール受信専用のメールアドレスをつくり、「メールの振り分け」で設定する。
→「メールフィルターの追加」
→「条件1(キーワード)」にメールアドレスを入力
→「あて先」を選択
→「内容を含む」を選択(「内容が一致する」でもいいのかも?)
→「処理方法(宛先)」は以下のように入力
/usr/bin/php5 /home/(ユーザーID)/(ドメイン)/public_html/起動したいPHPスクリプトのパス
→「処理方法(配送方法)」は「転送」を選ぶ(「コピー転送」でもいいのかも?)
→「振り分け設定の追加」を押す
さくらと同じくmail/(ドメイン名)/(メールアドレス)/の下には.mailfilterや.aliesといったファイルがあるが、これを編集するとどうなるのかはまだ未知。
CORESERVER (CORE-B)
Maildir/(ドメイン)/下に各アドレスのディレクトリがあるが、ここに.mailfilterを設置しても動かない。
そもそもメールトリガーはできないとのこと。契約したばかりなのでちょっと残念。
CPI
電話でサポートに聞いたところ、メールトリガーはできないようにしてあるとのこと。
結論
さくらのサーバーで空メール受信ができるのは有名だが、値段が手ごろなスタンダードプランだと3GBなのでちょっと少ないかも。エックスサーバーの設定は結構柔軟にできるらしいので、テストしてみることにする。