SYNOPSIS

       postmap -q "string" mysql:/etc/postfix/filename

       postmap -q - mysql:/etc/postfix/filename <inputfile


DESCRIPTION

       The  Postfix  mail system uses optional tables for address rewriting or
       mail routing. These tables are usually in dbm or db format.

       Alternatively, lookup tables can be specified as MySQL  databases.   In
       order  to use MySQL lookups, define a MySQL source as a lookup table in
       main.cf, for example:
           alias_maps = mysql:/etc/mysql-aliases.cf

       The file /etc/postfix/mysql-aliases.cf has the same format as the Post-
       fix main.cf file, and can specify the parameters described below.


ALTERNATIVE CONFIGURATION

       For  compatibility  with  other Postfix lookup tables, MySQL parameters
       can also be defined in main.cf.  In order to do that, specify as  MySQL
       source  a  name  that  doesn't  begin with a slash or a dot.  The MySQL
       parameters will then be accessible as the name you've given the  source
       in  its  definition, an underscore, and the name of the parameter.  For
       example, if the map is specified as  "mysql:mysqlname",  the  parameter
       "hosts" below would be defined in main.cf as "mysqlname_hosts".

       Note:  with  this form, the passwords for the MySQL sources are written
       in main.cf, which is normally world-readable.  Support  for  this  form
       will be removed in a future Postfix version.


LIST MEMBERSHIP

       When  using  SQL  to  store  lists such as $mynetworks, $mydestination,
       $relay_domains, $local_recipient_maps, etc., it is important to  under-
       stand that the table must store each list member as a separate key. The
       table lookup verifies the *existence* of the key.  See  "Postfix  lists
       versus tables" in the DATABASE_README document for a discussion.

       Do  NOT create tables that return the full list of domains in $mydesti-
       nation or $relay_domains etc., or IP addresses in $mynetworks.

       DO create tables with each matching item as a key and with an arbitrary
       value.  With  SQL databases it is not uncommon to return the key itself
       or a constant value.


MYSQL PARAMETERS

       hosts  The hosts that Postfix will try to connect to  and  query  from.
              Specify unix: for UNIX domain sockets, inet: for TCP connections
              (default).  Example:
                  hosts = host1.some.domain host2.some.domain
                  hosts = unix:/file/name

              The hosts are tried in random order, with all  connections  over
                  user = someone
                  password = some_password

       dbname The database name on the servers. Example:
                  dbname = customer_database

       The following parameters are used to fill in a SELECT query template of
       the form:
           select [select_field] from [table] where
               [where_field] = '$lookup' [additional_conditions]

       $lookup  contains  the  search string, and is escaped so if it contains
       single quotes or other odd characters, it will not cause a parse error,
       or worse, a security problem.

       select_field
              The SQL "select" parameter. Example:
                  select_field = forw_addr

       table  The SQL "select .. from" table name. Example:
                  table = mxaliases

       where_field
              The SQL "select .. where" parameter. Example:
                  where_field = alias

       additional_conditions
              Additional conditions to the SQL query. Example:
                  additional_conditions = and status = 'paid'


SEE ALSO

       postmap(1), Postfix lookup table maintenance
       postconf(5), configuration parameters
       ldap_table(5), LDAP lookup tables
       pgsql_table(5), PostgreSQL lookup tables


README FILES

       Use  "postconf readme_directory" or "postconf html_directory" to locate
       this information.
       DATABASE_README, Postfix lookup table overview
       MYSQL_README, Postfix MYSQL client guide


LICENSE

       The Secure Mailer license must be distributed with this software.


HISTORY

       MySQL support was introduced with Postfix version 1.0.


AUTHOR(S)

       Original implementation by:
       Scott Cotton, Joshua Marcus
       IC Group, Inc.

Man(1) output converted with man2html