Cmail Agent
CMail ScraperFinds the right people to write to, and shows where it found them.
Why I built it. I was sending my CV to companies in Qatar and spent longer hunting for a real HR address than writing the email. Guessed addresses bounce, and directory sites recycle stale ones.
How it works. I name a company or a sector. The agent searches the web and reads each company’s own careers and contact pages, while a small Python tool crawls the site politely, stores every address with the page it came from, checks the domain accepts mail, and exports a filterable Excel tracker. When I choose who to contact, it drafts the email and I send it.
- Never guesses an addressOnly addresses that appear on a real page are stored, each with its source URL. No hr@ patterns.
- Directories give names, not leadsListing sites are used to find companies. Their own addresses are flagged low confidence and never queued.
- One tracker, no repeatsSQLite underneath, Excel on top. Every address has a status, so no company hears from me twice.
- Find
- Verify
- Sort
- Draft
- Send
Where I decideWho to target, and every email. It only searches when I ask, and nothing leaves my outbox until I send it.
I folded my older lead scraper into it instead of starting clean. Its data came across cleaned and de-duplicated, and the companies I had already written to kept their sent dates.
Built with- Python
- SQLite
- openpyxl
- MX checks
- pytest