くじらの覚えがき2

おもに勉強ノート、現在ハマっていることなど、不定期で更新しています。書きかけの情報や間違った内容などが掲載されることもありますが、何卒ご容赦ください。

空メール受信のできるレンタルサーバー

PHPを使って空メール受信の仕組みをつくりたく、いろいろなところでテストしてみることにした。

さくらインターネット

空メール受信ができる有名どころ。検索してみるとさくらでの実施例がいちばん多い。

/home/(ユーザーID)/MailBox/(メールアカウント名)/にある.mailfilterを編集する(無ければ新しくつくる)ことでメールトリガーが可能になる。パーミッションは600。
空メールを保存したくなければ以下のように書く。(toからはじめる)

to "| /home/(ユーザーID)/www/起動したいPHPスクリプトのパス"

空メールを保存する場合は以下のように書く。(ccからはじめる)

cc "| /home/(ユーザーID)/www/起動したいPHPスクリプトのパス"

起動スクリプトは、メールの内容を取得したければ以下のように書く。パーミッションは744。

#!/usr/local/bin/php

変数contentにメールの中身がヘッダーごと書き込まれていくので、メールアドレスを切り出して返信や登録など必要な処理をする。

エックスサーバ

サーバーパネルから設定が可能。
空メール受信専用のメールアドレスをつくり、「メールの振り分け」で設定する。
→「メールフィルターの追加」
→「条件1(キーワード)」にメールアドレスを入力
→「あて先」を選択
→「内容を含む」を選択(「内容が一致する」でもいいのかも?)
→「処理方法(宛先)」は以下のように入力

/usr/bin/php5 /home/(ユーザーID)/(ドメイン)/public_html/起動したいPHPスクリプトのパス

→「処理方法(配送方法)」は「転送」を選ぶ(「コピー転送」でもいいのかも?)
→「振り分け設定の追加」を押す

起動するスクリプトパーミッションは755にした。

さくらと同じくmail/(ドメイン名)/(メールアドレス)/の下には.mailfilterや.aliesといったファイルがあるが、これを編集するとどうなるのかはまだ未知。

CORESERVER (CORE-B)

Maildir/(ドメイン)/下に各アドレスのディレクトリがあるが、ここに.mailfilterを設置しても動かない。
そもそもメールトリガーはできないとのこと。契約したばかりなのでちょっと残念。

CPI

電話でサポートに聞いたところ、メールトリガーはできないようにしてあるとのこと。

結論

さくらのサーバーで空メール受信ができるのは有名だが、値段が手ごろなスタンダードプランだと3GBなのでちょっと少ないかも。エックスサーバーの設定は結構柔軟にできるらしいので、テストしてみることにする。