https://github.com/onezmo65-code/email-cleaner
Bulk-clean Yahoo and Gmail inboxes — delete spam senders in bulk, running locally on your PC.Rapid decongestion of email in bulk. Classifies by sender, frequency and flags potential spam. Arrange according to email source, date, and number of emails or spam. Exclude or include senders.
https://github.com/onezmo65-code/email-cleaner
email gmail node-js productivity react spam yahoo
Last synced: 3 months ago
JSON representation
Bulk-clean Yahoo and Gmail inboxes — delete spam senders in bulk, running locally on your PC.Rapid decongestion of email in bulk. Classifies by sender, frequency and flags potential spam. Arrange according to email source, date, and number of emails or spam. Exclude or include senders.
- Host: GitHub
- URL: https://github.com/onezmo65-code/email-cleaner
- Owner: onezmo65-code
- Created: 2026-04-02T05:05:14.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2026-04-02T06:59:14.000Z (3 months ago)
- Last Synced: 2026-04-02T18:35:56.864Z (3 months ago)
- Topics: email, gmail, node-js, productivity, react, spam, yahoo
- Language: TypeScript
- Homepage:
- Size: 146 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# Email Cleaner
A local desktop web app to bulk-clean Yahoo and Gmail inboxes.
Connect your accounts, scan thousands of emails, and delete spam senders in bulk — all from your browser, running privately on your own PC.

---
## Features
- **Yahoo Mail** — connect with an App Password (no developer account needed)
- **Gmail** — connect via OAuth (free Google Cloud project)
- **Grouped sender view** — see how many emails each sender has sent, sort by count/domain/date
- **Bulk delete** — select all from a sender and delete from the server in one click
- **Report Spam** — move emails to your Spam/Junk folder on the server
- **Whitelist / Exclude** — permanently exclude senders, or hide them for the current session only
- **Unsubscribe** — auto-sends the List-Unsubscribe request for newsletters
- **DNSBL spam check** — optional DNS blocklist scan against public spam databases
- **CSV export** — download your flagged senders as a spreadsheet
- **5 color themes** — Light, Dark, Ocean, Sunset, Forest
- **Search** — find all emails from any address or domain across your inbox
---
## Requirements
- Windows 10 or later
- [Node.js v20 LTS](https://nodejs.org/en/download) — free, one-time install
---
## Setup (first time only)
### 1. Download
On this page, click **Releases** → find the latest release → click **Source code (zip)** to download.
> Or direct link: [⬇ Download Email Cleaner v1.1](../../releases/latest)
### 2. Extract
Right-click the downloaded ZIP → **Extract All** → choose a folder (e.g. Desktop)
### 3. Run SETUP.bat
Open the extracted folder → double-click **SETUP.bat**
- It will check if Node.js is installed — if not, it opens the download page for you
- It installs everything automatically (takes 1–2 minutes)
- When it says **SETUP COMPLETE** you are ready
### 4. Launch the app
Double-click **START.bat** — your browser opens automatically at the app.
> Every time you want to use Email Cleaner, just double-click **START.bat**
---
---
## Connecting Yahoo Mail
1. Go to Yahoo → Account Security → **Generate app password**
2. Select "Other app" → name it `Email Cleaner` → click Generate
3. Copy the 16-character code
4. In Email Cleaner → **Settings** → Add Yahoo Account → paste the code
> If you don't see "Generate app password", enable 2-Step Verification first.
---
## Connecting Gmail
Gmail requires a free Google Cloud project (one-time, ~5 minutes):
1. Go to [console.cloud.google.com](https://console.cloud.google.com) → New Project → name it `Email Cleaner`
2. Enable the **Gmail API** (APIs & Services → Library → search Gmail API)
3. Create OAuth credentials (APIs & Services → Credentials → Create → OAuth client ID → Web application)
4. Add redirect URI: `http://localhost:3001/auth/gmail/callback`
5. Download the credentials JSON → rename to `credentials.json` → place in the `backend/` folder
6. In Email Cleaner → Settings → **Connect Gmail**
Full instructions in [OAUTH_SETUP.md](OAUTH_SETUP.md).
---
## Access from phone or tablet
1. Run `ipconfig` in terminal → find your IPv4 address (e.g. `192.168.1.50`)
2. On your phone: `http://192.168.1.50:5173`
3. Both devices must be on the same Wi-Fi
---
## Project structure
```
backend/src/
routes/ email, accounts, auth, whitelist API endpoints
services/ IMAP (Gmail + Yahoo), filter rules, sync, DNSBL
db/ SQLite database + TypeScript models
frontend/src/
pages/ Inbox, Search, Settings, Help
App.tsx Navigation shell + theme system
api.ts All API calls
```
---
## Support development
If Email Cleaner saves you time, consider supporting it:
[](https://onezmo.gumroad.com/l/email-cleaner)
[](https://ko-fi.com/diskava)
---
## License
MIT — free to use, modify, and distribute.