Postfix Adminを設定する(Postfix編)にてインストールが完了しましたので、今回は、MySQLとPostfixの設定を行います。

・データベースとユーザ作成

CREATE DATABASE postfix;
CREATE USER 'postfix'@'localhost' IDENTIFIED BY 'パスワード';
GRANT ALL PRIVILEGES ON `postfix` . * TO 'postfix'@'localhost';

・main.cfの修正 vi /etc/postfix/main.cf]

# ホスト名の設定
myhostname = mail.hogehoge.com
# ドメイン名の設定
mydomain = hogehoge.com
# メール送信の設定
myorigin = $myhostname
# メール受信の設定
inet_interfaces = all
# メールの最終目的地とみなす範囲の指定
# (virtual_mailbox_domainsで指定したドメインが処理されるので未指定。コメントアウトではないので注意。)
mydestination =
# 信頼できるクライアントのネットワークを指定
mynetworks = 192.168.1.0/24, 127.0.0.0/8
# リレーを許可するドメインを指定
relay_domains = $mydestination
#プログラムに転送する場合設定
transport_maps=hash:/etc/postfix/transport
# メールBOXの形式を指定
home_mailbox = Maildir/
# sendmail互換プログラムの修正
sendmail_path = /usr/sbin/sendmail
# ローカルへの配送をバーチャル配送エージェントで行う。
local_transport = virtual
# virtual_mailbox_domains パラメータ値にマッチするドメイン宛のデフォルトのメール配送エージェントの指定。
virtual_transport = virtual
# バーチャルメールボックスが置かれる場所で、事前準備で用意したディレクトリを指定する。
virtual_mailbox_base = /usr/local/virtual
# ローカルまたはリモートアドレスにエイリアスするオプションの検索テーブルを指定する。
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_domains にマッチするドメインの全ての有効なアドレスを持つ検索テーブルを指定する。
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf
# ユーザIDの最小値(事前準備で用意したuid)を指定。この値以下のuidの配送は拒否される。
virtual_minimum_uid = 10000
# 事前準備で用意したユーザIDを指定。
virtual_uid_maps = static:10000
# 事前準備で用意したグループIDを指定。
virtual_gid_maps = static:10000
# SMTP-AUTH指定
smtpd_sasl_auth_enable = yes
smtpd_recipient_restrictions = permit_mynetworks,permit_sasl_authenticated,reject_unauth_destination
broken_sasl_auth_clients=yes

・mysql_virtual_alias_maps.cf 作成

user = postfix
password = パスワード
hosts = localhost
dbname = postfix
table = alias
select_field = goto
where_field = address

・mysql_virtual_domains_maps.cf 作成

user = postfix
password = domain
hosts = localhost
dbname = postfix
table = domain
select_field = domain
where_field = domain

・mysql_virtual_mailbox_maps.cf

user = postfix
password = パスワード
hosts = localhost
dbname = postfix
table = mailbox
select_field = maildir
where_field = username

・transport 追加記述

※error@hoge.jpをプログラムに渡す場合
error@hoge.jp local

・virtual 追加記述

※error@hoge.jpをプログラムに渡す場合
error@hoge.jp error@hoge.jp

・アップデート除外設定

vi /etc/yum.conf

↓追加
exclude= postfix.i386

こちらの記事はなかの人(be_hase)監修のもと掲載しています。
元記事は、こちら