Crabmail Mirror repository

Juan-789 4b74cce6d8 Merge remote-tracking branch 'refs/remotes/origin/augment-jumping' před 3 měsíci
.github 487f39a531 Add issue template discouraging github use před 2 roky
.idea 327dd39e6b merged Juan-bugfix into main před 4 měsíci
doc b8ef12a178 update docs, readme před 2 roky
misc 928e63ca13 update sieve filters před 2 roky
src 4b74cce6d8 Merge remote-tracking branch 'refs/remotes/origin/augment-jumping' před 3 měsíci
.gitignore d534f16d82 fix xml converter před 3 měsíci
Cargo.lock e84118c176 got rid of warnings před 4 měsíci
Cargo.toml e84118c176 got rid of warnings před 4 měsíci
LICENSE 896925d675 Re license to AGPLv3 před 2 roky
README.md 1e5bd23601 rm stuff před 2 roky
TODO 7e13234c81 update TODO před 2 roky
crabmail.conf 14dcc996d4 three fields added to config file před 4 měsíci

README.md

🦀Crabmail🦀

self-hosted / github mirror

A static mail HTML and Gemini archive for the 21st century, written in Rust. Includes helpful "modern" features that existing solutions lack, like:

  • Responsive UI
  • Single-page threads
  • Working mailto: links
  • Thread-based Atom feeds

Not implemented yet / designed:

  • Attachment handling?

EMAIL FOREVER!

Installation and usage

To install:

git clone git://git.alexwennerberg.com/crabmail/
cd crabmail && cargo install --path .

Copy crabmail.conf and set the variables as needed.

Get a maildir folder, for example, via mbsync. Crabmail will create sub-lists for each folder inside this maildir.

Run crabmail [maildir root] -c [config-file.conf].

For more thorough documentation, run man doc/crabmail.1. You can also move these wherever your docs manpages may live

If you want to use an mbox file (for example, to mirror another archive), use mblaze to import it into a maildir. Mblaze also has some tools that you may find supplementary to crabmail.

For example:

mkdir -p lists/mylist/cur lists/mylist/tmp lists/mylist/new
mdeliver -M lists/mylist < mylist.mbox
crabmail lists

Open site/index.html in a web browser

NOTES

This is only tested on Linux. Notably: Any character other than "/" is allowed in filenames used in message-id. Make sure this doesn't break anything or cause a security vuln on your filesystem.

Contributing

For patches, use git-send-email or git-format-patch to send a patch to my mailing list

git-format-patch is preferred for non-trivial or multi-commit changes

Etc

Crabmail is AGPLv3 licenses, but some files are licensed under 0BSD or other more permissive licenses. I call this out when I can.

For a similar project, check out bubger

Consider supporting me and my projects on patreon