前回はPostfixのインストールまで行いましたので、今回はPostfixの設定まで行います。
6. ユーザを追加
バーチャルドメインで受けたメールを処理するユーザを追加します。
# groupadd -g 10000 vuser # useradd -u 10000 -g vuser -d /var/spool/postfix/vhosts vuser # chmod 771 /var/spool/postfix/vhosts7. 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プログラムで処理を行う(1/3) | 菊地崇仁ブログ「ポイ探社長のブログ」
ピンバック:5月28日の注目記事 | Javable.Jp