You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
Go to file
bors[bot] 7481a6d272
Merge #1604
1604: Added CLI command to export and import the configuration r=mergify[bot] a=ghostwheel42

## What type of PR?

enhancement

## What does this PR do?

This PR adds a `config-dump` cli command and updates the `config-update` cli command to
handle all possible items and parameters.
This was done by adding generic **to_dict** and **from_dict** methods to the Base model, so it should be quite future-proof.
The changes to `config-update` are backwards-compatible to the old command.
I've only removed the undocumented yaml-section _managers_ - managers can now be defined in the _users_ section.

The YAML now looks like this:

```
  aliases:
    - email: email@example.com
      destination:
        - address@example.com
  
  domains:
    - name: example.com
      alternatives:
        - alternative.tld
  
  relays:
    - name: relay.example.com
      smtp: mx.example.com
  
  users:
    - email: postmaster@example.com
      displayed_name: 'Postmaster'
      enable_imap: true
      enable_pop: false
      enabled: true
      forward_destination:
        - address@remote.example.com
      forward_enabled: true
      forward_keep: true
      global_admin: true
      manager_of:
        - example.com
      password: '{BLF-CRYPT}$2b$12$...'
      spam_enabled: true
      spam_threshold: 80

```

### Related issue(s)
- Closes issue #1377

## Prerequistes
Before we can consider review and merge, please make sure the following list is done and checked.
If an entry in not applicable, you can check it or remove it from the list.

- [X] In case of feature or enhancement: documentation updated accordingly
- [X] Unless it's docs or a minor change: add [changelog](https://mailu.io/master/contributors/guide.html#changelog) entry file.


Co-authored-by: Alexander Graf <ghostwheel42@users.noreply.github.com>
3 years ago
.github Forgot to add condition to load docker images step 3 years ago
core cleaned imports and fixed datetime and passlib use 3 years ago
docs Merge branch 'master' into import-export 3 years ago
optional Update setup website 3 years ago
setup Merge #1831 3 years ago
tests Merge #1754 3 years ago
towncrier Merge branch 'master' into import-export 3 years ago
webmails Merge #1754 3 years ago
.gitignore use different alpine image for arm, add config for php images+arm 5 years ago
.mergify.yml Update list of trusted authors. 3 years ago
AUTHORS.md Improve changelog and release texts for 1.8 4 years ago
CHANGELOG.md typos 4 years ago
CODE_OF_CONDUCT.md Add a code of conduct, fixes #319 7 years ago
CONTRIBUTING.md Update "the development guidelines" hyperlink 5 years ago
ISSUE_TEMPLATE.md Remove <> tags as they break markdown rendering 4 years ago
LICENSE.md Rename the freeposte/mailu directory and database 8 years ago
PULL_REQUEST_TEMPLATE.md Changed docs version from 1.6 to master 6 years ago
README.md Update README.md 6 years ago
bors.toml Switch to github actions for CI/CD 3 years ago
pyproject.toml Fix the package setting 5 years ago

README.md

Mailu

Mailu is a simple yet full-featured mail server as a set of Docker images. It is free software (both as in free beer and as in free speech), open to suggestions and external contributions. The project aims at providing people with an easily setup, easily maintained and full-featured mail server while not shipping proprietary software nor unrelated features often found in popular groupware.

Most of the documentation is available on our Website, you can also try our demo server before setting up your own, and come talk to us on Matrix.

Features

Main features include:

  • Standard email server, IMAP and IMAP+, SMTP and Submission
  • Advanced email features, aliases, domain aliases, custom routing
  • Web access, multiple Webmails and administration interface
  • User features, aliases, auto-reply, auto-forward, fetched accounts
  • Admin features, global admins, announcements, per-domain delegation, quotas
  • Security, enforced TLS, Letsencrypt!, outgoing DKIM, anti-virus scanner
  • Antispam, auto-learn, greylisting, DMARC and SPF
  • Freedom, all FOSS components, no tracker included

Domains

Contributing

Mailu is free software, open to suggestions and contributions. All components are free software and compatible with the MIT license. All specific configuration files, Dockerfiles and code are placed under the MIT license.