A Python based automation tool that sends personalized outreach emails to recruiters and HR contacts using the Gmail API with OAuth authentication.
This project is built with safety controls to support testing, prevent duplicate emails, and avoid accidental mass sending.
- Extracts HR contact details from a structured PDF
- Converts the data into a clean CSV format
- Generates personalized outreach emails using a template
- Sends emails through Gmail API (OAuth, 2FA safe)
- Attaches a resume automatically
- Logs sent emails to prevent duplicates
- Supports a strict test mode for safe validation
Manually emailing recruiters is slow and error prone. This project shows how to:
- Work with real world data formats like PDFs
- Build a safe email automation pipeline
- Use Google APIs with proper authentication
- Structure a Python project cleanly
- Add safeguards for production style workflows
- Gmail API integration with OAuth
- No hard coded passwords
- Test mode to send emails only to the developer
- Delay between emails to avoid spam flags
- Resume attachment support
- Logging and restart safety
hr_outreach_automation/
│
├── src/
│ ├── pdf_reader.py # Extracts HR data from PDF
│ ├── csv_writer.py # Cleans data and manages logs
│ ├── email_generator.py # Generates email content
│ ├── gmail_service.py # Gmail API OAuth handling
│ ├── mail_sender.py # Sends emails with safety checks
│ └── main.py # Entry point
│
├── templates/
│ └── email_template.txt # Editable email template
│
├── requirements.txt
├── .gitignore
└── README.md
Sensitive files such as credentials, resumes, PDFs, and contact data are intentionally excluded from version control.
The project includes a test mode that ensures emails are sent only to the developer’s own email address.
This prevents accidental outreach during development and testing.
Recruiter data is never accessed in test mode.
- Python 3
- Gmail API
- Google OAuth 2.0
- pdfplumber
- CSV based logging
This project is intended as a learning and portfolio project that demonstrates:
- Backend automation
- API integration
- File processing
- Safe handling of sensitive workflows
It is not intended for bulk or spam emailing.
Ishita Engineering graduate with interest in backend development, Python, and automation.
This repository contains only source code. All sensitive data such as email credentials, resumes, and HR contact information are excluded for privacy and security reasons.