Skip to main content

Webapp to manage mail server domains, users and aliases.

Project description

mailserver-admin

This application manages domains, users and aliases of a mail server.

This has been tested with dovecot, using either mysql or postgresql database.

The main goal was to enhance/replace Jeffrey Boehm’s PHP mailserver-admin application because I didn’t want to have a mail server administration application in PHP and I wanted to have administration account per domain.

Environment variables

Required:

  • DJANGO_SECRET_KEY: at least 40 characters. Should be specified for production.
  • DJANGO_DB_TYPE: postgres or mysql, default to mysql.
  • DJANGO_DB_HOST: database hostname, default to db (for use in docker-compose).
  • DJANGO_DB_PORT: database port, default to empty (default port).
  • DJANGO_DB_NAME: database name, default to mailserver.
  • DJANGO_DB_USER: database user, default to mailserver.
  • DJANGO_DB_PASSWORD: database password, default to changeme.

Optional:

  • DJANGO_DEBUG: default False. Set to True to enable debug toolbar, more logs and static files served.
  • DJANGO_LOG_LEVEL: default to WARNING (INFO if DJANGO_DEBUG).
  • DJANGO_RUNSERVER_LOG_LEVEL: default to INFO (DEBUG if DJANGO_DEBUG). Used only when run with runserver or runserver_plus.
  • DJANGO_TZ: timezone, defaut to UTC.
  • DJANGO_WEBMAIL_URL: webmail url to show in the footer, default to no link.
  • DJANGO_VENDOR_NAME: any vendor name you want to appear on the footer, default to Sources.
  • DJANGO_VENDOR_URL: any url you want to be linked to your vendor name, default to this repository url. Set to empty to disable the link.
  • DJANGO_HIDE_VERSION: default False if DJANGO_DEBUG else True. Set to True to hide the mailserver-admin version.

Install from PyPi

VirtualEnv and Dependencies

Minium python version is 3.9.

Use:

pipenv install mailserver-admin

to install it without any database backend.

If you want to install the mysql or postgresql database backend alongside, use for instance:

pipenv install mailserver-admin[mysql]

Configuration

Define the required environment variables then:

export DJANGO_SETTINGS_MODULE=mailserveradmin.config.settings
pipenv run django migrate
pipenv run django createsuperuser
TODO

You can now server the application using any WSGI server pointing to $(VISUAL='readlink -f' pipenv open mailserveradmin|tail -n1)/config/wsgi.py.

Don’t forget to also serve static ressources located at $(VISUAL='readlink -f' pipenv open mailserveradmin|tail -n1)/to_serve folder.

You can of course make symlinks to those locations to simplify configuration.

Install from sources

VirtualEnv and Dependencies

Use:

pipenv sync -d

to install dependencies. Default python version is 3.9.

Installation

You should also install a database driver, either mysqlclient or psycopg2-binary:

pipenv run pip install mysqlclient

Configuration

Define the required environment variables then:

pipenv run ./manage.py migrate
pipenv run ./manage.py createsuperuser
pipenv run ./manage.py collectstatic

You can now server the application using any WSGI server pointing to the config/wsgi.py file.

Don’t forget to also serve the static/ folder.

Alternatively, you can test the application with pipenv run ./manage.py runserver_plus but this should only be used for testing/development.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mailserver-admin-0.9.0.tar.gz (1.5 MB view details)

Uploaded Source

Built Distribution

mailserver_admin-0.9.0-py3-none-any.whl (1.5 MB view details)

Uploaded Python 3

File details

Details for the file mailserver-admin-0.9.0.tar.gz.

File metadata

  • Download URL: mailserver-admin-0.9.0.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for mailserver-admin-0.9.0.tar.gz
Algorithm Hash digest
SHA256 dd8c287c0be723878fcd2adeddf7bfcf4f520e8a458eead713ffc56a4535a17f
MD5 5aa63fca07d64c7ed7c7cc595ce3bb9a
BLAKE2b-256 a253b08e0a3e5aa541da98786449fe4841e73d5efa17ed6e90d0d4db13459d57

See more details on using hashes here.

File details

Details for the file mailserver_admin-0.9.0-py3-none-any.whl.

File metadata

  • Download URL: mailserver_admin-0.9.0-py3-none-any.whl
  • Upload date:
  • Size: 1.5 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/3.7.3 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.9.2

File hashes

Hashes for mailserver_admin-0.9.0-py3-none-any.whl
Algorithm Hash digest
SHA256 440b1c02dff10ab06837d459bffbf5a0c8a60907812f5a8dbb3e0c5f528620de
MD5 7793f73b0d2b7bf6650a50c2a6760ceb
BLAKE2b-256 3594d00904b91d8b442da683fa6f2b23ce8e884297615a332f5ae099a1d87442

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page