2022-08-29 20:18:25 +03:00
2022-08-29 20:18:25 +03:00
2022-08-29 19:58:54 +03:00
2022-08-29 19:58:54 +03:00
2022-08-27 22:10:22 +03:00
2022-08-26 09:46:15 +03:00
2022-08-23 17:56:38 +03:00
2022-08-22 18:47:53 +03:00
2022-08-29 15:28:37 +03:00
2022-08-29 15:28:37 +03:00
2022-08-22 19:11:00 +03:00
2022-08-23 14:33:37 +03:00
2022-08-29 19:58:54 +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

  • 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
other optional config parameters
  • POSTMOOGLE_NOOWNER - allow change room settings by any room partisipant
  • POSTMOOGLE_NOENCRYPTION - disable encryption support
  • POSTMOOGLE_STATUSMSG - presence status message
  • POSTMOOGLE_SENTRY_DSN - sentry DSN
  • 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
  • POSTMOOGLE_USERS - a space-separated list of whitelisted users allowed to use the bridge. If not defined, everyone is allowed. Example rule: @someone:example.com @another:example.com @bot.*:example.com @*:another.com
  • POSTMOOGLE_ADMINS - a space-separated list of admin users. See POSTMOOGLE_USERS for syntax examples

You can find default values in config/defaults.go

Usage

How to start

  1. Invite the bot into a room you want to use as mailbox
  2. Read the bot's introduction
  3. Set mailbox using !pm mailbox NAME where NAME is part of email (e.g. NAME@example.com)
  4. Done. Mailbox owner and other options will be set automatically when you configure mailbox. If you want to change them - check available options in the help message (!pm help)
Full list of available commands
  • !pm help - Show help message
  • !pm stop - Disable bridge for the room and clear all configuration

  • !pm mailbox - Get or set mailbox of the room
  • !pm owner - Get or set owner of the room

  • !pm nosender - Get or set nosender of the room (true - hide email sender; false - show email sender)
  • !pm nosubject - Get or set nosubject of the room (true - hide email subject; false - show email subject)
  • !pm nohtml - Get or set nohtml of the room (true - ignore HTML in email; false - parse HTML in emails)
  • !pm nothreads - Get or set nothreads of the room (true - ignore email threads; false - convert email threads into matrix threads)
  • !pm nofiles - Get or set nofiles of the room (true - ignore email attachments; false - upload email attachments)

  • !pm mailboxes - Show the list of all mailboxes

Where to get

docker registry, etke.cc

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