Commit 1bd64779 authored by MrMan's avatar MrMan

Update README, confirmed working AUTH PLAIN

parent a7c58d1a
Pipeline #50081728 passed with stage
in 7 minutes and 1 second
......@@ -15,12 +15,6 @@ The [`postmgr` container][gitlab-docker-repo] is the primary container of this p
You **should** be able to download the single container, connect it to your container orchestration process of choice, and have a fully functional, mostly secure, manageable Postfix installation. If this is ever not-true, [file a bug][gitlab-issues].
## Binary ##
`postmgr` can be used by download the binary from a trusted source or build from source.
TODO: table listing where to download the binary
# Why postmgr? #
While some might [advise against running your own mail server][do-dont-run-your-own-mailserver], for relatively simple applications that need to send mail, I often find it's easiest to set up a small Postfix instance to handle things like registration emails and the like. While the documentation is extensive, and many resources abound, managing Postfix can be a very difficult endeavor, with misleading/overloaded terminology, and seemingly cryptic settings.
......@@ -31,11 +25,47 @@ One of the express goals of this project is to make management, configuration, a
# Architecture #
The basic architecture of `postmgr` is pretty simple: `postmgr` runs and manages Postfix as a forked process.
TODO: Architecture image
`postmgr` listens on the ports you would expect Postfix to listen on, plus a few more for value-added features. Most features on `postmgr` can be enabled/disabled. The default configuration for `postmgr` does nothing more than serve as a thin daemonized wrapper over postfix itself.
The basic architecture of `postmgr` is pretty simple:
```
+------------------------------+
| |
| Postfix Component |
| | +-----------------+
| | | |
| +----------+ +----------+ +<--------+ Dovecot |
| | | | | | | |
| | postfix | |MailboxDB | +-------->+ +-----------+ |
| | process | | | | | | | |
| | | | | | | |dovecot | |
| +----------+ +----------+ | | |process | |
| | | +-----------+ |
+----------+-------+-----------+ +-----------------+
| ^
| |
| |
| |
v |
+----------+-------+-----------+
| |
| |
| Web Admin Component |
| |
| |
+------------------------------+
```
There are three major components:
- Postfix (`src/components/postfix.rs`) which controls and manipulates a child `postfix` process
- Web Admin (`src/components/web_admin.rs`) which exposes an administration interface, sending messages to the Postfix component
- Dovecot (`src/components/dovecot.rs`) which controls and manipulates a child `dovecot` process
`postmgr` listens on the ports you would expect Postfix to listen on (25, 587, etc), plus a few more for value-added features (like Dovecot).
For more more information on various bits of the architecture:
- IMAP (via dovecot): `docs/imap.md`
# Developing/debugging `postmgr` #
......
# IMAP #
## Supported clients ##
Curently [`dovecot`](https://wiki.dovecot.org) is the only supported IMAP client.
The `Dovecot` component (`src/components/dovecot.rs`) manages a child `dovecot` process (which is started in non-daemonized mode for better control), generating and placing configuration as necessary.
## Suported SMTP authentication method ##
Currently the following authentication methods are supported via `dovecot`:
- `AUTH PLAIN`
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment