メール受信をトリガーにPHPを実行する

メーリングリストが必要でMailmanを入れないとダメかな・・・と考えていたのですが、あそこまでの機能は必要なく特定の人へフッターに文言を追加したメールを送信出来ればいいだけ、なので自分でやってしまおうと言う所から、メールの受信をトリガーにと言う流れです。

 

postfixの設定は出来ていて、メールの送受信が可能と言う状態を想定し設定を行います。

まずは、main.cfの設定を見直します。
[shell]
vi /etc/postfix/main.cf
[/shell]

 

main.cfファイルを開いたら下記の部分の設定内容を変更します。
[shell]
# 変更前
alias_maps =
alias_database =

# 変更後
alias_maps = hash:/etc/postfix/aliases
alias_database = $alias_maps
[/shell]

 

もし、複数ドメイン(バーチャルドメイン)で運用している場合には、下記の内容も変更します。
[shell]
# 変更前
virtual_alias_maps =
# 変更前
virtual_alias_maps = hash:/etc/postfix/virtual_alias
[/shell]

 

main.cfの設定が完了したら、次にエイリアスを設定します。
[shell]
vi /etc/postfix/aliases
[/shell]

 

設定する内容を今回は、メーリングリスト用なので「ml」とします。
[shell]
ml: “| /usr/bin/php -f phpスクリプト”
[/shell]

 

ファイルを保存したら、設定を有効にするため下記のコマンドを実行します。
[shell]
newaliases
[/shell]

 

バーチャルホストを設定している場合には、「virtual_alias」も作成する必要があります。
[shell]
vi /etc/postfix/virtual_alias
[/shell]

 

ファイルに設定する内容は下記の通りです。
[shell]
ml@example.com ml
[/shell]

 

上記のファイルを保存したら、設定内容を有効にするために下記のコマンドを実行します。
[shell]
postmap /etc/postfix/virtual_alias
[/shell]

 

最後にすべての設定を反映します。
[shell]
/etc/init.d/postfix reload
[/shell]

 

あとは、メーラーからml@examle.comへメールを送信しプログラムが実行されていることを確認します・・・が、確認を行うためのphp側の処理にはログなどを出力し目で確認ができるものを入れておきます。
[php]

関連する記事

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です