mailadmin_gui module

Graphical interface for administering the mail server database.

A simple graphical interface for inspecting and manipulating the database associated with a Postfix- and Dovecot-based mail server configured according to the instructions from Linode (https://www.linode.com/docs/guides/email-with-postfix-dovecot-and-mysql/).

class mailadmin_gui.AppFrame(parent)

Bases: wx._core.Frame

Main frame for the application.

class mailadmin_gui.EditAliasDialog(parent, alias: mailadmin_core.Alias, domains)

Bases: wx._core.Dialog

A dialog for creating/editing aliases.

data_domain

Input control for the domain.

Type

wx.Choice

data_source

Input control for the source email.

Type

wx.TextCtrl

data_destination

Input countrol for the destination email.

Type

wx.TextCtrl

class mailadmin_gui.EditDomainDialog(parent, domain: mailadmin_core.Domain)

Bases: wx._core.Dialog

A dialog for creating/editing domains.

data_name

Input control for the domain name.

Type

wx.TextCtrl

class mailadmin_gui.EditUserDialog(parent, user: mailadmin_core.User, domains)

Bases: wx._core.Dialog

A dialog for editing users.

data_name

The input control for the user name.

Type

wx.TextCtrl

data_domain

Input control for the domain name.

Type

wx.Choice

data_pw1

Input control for the password.

Type

wx.TextCtrl

data_pw2

Input control for re-entering the password.

Type

wx.TextCtrl

class mailadmin_gui.EntityPanel(parent, label: str, headings: List[str], initial_data: Union[List[str], List[List[str]]], add_handler=None, edit_handler=None, remove_handler=None)

Bases: wx._core.Panel

Panel for displaying a list and add/edit/remove buttons for domains, users, and aliases.

item_ctl

The list of entities displayed by the panel.

Type

wx.ListCtrl

btn_add

The button to add entities.

Type

wx.Button

btn_edit

The button to edit entities.

Type

wx.Button

btn_remove

The button to remove entities.

Type

wx.Button

add_row(item: Union[str, List[str]])

Add a row to the list.

Parameters

item (str or list of str) – The column or list of columns to add.

edit_row(index: int, column: int, new_value: str)

Change the contents of a cell in the list.

Parameters
  • index (int) – The index of the row to change.

  • column (int) – The index of the column to change.

  • new_value (str) – The value to insert into the list.

remove_row(index: int)

Remove a row from the list.

Parameters

index (int) – The index of the row to remove.

replace_all_rows(new_data)

Replace all contents of the list.

Parameters

new_data (list of str or list of list of str) – The new rows to put into the table.