Commit graph

9 commits

Author SHA1 Message Date
Kailash Nadh
942eb7c3d8 Add settings UI and "hot reload" support to the app.
This is a major breaking change that moves away from having the
entire app configuration in external TOML files to settings being
in the database with a UI to update them dynamically.

The app loads all config into memory (app settings, SMTP conf)
on boot. "Hot" replacing them is complex and it's a fair tradeoff
to instead just restart the application as it is practically
instant.

A new `settings` table stores arbitrary string keys with a JSONB
value field which happens to support arbitrary types. After every
settings update, the app gracefully releases all resources
(HTTP server, DB pool, SMTP pool etc.) and restarts itself,
occupying the same PID. If there are any running campaigns, the
auto-restart doesn't happen and the user is prompted to invoke
it manually with a one-click button once all running campaigns
have been paused.
2020-07-21 00:23:57 +05:30
Kailash Nadh
7a467a5a3b Add support for custom e-mail headers per SMTP server 2020-05-31 21:16:56 +05:30
Kailash Nadh
18329ff052 Add TLS to SMTP config 2020-05-17 21:07:48 +05:30
Kailash Nadh
abddcb9a03 Remove redundant SMTP LOGIN auth implementation 2020-05-16 23:38:19 +05:30
Kailash Nadh
9d3ca357f6 Integrate new SMTP pool lib 2020-05-16 23:25:37 +05:30
Kailash Nadh
e58b2fa669 Fix typo 2020-05-11 21:00:06 +05:30
jaredfolkins
11c7c60455 enhc: add plain text email body along with HTML, add option in
config.toml
2020-04-14 11:19:34 -07:00
Kailash Nadh
9dcd716f91 Add support for SMTP 'LOGIN' auth 2020-04-01 19:56:40 +05:30
Kailash Nadh
9005bb6dad Move internal packages to 'internal' dir 2020-03-08 00:17:54 +05:30