PostfixAdmin settings screenshot

Overview

Postfix Admin provides Drupal entities and administration forms for managing mail domains, mailboxes, aliases, and alias domains.

Drupal owns and writes the routing data. A separately configured Postfix service can read that data through SQL lookup maps.

Features

  • Manage domains, mailboxes, aliases, and alias domains through Drupal.
  • Use separate create, edit, delete, administer, and published or unpublished view permissions for each resource type.
  • Navigate between Domain list, Alias list, Mailbox list, Alias domain list, and Settings using local task tabs.
  • Open the appropriate resource creation form from the contextual + action.
  • Configure list pagination using page sizes of 15, 20, 25, 50, or 100 records.
  • Optionally require email confirmation before activating an alias.
  • Use supplied Postfix SQL lookup-map examples for supported routing queries.

Run locally

docker pull pixieworks/postfix_admin_console:latest
docker run --detach --rm \
  --name postfix-admin-console \
  -p 127.0.0.1:8080:80 \
  pixieworks/postfix_admin_console:latest
docker logs postfix-admin-console

Postfix integration

The module creates and manages the Drupal database tables used for routing data. It does not install or configure Postfix.

Configure Postfix SQL lookup maps separately and use a dedicated database account with read-only access to the required routing columns. Database credentials and production host information must not be stored in Drupal configuration or committed to the project repository.

Validate representative lookups with postmap -q before enabling the maps in production.

Postfix Admin Console Recipe

The optional Postfix Admin Console Recipe installs this module and creates a dedicated postfix_administrator role.

Its optional dedicated-site preset also configures the Default Admin theme, dark mode, local task blocks, and the Domain list starting page.

Documentation

See the Postfix Admin documentation for installation, permissions, administration workflow, SQL map contracts, upgrade guidance, and safe uninstall procedures.

Report problems and feature requests in the project’s GitLab Work items.

Installation

Install the module with Composer:

composer require drupal/postfix_admin

Enable the module through Extend or with Drush:

drush pm:enable postfix_admin

After installation, open Configuration → Web services → Postfix Admin. Add a domain before creating mailboxes, aliases, or alias domains.

Requirements

  • Drupal ^11.4 || ^12
  • PHP 8.3 or later
  • Composer
  • A separately configured Postfix service with access to the required routing tables
Supporting organizations: 

Project information

Releases