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)