Slavi Pantaleev 16ce4314b9 Sanitize settings on Get() and add convenience getters
Sanitizing options on Get() ensures that when someone asks
for a given option which may not be defined (`nosubject`, `nosender`),
we'll return a valid value (`'true'` or `'false'`) and not `''` (empty
string, undefined).

This way, users do not need to wonder if "nosender is not set" is
handled like "true" or "false" or in some 3rd way. They also don't need
to think about "how to unset this setting, now that I've set it to something".
Options will appear to have a default sanitized value no matter if
they've explicitly been set or not.

The `NoSender()` and `NoSubject()` getters are just there for
convenience, so that we won't need to do casting in other places.
2022-08-24 10:16:28 +03:00
2022-08-23 22:12:11 +03:00
2022-08-22 22:08:32 +03:00
2022-08-23 22:12:11 +03:00
2022-08-23 21:58:05 +03:00
wip
2022-08-21 18:41:35 +03:00
2022-08-23 17:56:38 +03:00
2022-08-23 22:12:11 +03:00
2022-08-22 18:47:53 +03:00
2022-08-23 15:45:40 +03:00
2022-08-23 15:45:40 +03:00
2022-08-22 19:11:00 +03:00
2022-08-23 14:33:37 +03:00
2022-08-22 22:08:32 +03:00

Postmoogle Matrixko-fi coverage report Go Report Card Go Reference

more about that name

An Email to Matrix bridge

Roadmap

Receive

  • SMTP server
  • Matrix bot
  • Configuration in room's account data
  • Receive emails to matrix rooms
  • Receive attachments
  • Map email threads to matrix threads

Send

  • SMTP client
  • Reply to matrix thread sends reply into email thread
  • Send a message to matrix room with special format to send a new email

Configuration

env vars

mandatory

  • POSTMOOGLE_HOMESERVER - homeserver url, eg: https://matrix.example.com
  • POSTMOOGLE_LOGIN - user login/localpart, eg: moogle
  • POSTMOOGLE_PASSWORD - user password
  • POSTMOOGLE_DOMAIN - SMTP domain to listen for new emails
  • POSTMOOGLE_PORT - SMTP port to listen for new emails

optional

  • POSTMOOGLE_NOOWNER - allow change room settings by any room partisipant
  • POSTMOOGLE_FEDERATION - allow usage of Postmoogle by users from others homeservers
  • POSTMOOGLE_NOENCRYPTION - disable encryption support
  • POSTMOOGLE_SENTRY_DSN - sentry DSN
  • POSTMOOGLE_SENTRY_RATE - sentry sample rate, from 0 to 100 (default: 20)
  • POSTMOOGLE_LOGLEVEL - log level
  • POSTMOOGLE_DB_DSN - database connection string
  • POSTMOOGLE_DB_DIALECT - database dialect (postgres, sqlite3)
  • POSTMOOGLE_MAXSIZE - max email size (including attachments) in megabytes

You can find default values in config/defaults.go

Where to get

docker registry, etke.cc

Description
No description provided
Readme 48 MiB
Languages
Go 98.6%
Just 1.1%
Dockerfile 0.2%