You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
1 year ago | |
---|---|---|
shell | 1 year ago | |
src | 1 year ago | |
.gitignore | 1 year ago | |
Dockerfile | 1 year ago | |
README.adoc | 1 year ago | |
docker-compose.yaml | 1 year ago | |
pom.xml | 1 year ago |
README.adoc
= BurnsMail :stylesheet: ../shared/adoc-styles.css :toc: :toclevels: 4 🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥 🔥 == Getting Started * run `build+recreate.sh` == Flow (trigger) * We trigger one of our workflows via REST to our App. == Flow (engine) * we have our own little engine, as defined in `process(flow)`. * it consists of the following steps: ** `search` : the `Store` for `Message[]` ** `map` : the `Message` to `AMail` (lazy or full, see `AMail`) ** `filter` : the `AMail` (e.g. by _subject_) ** `transform` : the `AMail` (e.g. set spam score) ** `action` : on the `AMail` (e.g. move to folder) ** `cleanup` : on the `Store` (e.g. flush some folder) == AMail * generally `AMail` is a proxy-less `String`-backed representation of a `Message`. == List of current Step Implementations === Search * `FetchAll` : fetch all messages from some `Folder` * `SearchAnySubject` : search for any of the provided subjects in some `Folder` === Map * TODO : doc === Filter * TODO : doc === Transform * `SetOpenAiScore` : set spam-score by asking _openai_ === Action * `MoveToFolder` : move the mail to some `Folder` === Cleanup * `FlushFolders` : flush the provides `Folder` s