vmailmgr CGI Documentation

## 1 Introduction ¶

This is the documentation for the CGI programs for vmailmgr.

### 1.1 Common Form Configuration ¶

The following form fields are common to all of the vmailmgr CGI programs.

#### 1.1.1 Required Form Fields ¶

Field:

  vdomain

Description:

  This field specifies the name of the virtual domain under which to perform this operation.

Syntax:

  ‘`<input type=hidden name=vdomain value="domain-name">`’ or ‘`<input type=text name=vdomain>`’

Field:

  password

Description:

  Unless noted below, this field specifies the password of the administrator for the given virtual domain.

Syntax:

  ‘`<input type=password name=password>`’

#### 1.1.2 Optional Form Fields ¶

Field:

  error_redirect

Description:

  If this field is set, any operation that results in an error will be redirected to the given URL. If not set, a pre-programmed document (which includes the error message) will be output.

Syntax:

  ‘`<input type=hidden name=error_redirect value="URL">`’

Field:

  redirect

Description:

  If this field is set, any operation that completes successfully with be redirected to the given URL. If not set, a pre-programmed document (which includes the completion message) will be output.

Syntax:

  ‘`<input type=hidden name=redirect value="URL">`’

## 2 listvdomain ¶

### 2.1 Overview ¶

This CGI program will list the mailboxes and aliases in a virtual domain in a three-column table. The first column lists the mailbox or alias name, the second column is either ‘`Alias`’ or ‘`Mailbox`’, and the third column lists the destination.

### 2.2 Form Configuration ¶

#### 2.2.1 Required Form Fields ¶

No additional form fields are Required.

#### 2.2.2 Optional Form Fields ¶

Field:

  body-flags

Description:

  If present, the contents of this field is inserted into the ‘`<body>`’ tag at the start of the document.

Syntax:

  ‘`<input type=hidden name=body-flags value="bgcolor=ffffff">`’

Field:

  cell-align

Description:

  Sets the cell alignment. Defaults to ‘`left`’.

Syntax:

  ‘`<input type=hidden name=cell-align value=center>`’

Field:

  cell-post

Description:

  If present, the contents of this field will be output prior to every ‘`</td>`’ tag.

Syntax:

  ‘`<input type=hidden name=cell-post value="</font>">`’

Field:

  cell-pre

Description:

  If present, the contents of this field will be output after every ‘`<td>`’ tag.

Syntax:

  ‘`<input type=hidden name=cell-pre value="<font size=1 name=ariel>">`’

Field:

  p-align

Description:

  Sets the default paragraph alignment. Defaults to ‘`left`’.

Syntax:

  ‘`<input type=hidden name=p-align value=center>`’

Field:

  title-post

Description:

  If present, the contents of this field are output after the title text. Defaults to ‘`</h1>`’.

Syntax:

  ‘`<input type=hidden name=title-post value="</font>">`’

Field:

  table-align

Description:

  Sets the allignment of the table listing the users. Defaults to ‘`left`’.

Syntax:

  ‘`<input type=hidden name=table-align value=center>`’

Field:

  title-pre

Description:

  If present, the contents of this field are output before the title text. Defaults to ‘`<h1>`’.

Syntax:

  ‘`<input type=hidden name=title-pre value="<font size=3 face=verdana>">`’

Field:

  userlink

Description:

  If this field is present, all user names will be enclosed in a link to the contents of this field. If the field contains a ’%’, it will be replaced by the user name.

Syntax:

  ‘`<input type=hidden name=userlink value="/cgi-bin/admin-user?name=%">`’

## 3 vaddalias ¶

### 3.1 Overview ¶

This CGI program can be used to add an alias to a virtual domain.

### 3.2 Form Configuration ¶

#### 3.2.1 Required Form Fields ¶

Field:

  username

Description:

  The virtual user name of the alias to create.

Syntax:

  ‘`<input type=text name=username>`’

Field:

  destination

Description:

  The destination address or addresses of the alias, separated by commas. If an address does not contain a host name (separated from the user name with an ‘`@`’), it is treated as local to the virtual domain and must already exist.

Syntax:

  ‘`<input type=text name=destination>`’

#### 3.2.2 Optional Form Fields ¶

Field:

  newpass1, newpass2

Description:

  These two fields specify the new password of the user. They must match for the password to be changed. The first eight characters are relevant, and may be any combination of letters, digits, or punctuation symbols. If these fields are not present or are empty, a null passcode is used.

Syntax:

  ‘`<input type=password name=newpass1><input type=password name=newpass1>`’

## 4 vadduser ¶

### 4.1 Overview ¶

This CGI program can be used to add a user mailbox to a virtual domain.

### 4.2 Form Configuration ¶

#### 4.2.1 Required Form Fields ¶

Field:

  username

Description:

  The virtual user name of the alias to create.

Syntax:

  ‘`<input type=text name=username>`’

Field:

  newpass1, newpass2

Description:

  These two fields specify the new password of the user. They must match for the password to be changed. The first eight characters are relevant, and may be any combination of letters, digits, or punctuation symbols.

Syntax:

  ‘`<input type=password name=newpass1><input type=password name=newpass1>`’

#### 4.2.2 Optional Form Fields ¶

Field:

  destination

Description:

  The destination address or addresses to direct a copy of incoming mail, separated by commas. If an address does not contain a host name (separated from the user name with an ‘`@`’), it is treated as local to the virtual domain and must already exist. If this field is not present or blank, no forwarding will be done.

Syntax:

  ‘`<input type=text name=destination>`’

Field:

  userdir

Description:

  This field can be used to specify the user mail directory name relative to the virtual domain’s users directory. If this field is not present, the directory name will be the same as the user name.

Syntax:

  ‘`<input type=text name=userdir>`’

## 5 vchattr ¶

### 5.1 Overview ¶

This CGI program can be used to change the attributes of an existing user in a virtual domain.

### 5.2 Form Configuration ¶

#### 5.2.1 Required Form Fields ¶

Field:

  username

Description:

  The virtual user name to modify.

Syntax:

  ‘`<input type=text name=username>`’

Field:

  attribute

Description:

  The number of the attribute to modify. The possible values are:

  ‘`1`’

    The password. Use the `vpasswd` CGI to do this.

  ‘`2`’

    The forwarding destination. Use the `vchforwards` to do this.

  ‘`3`’

    The hard quota.

  ‘`4`’

    The soft quota.

  ‘`5`’

    The message size limit.

  ‘`6`’

    The message count limit.

  ‘`7`’

    The account’s expiry time.

  ‘`8`’

    Set to zero to disable delivery to the account’s mailbox (without deleting the account). Set to non-zero to enable delivery.

  ‘`9`’

    The personal information string.

Syntax:

  ‘`<input type=hidden name=attribute value=2>`’

Field:

  newvalue

Description:

  The new value for the given attribute. The format of this new value is dependant on the type of the attribute.

Syntax:

  ‘`<input type=text name=newvalue>`’

## 6 vchforwards ¶

### 6.1 Overview ¶

This CGI program can be used to change the forwarding destination of an existing user.

### 6.2 Form Configuration ¶

#### 6.2.1 Required Form Fields ¶

Field:

  username

Description:

  The virtual user name to modify.

Syntax:

  ‘`<input type=text name=username>`’

Field:

  destination

Description:

  The destination address or addresses of the alias, separated by commas. If an address does not contain a host name (separated from the user name with an ‘`@`’), it is treated as local to the virtual domain and must already exist.

Syntax:

  ‘`<input type=text name=destination>`’

#### 6.2.2 Optional Form Fields ¶

Field:

  enable

Description:

  Set this field to ‘`0`’ to cause mailbox delivery to this account to be disabled after changing the alias. Set it to any number except ‘`0`’ to cause mailbox delivery to be enabled before changing the alias. If it is not set, the mailbox is neither enabled nor disabled.

Syntax:

  ‘`<select name=enable> <option value=0>Disable <option value=1>Enable </select>`’

## 7 vdeluser ¶

### 7.1 Overview ¶

This CGI program deletes a user from a virtual domain.

### 7.2 Form Configuration ¶

#### 7.2.1 Required Form Fields ¶

Field:

  username

Description:

  The virtual user name of the user to delete.

Syntax:

  ‘`<input type=text name=username>`’

## 8 vpasswd ¶

### 8.1 Overview ¶

This CGI program can be used to change the password of a user either by the user themself or by the domain administrator.

### 8.2 Form Configuration ¶

The password field used by this CGI may match either the password of the virtual domain administrator or that of the user being modified.

#### 8.2.1 Required Form Fields ¶

Field:

  username

Description:

  This field specifies the name of the user that is to be modified.

Syntax:

  ‘`<input type=text name=username>`’

Field:

  newpass1, newpass2

Description:

  These two fields specify the new password of the user. They must match for the password to be changed. The password may contain any combination of letters, digits, or punctuation symbols.

Syntax:

  ‘`<input type=password name=newpass1> <input type=password name=newpass2>`’