Search by

drupal / postfix_admin_console

Drupal-Infrastructure

A Drupal Recipe for adding the Postfix Admin console to a Drupal site.

Package info

git.drupalcode.org/project/postfix_admin_console.git

Type:drupal-recipe

pkg:composer/drupal/postfix_admin_console

Statistics

Installs: 2

Dependents: 0

Suggesters: 0

1.0.0-alpha2 2026-09-19 23:43 UTC

This package is auto-updated.

Last update: 2026-09-20 05:21:41 UTC


README

postfix_admin_console is a Drupal Recipe package for adding the postfix_admin module to an existing Drupal site.

The package is intentionally small. The postfix_admin module contains the PHP code, entity definitions, database updates, and runtime permissions. This repository contains only the Recipe package and its documentation.

Versioned documentation for the 1.x release line is available on GitLab Pages.

Requirements and installation

  • PHP 8.3 or later.
  • Drupal 11.4 or later, including Drupal 12 when available.
  • The postfix_admin module 1.x series (the tested release is 1.0.0-alpha2).

After this package is published to a Composer repository, install it from a Drupal project with:

composer require drush/drush:^13 drupal/postfix_admin:^1.0@alpha drupal/postfix_admin_console:^1.0@alpha
cd web
../vendor/bin/drush recipe ../recipes/postfix_admin_console

Until Postfix Admin has a stable release, Composer must explicitly allow its alpha release at the root project level.

Drupal's recommended project template configures recipe unpacking, so the package is available at recipes/postfix_admin_console after Composer runs. Projects with a custom Composer layout should use the equivalent path where the recipe was installed.

Until publication, a local checkout can be tested with a Composer path repository:

composer config repositories.postfix_admin_console path /path/to/postfix_admin_console
composer require drush/drush:^13 drupal/postfix_admin:^1.0@alpha drupal/postfix_admin_console:@dev
cd web
../vendor/bin/drush recipe /path/to/postfix_admin_console

Current scope

  • Drupal 11.4 and later.
  • Install the postfix_admin module through Composer.
  • Create a postfix_administrator role with only the module permissions needed to operate Postfix Admin.

After this package is available in the Drupal codebase, run Drush from the Drupal web root (usually web):

../vendor/bin/drush recipe ../recipes/postfix_admin_console

The Recipe does not create users or grant the role to an existing user. Review the role and assign it through the site's normal user administration workflow.

The Recipe has no update hooks. It installs the module and creates the role; module updates and site-specific data migrations remain the responsibility of the module and the site owner.

To run the disposable SQLite installation test locally:

tests/install-recipe.sh

The test creates a temporary Drupal 11.4 site, applies the local Recipe, and removes the site and database when it exits.

Pass --existing to pre-populate the disposable site with a module, content, user, and role before applying the Recipe. The test then verifies that those existing values are preserved:

tests/install-recipe.sh --existing

The optional dedicated-site preset is applied after the base Recipe. It installs Drupal core's default_admin theme, sets it as both themes, enables its primary and secondary local-task blocks, enables dark mode, and points the site front page to the Postfix Admin domain list. This makes the four resource-list tabs, Settings tab, and contextual + action available in the administration UI. Anonymous visitors can use /user/login:

../vendor/bin/drush recipe ../recipes/postfix_admin_console/examples/dedicated-site

The dedicated preset can also be exercised end-to-end with the disposable test:

tests/install-recipe.sh --dedicated

The dedicated preset lives in examples/dedicated-site/recipe.yml. Keep it separate from the base Recipe so existing sites are never changed by default. The preset does not change Drupal's post-login redirect. A distribution that requires every operator to land on the Domain list should provide that site-wide login behavior separately.

The Recipe does not include Drupal core, a database dump, a theme, mail transport, Postfix, Dovecot, DNS, or site secrets.

Development status

This repository is being built incrementally. The module dependency and permission list are recorded in docs/module-compatibility.md and the minimal Recipe is defined in recipe.yml.

License

GPL-2.0-or-later. See LICENSE.txt.