From 9dc62504c654b1a0bc80e655f451e8e925169208 Mon Sep 17 00:00:00 2001 From: Manos Pitsidianakis Date: Fri, 19 May 2023 11:28:42 +0300 Subject: [PATCH] docs: add scratchpad.md for ideas,features,notes --- docs/scratchpad.md | 77 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 77 insertions(+) create mode 100644 docs/scratchpad.md diff --git a/docs/scratchpad.md b/docs/scratchpad.md new file mode 100644 index 0000000..3106865 --- /dev/null +++ b/docs/scratchpad.md @@ -0,0 +1,77 @@ +# Ideas, plans, thoughts on `mailpot`. + +It'd be better if this stuff wasn't on an issue tracker like gitea's or +github's but committed in the repository. + +Discussion about these notes can take place in the mailing list, + [``](https://lists.meli.delivery/list/mailpot-general/). + +In no particular order: + +**Table of contents**: + +* [Possible Postfix integrations](#possible-postfix-integrations) +* [Setup docker container network with postfix for testing](#setup-docker-container-network-with-postfix-for-testing) +* [Add NNTP gateways](#add-nntp-gateways) +* [Add MIME type filter for list owners](#add-mime-type-filter-for-list-owners) +* [Add `convert_html_to_plaintext` filter](#add-convert_html_to_plaintext-filter) +* [Use mdoc instead of roff for manpages](#use-mdoc-instead-of-roff-for-manpages) +* [Add shell completions with `clap`](#add-shell-completions-with-clap) +* [Make complex database logic and/or complex migrations with user defined functions](#make-complex-database-logic-andor-complex-migrations-with-user-defined-functions) +* [Implement dtolnay's mailing set concept](#implement-dtolnays-mailing-set-concept) + +## Possible Postfix integrations + +- local delivery with `postdrop(1)` instead of SMTP +- log with `postlog(1)` +- sqlite maps + +## Setup docker container network with postfix for testing + +Beyond integration tests, we need a real-world testcase: a bunch of user postfixes talking to a mailing list postfix. +This can be done with a docker setup. +A simple debian slim image can be used for this. +Reference for postfix on docker: . +It'd be great if we could use a Rust based solution as well, with something like . + +## Add NNTP gateways + +TODO + +## Add MIME type filter for list owners + +TODO + +## Add `convert_html_to_plaintext` filter + +TODO + +## Use mdoc instead of roff for manpages + +[`mdoc` reference](https://man.openbsd.org/mdoc.7) + +Progress: + +- Got ownership of `mdoc` on crates.io. +- Forked `roff` crate to use as a basis: + +## Add shell completions with `clap` + +Probably with + +## Make complex database logic and/or complex migrations with user defined functions + +Useful projects: + +- +- + +## Implement dtolnay's mailing set concept + +See + +> A mailing list server that treates mailing lists as sets and allows mail to +> be sent to the result of set-algebraic expressions on those sets. The union, +> intersection, and difference operators are supported. Sending mail to a set +> operation involves specifying a set expression in the local part of the +> recipient email address.