Postfixでメール受信後にPHPプログラムで処理を行う(1/3)

このブログはポイントやマイルに関する記事よりも技術的な記事のほうがアクセスが多いようで、微妙なブログになりつつあります…。

メール受信後に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プログラムで処理を行う(1/3)” への2件のコメント

  1. ピンバック:Postfixでメール受信後にPHPプログラムで処理を行う(2/3) | 菊地崇仁ブログ「ポイ探社長のブログ」

  2. ピンバック:Postfixでメール受信後にPHPプログラムで処理を行う(3/3) | 菊地崇仁ブログ「ポイ探社長のブログ」

コメントを残す

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください