[CentOS6] Postfixによるメールサーバ構築 その3 (Postfixの設定)

バーチャルドメインで受けたメールを処理するユーザの設定と、Postfixの設定を行います。
MySQLの認証IDパスワードはpostfixskpMrLvw9fiXとしています。適宜変更してください。

準備

Postfixのバーチャルドメインの運用に使用するユーザvuserおよびグループcodeを設定し。メールの保存ディレクトリ/mailを作成します。

groupadd -g 10000 vuser
useradd -g vuser -u 10000 vuser
mkdir /mail
chown vuser:vuser /mail
chmod 771 /mail

MySQL関連設定ファイルの作成

PostfixのMySQLによるユーザ情報を使用する設定ファイルを作成します。

cd /etc/postfix/
cat <<EOF > mysql_virtual_alias_maps.cf
user = postfix
password = skpMrLvw9fiX
hosts = localhost
dbname = postfix
table = alias
select_field = goto
where_field = address
EOF
cat <<EOF > mysql_virtual_domains_maps.cf
user = postfix
password = skpMrLvw9fiX
hosts = localhost
dbname = postfix
table = domain
select_field = domain
where_field = domain
additional_conditions = and active = '1'
EOF
cat <<EOF > mysql_virtual_mailbox_maps.cf
user = postfix
password = skpMrLvw9fiX
hosts = localhost
dbname = postfix
table = mailbox
select_field = maildir
where_field = username
EOF
cat <<EOF > mysql_virtual_mailbox_limit_maps.cf
user = postfix
password = skpMrLvw9fiX
hosts = localhost
dbname = postfix
table = mailbox
select_field = quota
where_field = username
EOF
chmod 640 mysql_virtual_*

Postfixの基本設定

Postfixの基本設定をmain.cfで行います。

cd /etc/postfix/
vi main.cf
--------------------------------------------
#myorigin = $mydomain
myorigin = $myhostname
#inet_interfaces = localhost
inet_interfaces = all
mydestination = $myorigin
#home_mailbox = Maildir/
home_mailbox = Maildir/
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_banner = $myhostname ESMTP unknown
local_transport = local
virtual_transport = virtual
virtual_mailbox_base = /mail
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf
virtual_alias_domains = $virtual_alias_maps
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
virtual_minimum_uid = 10000
virtual_uid_maps = static:10000
virtual_gid_maps = static:10000
maximal_backoff_time = 800s
minimal_backoff_time = 100s
bounce_queue_lifetime = 60m
maximal_queue_lifetime = 60m
mailbox_size_limit = 1024000000
message_size_limit = 20480000
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_overquota_bounce = yes
virtual_mailbox_limit_inbox = no
virtual_trash_count = no
smtpd_sasl_auth_enable = yes
smtpd_sasl_type = dovecot
smtpd_sasl_path = private/auth
smtpd_sasl_local_domain = $myhostname
smtpd_client_restrictions = reject_rbl_client bl.spamcop.net
smtpd_recipient_restrictions = permit_mynetworks, permit_sasl_authenticated, reject_unauth_destination
--------------------------------------------

サブミッションポートの設定

サブミッションポート587番ポートを開く設定をmaster.cfに記述します。
submissionの行のコメントを外すだけでOKです。

vi /etc/postfix/master.cf
-------------------------------------------------------------------------------
smtp      inet  n       -       n       -       -       smtpd
submission inet n       -       n       -       -       smtpd
-------------------------------------------------------------------------------