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

前回はPostfixのインストールまで行いましたので、今回はPostfixの設定まで行います。

6. ユーザを追加

バーチャルドメインで受けたメールを処理するユーザを追加します。

# groupadd -g 10000 vuser
# useradd -u 10000 -g vuser -d /var/spool/postfix/vhosts vuser
# chmod 771 /var/spool/postfix/vhosts

7. main.cfを設定

# cd /etc/postfix
# vi main.cf

以下の内容で設定します(赤字の箇所はその下で設定します)。

queue_directory = /var/spool/postfix
command_directory = /usr/sbin
daemon_directory = /usr/libexec/postfix
data_directory = /var/lib/postfix
mail_owner = postfix
myhostname = mail.DOMAIN
mydomain = DOMAIN
myorigin = $mydomain
mydestination =
relay_domains = $mydestination
inet_interfaces = all
inet_protocols = all
local_transport = virtual
virtual_transport = virtual
virtual_mailbox_base = /var/spool/postfix/vhosts
virtual_mailbox_domains = $mydomain
virtual_minimum_uid = 10000
virtual_uid_maps = static:10000
virtual_gid_maps = static:10000
mailbox_size_limit = 10485610
message_size_limit = 10485610
transport_maps = hash:/etc/postfix/transport_maps
unknown_local_recipient_reject_code = 550
mynetworks = 127.0.0.0/8
alias_maps = hash:/etc/aliases,regexp:/etc/postfix/aliases.reg
alias_database = hash:/etc/aliases
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP
debug_peer_level = 2
debugger_command =
         PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin
         ddd $daemon_directory/$process_name $process_id & sleep 5
sendmail_path = /usr/sbin/sendmail.postfix
newaliases_path = /usr/bin/newaliases.postfix
mailq_path = /usr/bin/mailq.postfix
setgid_group = postdrop

8. transport_mapsを設定

transport_mapsを編集します。

# vi transport_maps

下記の内容を入力し、保存します。

DOMAIN   local

transport_maps.dbを作成します。

# postmap /etc/postfix/transport_maps

9. aliases.regの設定

正規表現でメールを振り分けるためにaliases.regを編集します。

# vi aliases.reg

rootへのメールは管理者に転送しておきます。

/root(@DOMAIN)?$/        転送先メールアドレス
/^(.+)(@DOMAIN)?$/       "| php /home/script/test.php"

10. Postfixの設定読込

# /etc/init.d/postfix reload

上記の設定で、DOMAIN宛のメールすべてが/home/script/test.phpに渡されます(root以外)。次回はtest.phpの作成を行い、From、To、Subject等を取得する処理を行います

Postfixでメール受信後にPHPプログラムで処理を行う(2/3)” への2件のコメント

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

  2. ピンバック:5月28日の注目記事 | Javable.Jp

コメントを残す

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

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