Skip to content

WilliamHudspeth/Email-DeMessifier

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Email DeMessifier

An Explainable Email Triage Engine that transforms overloaded inboxes into action-oriented workflows.

This is a local PowerShell script that sorts a chaotic Outlook inbox into a layered folder architecture. It runs against the Outlook Desktop COM object on your machine — no credentials, no cloud, nothing leaves your computer.

Case Study: In local testing on an 8,100+ email backlog, Email DeMessifier safely isolated high-value recruiting and technical alerts, reducing the primary inbox volume by 78% without a single false positive on unknown personal contacts.

Design principles

  • Domain-anchored matching: Every rule matches @...domain$, so a sender is routed on its real domain, never on a keyword sitting in a display name. A phishing email from security-noreply@evil.xyz will not match a @linkedin.com rule.
  • Layer 0 Phishing Quarantine: Actively traps obvious display-name spoofing (e.g. an email claiming to be "PayPal Support" sent from a @gmail.com address) into a 0_Bait_Prospects quarantine folder.
  • Security first: A bank's "unusual sign-in" alert routes to 1_Action\Security, not Banking, because the security rules run first.
  • Unknown stays visible: Anything no rule matches is left in the Inbox. The system files what it's sure about and leaves the rest for human eyes.
  • Zero auto-read: Unread counts are never altered. The script organizes mail; it does not pretend you've read it.

Safety model

  • Dry run by default workflow: Run with -DryRun first. It writes Classification_Report.csv (Subject, Sender, CurrentFolder, ProposedFolder) and moves nothing. Eyeball it, adjust the rules, repeat — then run live.
  • Real rollback: A live run stamps every moved item with a Migrated_YYYY_MM_DD category. Using the -Undo switch walks the whole store and moves those items back to the Inbox. One command, fully reversible.
  • No silent failures: Errors are caught and written to demessifier_run_log.csv; the script tells you exactly what failed.

Prerequisites

  • Windows OS
  • Microsoft Outlook Desktop Application (must be installed, open, and synced).
  • Note: It actively bypasses Exchange EX:/O= string formatting to extract true SMTP addresses automatically.

Usage

# 1. Always preview first — writes the report, changes nothing:
.\Email-DeMessifier.ps1 -TargetAccount "you@example.com" -DryRun

# 2. When the report looks right, run live:
.\Email-DeMessifier.ps1 -TargetAccount "you@example.com"

# 3. Changed your mind? Reverse the entire run:
.\Email-DeMessifier.ps1 -TargetAccount "you@example.com" -Undo -UndoCategory "Migrated_2026_06_13"

Customizing

All routing lives in the $rules array near the top of the script. Add your own domains to the relevant DomainSet(...) list. Keep the anchors intact — add domains, don't loosen the @...$ matching, or you reopen the door to keyword-collision misroutes.

About

An Explainable Email Triage Engine that converts overloaded inboxes into action-oriented workflows using Domain-Anchored matching and Layer 0 Phishing Quarantines.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors