NCM::Component::postfix

NAME

ncm-postfix: Postfix server configuration

RESOURCES

/software/components/postfix

The configuration information for the component. This structure contains three fields:

  • main
An nlist with all the possible configuration values for /etc/postfix/main.cf.
  • master

A list with all entries for /etc/postfix/master.cf. For each line, we have to provide:

  • name : string
Name of the entry (first field in the line).
  • type : string
Type of service/socket for this entry.
  • private : boolean
Defaults to true.
  • unprivileged : boolean
Defaults to true
  • chroot : boolean
Defaults to true
  • maxproc : long
Maximum number of processes that may be instantiated following this line Defaults to 100.
  • wakeup : long
  • command
  • databases

An optional structure describing additional Postfix databases (lookup tables in Postfix terminology). See http://www.postfix.org/DATABASE_README.html for more information.

Each subtree is associated with a class of lookup tables. Each class of lookup tables is an nlist, in which the keys are the file names (relative to /etc/postfix) that configure the access to such a database.

Currently, only LDAP lookups can be described, see http://www.postfix.org/LDAP_README.html

EXAMPLES

Minimal configuration

An empty nlist is valid for main.cf:

"/software/components/postfix/main" = nlist();

Storing aliases in LDAP

Declaring an alias database stored in an LDAP server can be achieved as follows:

"/software/components/postfix/main/alias_maps" = append(
  nlist(
    "type", "ldap",
    "name", "/etc/postfix/ldap-aliases.cf"));

And we can instruct Postfix to access this database:

prefix "/software/components/postfix/databases/ldap/ldap-aliases.cf";

"server_host" = "foo.bar.com";
"search_base" = "OU=foo,CN=bar";
"query_filter" = "(an-ldap-filter)";
"result_format" = "%s";