1babbb71696e106c6602e06d2c7c7eb6b06cd8ee
In various places, we build messages using `Sprintf` before passing them to `Notice()`. If we let `Notice()` do string formatting, we run the chance of having it try to format our already-preformatted text. If our text includes format references (e.g. `%s`), it would cause a problem (`%s(MISSING)`). One way to trigger it is to change the bot prefix from `!pm` to `%pm`. Doing so, `sendHelp()` would create some help message which contains `%pm` references. `Notice()` would then try to process them as well, leading to a bunch of `%!p(MISSING)m` in the final text.
Postmoogle 

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
Description
Languages
Go
98.6%
Just
1.1%
Dockerfile
0.2%