From Messaging Server Technical Reference Wiki
Jump to: navigation, search

MeterMaid is a facility that comprises a server, which maintains "tables" of data, and a client side (in particular, the MTA's callouts to MeterMaid via mapping table MeterMaid routine callouts, metermaid: URLs encoded into MTA configuration, and (new in Messaging Server 7.2) Sieve "metermaid" tests or actions). The MeterMaid server maintains its data in-memory; this offers high performance, but note that it does imply that the MeterMaid data is not preserved across MeterMaid (or Messaging Server as a whole) restarts. As multiple processes can communicate with the MeterMaid server over protocol, MeterMaid permits across-process tracking of data. MeterMaid is thus particularly suited for configuring "throttle" effects.

MeterMaid requires configuration of itself -- the MeterMaid server, and some basics of MeterMaid client operation -- configured in Unified Configuration via MeterMaid options and MeterMaid client options, or in legacy configuration via configutil parameters. Once MeterMaid's own operation is established, then configuring the MTA on how to find/communicate with MeterMaid is configured via MeterMaid MTA options. And then any specific MeterMaid uses may be configured into the MTA via mapping table routine callouts, metermaid: URLs in appropriate MTA configuration options, or use of Sieve "metermaid" tests or actions.

For a number of examples of MeterMaid use in the form of MTA mapping table callouts to MeterMaid routines, see the discussion of Triggering effects from transaction logging with LOG_ACTION.

To find all options potentially relevant to MeterMaid, try doing

msconfig> apropos metermaid

Note that there are the options relevant for the MeterMaid server, settable under the metermaid group, and there are options relevant for any MeterMaid clients, settable under metermaid_client group; respectively, these correspond to the legacy configuration metermaid.* and metermaid.mtaclient.* configutil parameters. Some options are settable either generally for a named metermaid or metermaid_client group, or settable specifically for a named table under a local_table or remote_table group. (Note that a named remote_table group may only be set under metermaid_client; a named local_table group may only be set under metermaid.)

Then there are also a number of MTA options that override, for MTA purposes, some of the normal metermaid or metermaid_client options. There are also the viametermaid and metermaidtable IMAP options (under the pwexpirealert group), to specify whether to use MeterMaid, and what MeterMaid table to use, for password expiration alerts.

See also the logfile options, as they are settable under metermaid.

See also: