このブログはポイントやマイルに関する記事よりも技術的な記事のほうがアクセスが多いようで、微妙なブログになりつつあります…。
メール受信後にPHPで処理を行うプログラムを何度か作って来ましたが、毎回何度も設定を見直し、ようやく動くようになるということを繰り返してきましたので、そろそろ備忘録的にもこの設定をやれば動くという事を残しておこうと思います。
解説範囲は、メールサーバをSendmailからPostfixに変更し、メール受信後にPHPで処理し、送信元アドレス、送信先アドレスを取得するところまで行います。
第1回目はPostfixのインストールまでです。以下表示のIPアドレス、DOMAINは適宜変更して下さい。
1. 25番ポートを開ける
メール受信のために、25番ポートを開けます。Amazon EC2ではSecurity Groupsで25番ポートの設定を行うだけです。以前書いた記事「SendmailからPostfixへの変更、Postfixでメール受信時にプログラム起動」を参照して下さい。
2. MXレコードを設定
DNSでMXレコードを設定します。
mail A IPアドレス MX 10 mail.DOMAIN.
digコマンドでチェックします。
$ dig DOMAIN mx ; <<>> DiG **** <<>> DOMAIN mx ;; global options: +cmd ;; Got answer: ;; ->>HEADER<DOMAIN. IN MX ;; ANSWER SECTION: DOMAIN. 29633 IN MX 10 mail.DOMAIN. ;; ADDITIONAL SECTION: mail.DOMAIN. 29634 IN A IPアドレス ;; Query time: 0 msec ;; MSG SIZE rcvd: 65
3. Postfixをインストール
# yum install postfix
4. MTAの変更
もし、PostfixをインストールしてMTAが変更されていない場合はMTAを変更します。「SendmailからPostfixへの変更、Postfixでメール受信時にプログラム起動」のMTAの変更を参照。
5. Postfixの自動起動設定
もし、PostfixをインストールしてPostfixの自動起動が設定されていない場合は、chkconfigで自動起動のチェックをします。
# chkconfig --list | grep postfix # postfix 0:off 1:off 2:on 3:on 4:on 5:on 6:off
上記のように表示されない場合は下記のコマンドを入力し、Sendmailの自動起動をOff、Postfixの自動起動をOnにします。
# chkcofig --add postfix # chkconfig postfix on # chkconfig sendmail off
2回目でPostfixの設定を行い、3回目でPHPで受信するメールの処理を書いて行きたいと思います。
ピンバック:Postfixでメール受信後にPHPプログラムで処理を行う(2/3) | 菊地崇仁ブログ「ポイ探社長のブログ」
ピンバック:Postfixでメール受信後にPHPプログラムで処理を行う(3/3) | 菊地崇仁ブログ「ポイ探社長のブログ」