NAME

Mail::MtPolicyd::Plugin::Quota - mtpolicyd plugin for accounting in sql tables

VERSION

version 2.03

DESCRIPTION

This plugin can be used to do accounting based on request fields.

Example

  <Plugin quota-clients>
    module = "Quota"
    table_prefix = "acct_"

    # per month
    time_pattern = "%Y-%m"
    # per ip
    field = "client_address"
    # allow 1000 mails
    metric = "count"
    threshold = 1000
    action = "defer you exceeded your monthly limit, please insert coin"
  </Plugin>

Configuration

Parameters

The module takes the following parameters:

(uc_)enabled (default: on)

Enable/disable this check.

(uc_)field (required)

The field used for accounting/quota.

(uc_)metric (required)

The metric on which the quota should be based.

The Accounting module stores the following metrics:

count

Number of mails recivied.

count_rcpt

Number of mails recivied multiplied with number of recipients.

size

Size of mails recivied.

size_rcpt

Size of mails recivied multiplied with number of recipients.

time_pattern (default: "%Y-%m")

A format string for building the time key used to store counters.

Default is to build counters on a monthly base.

For example use:

  * "%Y-%W" for weekly
  * "%Y-%m-%d" for daily

See "man date" for format string sequences.

You must use the same time_pattern as used in for the Accounting module.

threshold (required)

The quota limit.

action (default: defer smtp traffic quota has been exceeded)

The action to return when the quota limit has been reached.

table_prefix (default: "acct_")

A prefix to add to every table.

The table name will be the prefix + field_name.

AUTHOR

Markus Benning <ich@markusbenning.de>

COPYRIGHT AND LICENSE

This software is Copyright (c) 2014 by Markus Benning <ich@markusbenning.de>.

This is free software, licensed under:

  The GNU General Public License, Version 2, June 1991