About

vpopmail is a set of API that manages virtual user accounts on a
qmail system, and handles delivery for these virtual users. The
command-line utilities, and Qmailadmin all use the vpopmail
API, provided by the vpopmail library to manage the system.

Features

Roaming Users

Roaming users provides a non-SMTP_AUTH authentication system for allowing users
with dynamic IPs to send mail through the server without allowing relay from
non-authenticated users. After a user has authenticated via POP3, IMAP, etc,
their IP is set allowed to relay for the next three hours. This provides them
plenty of time to read and respond to all their email. Successive authentications
during this time extend the time limit.

Command-line utilities

All binaries for user management are, by default, under /home/vpopmail/bin.
Almost all the binaries in this directory can be executed, without arguments,
to display a usage.

vadddomain

Adds a new domain to the mailserver

vadddomain: usage: vadddomain [options] virtual_domain [postmaster password]
options: -v prints the version
-q quota_in_bytes (sets the quota for postmaster account)
-b (bounces all mail that doesn't match a user, default)
-e email_address (forwards all non matching user to this address [*])
-u user (sets the uid/gid based on a user in /etc/passwd)
-d dir (sets the dir to use for this domain)
-i uid (sets the uid to use for this domain)
-g gid (sets the gid to use for this domain)
-O optimize adding, for bulk adds set this for all
except the last one
-r[len] (generate a len (default 8) char random postmaster password)
[*] omit @-sign to deliver directly into user's Maildir: '-e postmaster'

vaddaliasdomain

Aliases one domain to another. All users, forwards, autoresponders, etc
are the same across the real domain, and the aliased domain.

Notes

This command creates an entry in the qmail/users/assign file directing
all transactions for the new, alias domain name, to the current, real domain.
This eliminates needing symlinks, and other harddrive intensive operations.

vdeldomain

Deletes a domain from the mailserver, all users, and all
mail under this domain

Notes

The vmoduser command is very useful for more advanced user
options. Each user has a set of flags that can be set on them.
For instance, 'No webmail' will disallow them to use a webmail
interface, and 'No POP3' will not allow them to download mail
via POP. Generally people use these flags to nudge customers
who haven't paid, or to provide specific services to users who
are paying for specific services (ie: webmail or pop3, etc).
You can also set a flag which disallows them to send mail.
Other than user flags, one can also set quotas with this command.

vpopbull

Short for vpopmail bulletin, vpopbull mass-mails local users
an email.

Notes

The vpopbull command solves a number of problems with trying to
mail all your users. Firstly, you dont need to maintain a list
of all your user accounts to email to. Secondly, emailing users
through the actual qmail server would be inefficient. vpopbull
drops messages directly into their Maildir directories where they
can be picked up by POP3, webmail, etc, making the operation a
simple copy operation instead of an actual mailing operation.

The email sent must be a fully valid email message, including
From, and Subject headers, followed by a blank line,
followed by the message. The one exception is that a To
header should not be included.

From: <example@example.com>
Subject: Server maintenance
Dear example.com users,
We will be performing maintenance on the mail server tomorrow morning.
The maintence window will be between 3am and 5am, and the server will be
down turning this time.
Thank you for your patience,
The example.com Staff

More complicated messages, including
ones with attachments, etc, can also be made, however the
specifics of generating a multipart message is out of the
scope of this document.

vpasswd

vchangepw

vchangepw allows changing of passwords for email addresses hosted on
the system. This differs from vpasswd in that it
requires you to know the current password for the email address. Note
that there is no usage for this binary.

Tom Collins submitted a patch to the vpopmail tree including this binary

vsetuserquota

vsetuserquota is used to modify quotas for a single user, or on
all users on a domain. See Vpopmail#Quotas for details on
quotas.

vsetuserquota: [options] email_address|domain_name quota
options:
-v (print version number)
If you specify a domain name rather than an email address,
the quota will be applied to all users in that domain

Other binaries

You will probably notice that there are binaries in the bin directory
that aren't listed above. These binaries are either used by vpopmail to
handle delivery or other aspects of the mail system management, or
they are used by more advanced users or users who are migrating data
between databases.

clearopensmtp

When vpopmail has been compiled with the --enable-roaming-users=y flag
enabled, this binary is run out of the crontab every 5 minutes to
update the list of IPs that are no longer allowed to send mail. This
is a binary used by the Roaming Users
feature of vpopmail.

dotqmail2valias

When vpopmail has been compiled with the --enable-valias=y flag,
this binary will find all dotqmail files under vpopmail and convert
them to valias entries in the database.

valias

When configured with --enable-valias=y, the valias command can be used
to add, edit, and delete valiases from the database.

vchkpw

vchkpw is the authentication mechanism used by qmail to check passwords
required for downloading mail, and in the case of SMTP_AUTH, sending mail.

vconvert

vconvert is used during conversions and migrations between different database
methods. Specifically, vconvert can convert to and from several databases,
all information about the users on a vpopmail system.

vdelivermail

vdelivermail is vpopmail's delivery agent. It handles delivery of messages,
bouncing, catch-alls, etc. You will find calls to vdelivermail in the
.qmail-default file under each domain.

vdeloldusers

vdeloldusers compares the last authentication time for all users against
an age in days provided on the command-line, and removes all users which
match.

vdeloldusers: usage: [options]
options: -a age_in_days (will delete accounts older than this date)
(default is 6 months or 180 days)
-v (print version number and exit)
-d [domain] (process only [domain])
-e (process every domain)
-D (actually delete users. no users are deleted without this option)
-V (verbose -- print old users that will be deleted)

vipmap

vipmap stands for Vpopmail IP Map. It maps connections on specific IPs,
to a particular domain, enabling users to provide just their username for
authentication as opposed to the standard user@domain syntax, providing they
have connected to a mapped IP.

vkill

vmkpasswd

vmkpasswd generates the vpasswd.cdb files seen under each of your
domain directories. The CDB format allows for faster
lookups of information by providing a disk-based hashtable database.

vmoddomlimits

vmoddomlimits provides a command-line interface for modifying the .qmailadmin-limits
files that may appear under your domains' directories. This file specifies
how many users, forwards, mailing lists, etc that a user with the postmaster password
may create with Qmailadmin.