update readme

This commit is contained in:
Aine 2025-03-31 22:36:30 +03:00
parent a9d520b816
commit 257d8e46be
No known key found for this signature in database
GPG key ID: 34969C908CCA2804

View file

@ -2,6 +2,32 @@
> [more about that name](https://finalfantasy.fandom.com/wiki/The_Little_Postmoogle_That_Could) > [more about that name](https://finalfantasy.fandom.com/wiki/The_Little_Postmoogle_That_Could)
<!-- vim-markdown-toc GFM -->
* [Roadmap](#roadmap)
* [Receive](#receive)
* [Send](#send)
* [Configuration](#configuration)
* [1. Bot (mandatory)](#1-bot-mandatory)
* [2. DNS (highly recommended)](#2-dns-highly-recommended)
* [Where to get](#where-to-get)
* [etke.cc](#etkecc)
* [Matrix Docker Ansible Deploy](#matrix-docker-ansible-deploy)
* [Docker](#docker)
* [Binary](#binary)
* [Build from source](#build-from-source)
* [Usage](#usage)
* [How to start](#how-to-start)
* [mailbox ownership](#mailbox-ownership)
* [mailbox options](#mailbox-options)
* [mailbox security checks](#mailbox-security-checks)
* [mailbox anti-spam](#mailbox-anti-spam)
* [server options](#server-options)
* [server antispam](#server-antispam)
<!-- vim-markdown-toc -->
An Email to Matrix bridge. 1 room = 1 mailbox. An Email to Matrix bridge. 1 room = 1 mailbox.
Postmoogle is an actual SMTP server that allows you to send and receive emails on your matrix server. Postmoogle is an actual SMTP server that allows you to send and receive emails on your matrix server.
@ -94,6 +120,49 @@ You can find default values in [internal/config/defaults.go](internal/config/def
Follow the [docs/dns](docs/dns.md) Follow the [docs/dns](docs/dns.md)
## Where to get
### [etke.cc](https://etke.cc)
You can get a hosted version of the bot with a support and maintenance plan by the developers on [etke.cc](https://etke.cc)
### [Matrix Docker Ansible Deploy](https://github.com/spantaleev/matrix-docker-ansible-deploy)
You can get the bot using MDAD playbook, just [follow the docs](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/master/docs/configuring-playbook-bridge-postmoogle.md)
### Docker
You can get the bot using docker image from [the registry](https://github.com/etkecc/postmoogle/pkgs/container/postmoogle)
```bash
# 1. Get UID and GID of the system user you want to use to run the bot's container:
# id
# 2. Prepare the configuration in the env file (see Configuration section), alternatively you can use `docker --env` flags
# 2. Run the bot using UID and GID from step 1:
docker run --user YOUR_UID:YOUR_GID --env-file /YOUR_ENV_FILE ghcr.io/etkecc/postmoogle:latest
```
### Binary
You can get binary from [the releases page](https://github.com/etkecc/postmoogle/releases):
```bash
# 1. Prepare the configuration in the .env file (see Configuration section), alternatively you can use env vars
# 2. Run the bot (it will load .env file in the current directory automatically)
./postmoogle
```
### Build from source
```bash
# 1. Clone the repo
# 2. Prepare the configuration in the .env file (see Configuration section), alternatively you can use env vars
# 3. (if `just` is installed)
just build
# or
go build -ldflags '-extldflags "-static"' -tags timetzdata,goolm -v ./cmd/postmoogle
```
## Usage ## Usage
### How to start ### How to start
@ -125,6 +194,7 @@ If you want to change them - check available options in the help message (`!pm h
* **`!pm owner`** - Get or set owner of the room * **`!pm owner`** - Get or set owner of the room
* **`!pm password`** - Get or set SMTP password of the room's mailbox * **`!pm password`** - Get or set SMTP password of the room's mailbox
* **`!pm relay`** - Get or set SMTP relay of that mailbox. Format: `smtp://user:password@host:port`, e.g. `smtp://54b7bfb9-b95f-44b8-9879-9b560baf4e3a:8528a3a9-bea8-4583-9912-d4357ba565eb@example.com:587` * **`!pm relay`** - Get or set SMTP relay of that mailbox. Format: `smtp://user:password@host:port`, e.g. `smtp://54b7bfb9-b95f-44b8-9879-9b560baf4e3a:8528a3a9-bea8-4583-9912-d4357ba565eb@example.com:587`
--- ---
#### mailbox options #### mailbox options