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