mailbox-count(1)

NAME
mailbox-count - Count mailboxes in a SQL database.

SYNOPSIS
mailbox-count [OPTIONS]

INPUT

None.

OUTPUT

Either a summary, or detailed report (with --detail) of the number of mailboxes per-domain contained in the database.

The summary shows only the per-domain mailbox count, while the detailed report shows both the count and a list of mailboxes.

DESCRIPTION

Mailbox-count produces a simple count of mailboxes that exist per-domain in some SQL database. The default queries are compatible with the schema used by PostfixAdmin <http://postfixadmin.sourceforge.net/>, but it is possible to supply your own queries via the --summary-query and --detail-query options.

The summary report lists each domain, along with the number of mailboxes owned by that domain. The order is determined by the summary query, which lists the domains alphabetically by default.

The default detail report shows the same, but also contains a list of each individual mailbox (again in alphabetical order) belonging to the domains.

OPTIONS

--database
    The name of the database (or file, if SQLite) to which we should connect. Default: The name of the current user (Postgres only).

--detail
    Produce a detailed report listing all mailboxes by domain.

--detail-query
    SQL query used to produce the detail report. This should return the set of all (domain, username) pairs. See the default value for an example. Default: "SELECT domain,username FROM mailbox ORDER BY domain;"

--host
    Hostname where the database is located (Postgres-only). Default: None, a UNIX domain socket connection is attempted (Postgres only)

--password
    Password used to connect to the database (Postgres-only). Default: None (assumes passwordless authentication)

--port
    Port number used to connect to the database (Postgres-only). Default: None, a UNIX domain socket connection is attempted (Postgres only)

--summary-query
    SQL query used to produce the summary report. This should return (domain, user count) pairs. See the default value for an example. Default: "SELECT domain,COUNT(username) FROM mailbox GROUP BY domain ORDER BY domain;"

--username
    Username used to connect to the database (Postgres-only). Default: The current user

CONFIGURATION FILE
Any of the options above can be placed in a configuration file rather than passed on the command line. An example config file doc/mailbox-countrc.example is included with the source. You can edit it and rename it to either $sysconfdir/mailbox-countrc or ~/.mailbox-countrc. The variable $sysconfdir is determined at build time and is typically /etc on UNIX systems.

EXAMPLES

•   The default summary report:
    $ mailbox-count --database=postfixadmin.sqlite3
    Summary (number of mailboxes per domain)
    ----------------------------------------
    example.com:     3
    example.invalid: 1
    example.net:     2
    example.org:     1

•   The more detailed report:
    $ mailbox-count --detail --database=postfixadmin.sqlite3
    Detail (list of all mailboxes by domain)
    ----------------------------------------
    example.com (3):
      user1
      user3
      user5
    example.invalid (1):
      user7
    example.net (2):
      user2
      user4
    example.org (1):
      user6

BUGS

Send bugs to michael@orlitzky.com.