AI-assisted workflow for drafting and sending JSON-defined emails via any SMTP-friendly mailbox (Google Workspace, Outlook, Namecheap, Proton, etc.).
GitHub (Source code):
https://github.com/artiehinz/Email-Assistant
https://github.com/artiehinz/Email-Assistant
Type
Non-commercial
Non-commercial
Year
2025
Role
Developer
2025
Role
Developer
Tools
Python, OpenAI
Python, OpenAI
Goal
Provide a minimal tool that lets me (or anyone using VS Code) draft emails as JSON, preview AI-upgraded wording directly in the terminal, and send the final version through my existing SMTP inbox without bouncing between multiple apps.
Results
Fast, consistent emails: every message is polished with OpenAI, logged, and sent in both plain text and HTML with your signature. Originally a personal tool, it’s now open source for recruiters, artists, and freelancers, and will soon plug into a larger “Career Assistant” suite for research, lead discovery, email lookup, and personalized outreach.
Preparing an email
Place a JSON file in emails/ (or pass a custom path) with this structure:
{
"email": "recipient@example.com",
"subject": "Checking in",
"text": "Original text you want the model to improve.",
"prompt": "Structure this email"
}
Fields:
— email (required): recipient address.
— text (required): raw message the model should polish.
— subject (optional): defaults to "Quick update".
— prompt (optional): supply a custom instruction for the rewrite (tone, length, etc.). If omitted, the global default prompt is used.
{
"email": "recipient@example.com",
"subject": "Checking in",
"text": "Original text you want the model to improve.",
"prompt": "Structure this email"
}
Fields:
— email (required): recipient address.
— text (required): raw message the model should polish.
— subject (optional): defaults to "Quick update".
— prompt (optional): supply a custom instruction for the rewrite (tone, length, etc.). If omitted, the global default prompt is used.
Quick Start
1. Create and activate a Python 3.10+ virtual environment.
2. Install dependencies:
pip install -r requirements.txt
3. Copy `.env.example` to `.env` and fill in:
- `OPENAI_API_KEY`
- SMTP settings for the mailbox you want to send from (host, port, username, password, sender email, SSL/TLS preference).
The script only needs standard SMTP auth, so bring credentials from whichever provider you use.
2. Install dependencies:
pip install -r requirements.txt
3. Copy `.env.example` to `.env` and fill in:
- `OPENAI_API_KEY`
- SMTP settings for the mailbox you want to send from (host, port, username, password, sender email, SSL/TLS preference).
The script only needs standard SMTP auth, so bring credentials from whichever provider you use.