Analysis updated 2026-05-18
Automatically route future mail from a sender to the folder you first filed their message into.
Rescue emails that a spam filter wrongly marked as junk by moving one out of Junk to teach the daemon the correct sender.
Block a sender entirely by moving one of their messages from Screener to Trash.
Run a self-hosted mail sorting daemon alongside a Stalwart JMAP mail server with no manual filter writing.
| kwatson/jmap-screener | alsultaneo/2cup | eternal-flame-ad/mh-z19 | |
|---|---|---|---|
| Stars | 5 | 5 | 5 |
| Language | Go | Go | Go |
| Last pushed | — | — | 2019-03-31 |
| Maintenance | — | — | Dormant |
| Setup difficulty | moderate | easy | moderate |
| Complexity | 3/5 | 3/5 | 2/5 |
| Audience | ops devops | general | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires a self-hosted Stalwart JMAP mail server with an API token, plus a Screener mailbox created in your email client.
JMAP Screener is a small background program that watches your email and learns from how you file it, so you never have to write mail filtering rules by hand. Unknown senders land in a folder called Screener. When you move one of those messages into another folder, such as Family or Work, the program remembers that sender and automatically sends all their future mail straight to that same folder. It works with mail servers that speak the JMAP protocol, built specifically around the open source Stalwart mail server, and it manages this behavior by generating and updating a Sieve filter script on your account. It can react quickly through JMAP's push notifications when your server supports them, and otherwise checks for changes every five minutes as a backup. Beyond simple filing, it also understands mistakes made by spam filters. If a message from a real sender is wrongly marked as junk, moving it out of the Junk folder teaches the program to pull that sender's future mail out of Junk automatically going forward. There is also an optional rescue mode that periodically scans the Junk folder itself for known senders and moves their messages to the correct place. Moving a message back into Screener, or moving one to Trash, removes any learned rule for that sender. Setup involves creating an API token in your mail server's admin panel, providing the server address and token through a config file or environment variables, and creating a mailbox named Screener for unknown senders to land in. It can then run as a Docker container or as a standalone program built from the Go source code, and it exposes a simple health check endpoint you can use to confirm it is running correctly.
A background daemon that watches which folder you move an email into and automatically learns a filter rule so future mail from that sender goes to the same folder.
Mainly Go. The stack also includes Go, JMAP, Stalwart.
The README does not state a license.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly ops devops.
This repo across BitVibe Labs
Verify against the repo before relying on details.