2009年3月3日火曜日

バーチャルドメイン(Postfix)をMySQLで管理

スズキです。

「MySQLをサポートしたPostfixの構築」が終わり、いよいよ設定です。
http://suz-lab.blogspot.com/2009/02/mysqlpostfix.html

まずは、"main.cf"を編集し、バーチャルドメインのエイリアスのマッピングに
MySQLのテーブルを指定するようにします。

--------【main.cf】--------
virtual_alias_maps = mysql:/usr/local/etc/postfix/virtual_alias_maps-mysql.cf
--------

"virtual_alias_maps-mysql.cf"の内容は下記の通りです。

--------【virtual_alias_maps-mysql.cf】--------
user = mysql_user
password = mysql_pass
hosts = localhost
dbname = postfix
table = alias
select_field = goto
where_field = address
--------

メールアドレスを比較する列を"where_field"で指定し、
配送先ユーザーの列を"select_field"で指定します。

対象のテーブルは下記のようなものを想定しています。

--------【DDL】--------
CREATE TABLE alias (
  address VARCHAR(256) NOT NULL,
  goto TEXT NOT NULL,
  PRIMARY KEY (address)
)
--------

次のようでデータを登録すると、"test@test.test"宛てのメールが、
"test-regist"に配送されます。

--------【DML】--------
INSERT INTO alias (
  address,
  goto
) VALUES (
  'test@test.test',
  'test-regist'
)
--------

久しぶりのPostfix、かなり思い出したぞ!

--
http://suz-lab.blogspot.com/

0 コメント: