メール受信でPHPを起動
Postfixにて、メール受信をトリガーにしてPHPを起動させる設定についてです。
よくある、空メールを送信して登録画面のURLを発行するなどのあれの設定です。
■エイリアスを有効にする
メール受信をトリガーとしてプログラムを起動させる、
また今回はやりませんがローカルパート(@の左側)に送信されたメールを転送するなどをするため、
エイリアスを有効にします。
/etc/postfix/main.cf に以下の設定がコメントアウトされてると思うので、
コメントアウトを削除して有効にします。
/etc/postfix/main.cf #alias有効 alias_maps = hash:/etc/postfix/aliases alias_database = hash:/etc/postfix/aliase
■バーチャルエイリアスの設定
Postfixで複数のドメインを使う場合、バーチャルエイリアスの設定が必要になります。
まず、/etc/postfix/main.cfでバーチャルエイリアスを有効にし、
バーチャルエイリアスの設定ファイル(今回は/etc/postfix/virtual)にてバーチャルエイリアスのユーザーリストを作成します。
/etc/postfix/main.cf #virtual_domain指定 virtual_alias_domains = example.com virtual_alias_maps = hash:/etc/postfix/virtual /etc/postfix/virtual #virtual_aliases設定 register@example.com register-example delete@example.com delete-example
■トリガーの設定
上記設定にてregister@example.comを受信したらregister-exampleが、
delete@example.comを受信したらdelete-exampleが呼ばれるようになりました。
最後の/etc/postfix/aliasesに実行するプログラムを設定します。
/etc/postfix/aliases #トリガー設定 register-example: | "/usr/bin/php /path/to/register.php" delete-example: | "/usr/bin/php /path/to/delete.php"
パイプで実行するプログラムを繋ぎダブルコーテーションで囲みます。
また、他のメールに転送する場合は転送先のメールアドレスを指定します。
send: hoge@example.com,fuga@example.com