drupal / postfix_admin_console
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
Requires
- drupal/core: ^11.4 || ^12
- drupal/postfix_admin: ^1.0@alpha
Requires (Dev)
None
Suggests
None
Provides
None
Conflicts
None
Replaces
None
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_adminmodule 1.x series (the tested release is1.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_adminmodule through Composer. - Create a
postfix_administratorrole 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.