MYSQL_TABLE(5) MYSQL_TABLE(5)
名前
mysql_table - Postfix MySQL クライアントの設定
書式
postmap -q "string" mysql:/etc/postfix/filename
postmap -q - mysql:/etc/postfix/filename <inputfile
解説
Postfix メールシステムはオプションでアドレス書き換えやメールルーティン
グのテーブルを使用します。これらのテーブルは通常 dbm または db フォーマ
ットです。
それ以外に、検索テーブルとして MySQL データベースを指定することもできま
す。MySQL 検索を使うには、main.cf の検索テーブルとして MySQL ソースを定
義します。例:
alias_maps = mysql:/etc/mysql-aliases.cf
/etc/postfix/mysql-aliases.cf ファイルは Postfix main.cf ファイルと同じ
書式であり、以下に示すようなパラメータを指定することができます。
別の設定方法
他の Postfix 検索テーブルとの互換性のため、MySQL パラメータ も main.cf
で 定義することができます。そうするためには、MySQL ソースとしてスラッシ
ュやドットで始まらない名前を指定してください。そうすることで MySQL パラ
メ ータはソースに定義した名前、アンダースコア、パラメータ名という形で使
えるようになります。例えば、マップが "mysql:mysqlname" として指定された
場合、下の "hosts" パラメータは main.cf では "mysqlname_hosts" として定
義されます。
注意: この形式では、MySQL ソースのパスワードは、通常 world-readable な
main.cf に書かれてしまいます。この形式のサポートは Postfix の将来のバー
ジョンで削られる予定です。
リストメンバーシップ
$mynetworks や $mydestination、$relay_domains、$local_recipient_maps 等
のようなリストを格納するために SQL を使う場合、テーブルはそれぞれのリス
トメンバーを別々のキーで格納しなければいけないことを理解することが重 要
です。この議論は DATABASE_README ドキュメントの "Postfix リスト対テーブ
ル" を参照してください。
$mydestination や $relay_domains 等でドメインの完全なリストを返し た り
$mynetworks で IP アドレスを返すテーブルを作っては「いけません」。
キ ーとしてマッチするそれぞれの項目と属性値を持つテーブルを作って「くだ
さい」。SQL データベースでは、キー自身や定数を返すのは珍しいことでは あ
りません。
MYSQL パラメータ
hosts Postfix が検索するために接続しようとするホスト。UNIX ドメインソ
ケットは unix: を指定し、TCP 接続(デフォルト)は inet: を指定しま
す。例:
hosts = host1.some.domain host2.some.domain
hosts = unix:/file/name
hosts は任意の順序で試され、全ての UNIX ドメインソケットを通した
接続は TCP を通した接続の前に試されます。約1分のアイドル後に接続
は自動的に閉じられ、必要なときに再び開かれます。Postfix バージョ
ン 2.0 以前ではホストの順序を無作為には選びませんでした。
「注意」: (たとえ前に inet: が付いていたとしても) ホスト名として
localhost を指定すると、MySQL はデフォルトの UNIX ドメインソケッ
トに接続します。MySQL をローカルホストに TCP で接続させるには 、
次のように指定する必要があります:
hosts = 127.0.0.1
user, password
mysql サーバにログインするためのユーザ名とパスワード。例:
user = someone
password = some_password
dbname サーバ上のデータベース名。例:
dbname = customer_database
以 下のパラメータは次の書式の SELECT クエリのテンプレートを埋めるのに使
われます:
select [select_field] from [table] where
[where_field] = '$lookup' [additional_conditions]
$lookup には検索文字列を含み、シングルクオートや変な文字が含まれてい て
も エスケープされます。それゆえ、これはパースエラーやさらに悪いセキュリ
ティ問題を引き起こすことはありません。
select_field
SQL "select" パラメータ。例:
select_field = forw_addr
table SQL "select .. from" テーブル名。例:
table = mxaliases
where_field
SQL "select .. where" パラメータ。例:
where_field = alias
additional_conditions
SQL クエリに対する追加条件。例:
additional_conditions = and status = 'paid'
関連項目
postmap(1), Postfix 検索テーブルの維持管理
postconf(5), 設定パラメータ
ldap_table(5), LDAP 検索テーブル
pgsql_table(5), PostgreSQL 検索テーブル
README ファイル
DATABASE_README, Postfix 検索テーブルの概要
MYSQL_README, Postfix MYSQL クライアントガイド
ライセンス
The Secure Mailer license はこのソフトウェアと一緒に配布されなければい
けません。
歴史
MySQL サポートは Postfix バージョン 1.0 で導入されました。
作者
オリジナルの実装:
Scott Cotton, Joshua Marcus
IC Group, Inc.
更なる拡張:
Liviu Daia
Institute of Mathematics of the Romanian Academy
P.O. BOX 1-764
RO-014700 Bucharest, ROMANIA
MYSQL_TABLE(5)