Postfix設定


「Postfix」の設定を行います。

(1)バーチャルドメインで受信したメールを処理するユーザーを作成する。
[root@mail1 ~]# groupadd -g 10000 vuser ← # グループIDを10000に設定
[root@mail1 ~]# useradd -g vuser -u 10000 vuser ← # ユーザIDを10000に設定
[root@mail1 ~]# cd /home/
[root@mail1 home]# chmod 771 vuser/ ← # 「vuser」ディレクトリのパーミッション変更

(2)「Postfix」が「MySQL」にアクセスするための設定ファイルを作成する。
[root@mail1 ~]# vi /etc/postfix/mysql_virtual_alias_maps.cf
user = postfixadmin
password = postfixadmin
hosts = localhost
dbname = postfix
query = SELECT goto FROM alias WHERE address='%s' AND active = '1'
#expansion_limit = 100

[root@mail1 ~]# vi /etc/postfix/mysql_virtual_domains_maps.cf
user = postfixadmin
password = postfixadmin
hosts = localhost
dbname = postfix
query = SELECT domain FROM domain WHERE domain='%s' AND active = '1'

[root@mail1 ~]# vi /etc/postfix/mysql_virtual_mailbox_maps.cf
user = postfixadmin
password = postfixadmin
hosts = localhost
dbname = postfix
query = SELECT maildir FROM mailbox WHERE username='%s' AND active = '1'

[root@mail1 ~]# vi /etc/postfix/mysql_virtual_mailbox_limit_maps.cf
user = postfixadmin
password = postfixadmin
hosts = localhost
dbname = postfix
query = SELECT quota FROM mailbox WHERE username='%s' AND active = '1'

(3)(2)で作成したファイルのパーミッションを変更する。
[root@mail1 ~]# chmod 640 /etc/postfix/mysql_virtual_alias_maps.cf
[root@mail1 ~]# chmod 640 /etc/postfix/mysql_virtual_domains_maps.cf
[root@mail1 ~]# chmod 640 /etc/postfix/mysql_virtual_mailbox_maps.cf
[root@mail1 ~]# chmod 640  /etc/postfix/mysql_virtual_mailbox_limit_maps.cf
[root@mail1 ~]# chown root:postfix /etc/postfix/mysql_virtual_alias_maps.cf
[root@mail1 ~]# chown root:postfix /etc/postfix/mysql_virtual_domains_maps.cf
[root@mail1 ~]# chown root:postfix /etc/postfix/mysql_virtual_mailbox_maps.cf
[root@mail1 ~]# chown root:postfix /etc/postfix/mysql_virtual_mailbox_limit_maps.cf

(4)「Postfix」の設定を行う。
[root@mail1 ~]# vi /etc/postfix/main.cf
myhostname = mail.mail1.com
mydomain = mail.com
myorigin = $mydomain
inet_interfaces = all
mydestination =
mynetworks = 127.0.0.1, 192.168.0.0/24 # メールを送信するIP許可
relay_domains = $mydestination
home_mailbox = Maildir/
smtpd_banner = $myhostname ESMTP unknown

----------最終行に追加----------
local_transport = virtual
virtual_transport = virtual
virtual_mailbox_base = /home/vuser
virtual_mailbox_limit = 0
virtual_minimum_uid = 10000
virtual_uid_maps = static:10000
virtual_gid_maps = static:10000
virtual_mailbox_domains = mysql:/etc/postfix/mysql_virtual_domains_maps.cf
virtual_alias_maps = mysql:/etc/postfix/mysql_virtual_alias_maps.cf,
virtual_mailbox_maps = mysql:/etc/postfix/mysql_virtual_mailbox_maps.cf,
virtual_create_maildirsize = yes
virtual_mailbox_extended = yes
virtual_mailbox_limit_maps = mysql:/etc/postfix/mysql_virtual_mailbox_limit_maps.cf
virtual_mailbox_limit_override = yes
virtual_maildir_limit_message = Sorry, the user's maildir has overdrawn his diskspace quota, please try again later.
virtual_overquota_bounce = yes

#----------以下は任意設定----------

maximal_backoff_time = 800s ← # 遅延メッセージの配送を試行する最大の時間間隔
minimal_backoff_time = 100s ← # 遅延メッセージの配送を試行する最小の時間間隔
bounce_queue_lifetime = 60m ← # 配送できないと見なすまでに、バウンスメッセージがキューに入っている最大の時間

maximal_queue_lifetime = 60m ← # 配送できないものとして送り返すまでに、メッセージがキューに入っている最大の時間

message_size_limit = 10485760 ← # 最大送信可能メールサイズ設定

(5)「Postfix」を再起動する。
[root@mail1 ~]# /etc/rc.d/init.d/postfix restart
postfix を停止中:                                          [  OK  ]
postfix を起動中:                                          [  OK  ]

Comments are closed.