A Python application designed to automate and streamline the process of sending personalized cold emails with attachments to multiple recipients. Perfect for job applications, networking, or business outreach. Currenlly this project only work by test Users only (max 100), contact me if you want me to add you as a test user. This is only temporary till verification comes from google.The project will get updated later.
- Automated Email Distribution: Send personalized emails to multiple recipients at once
- Smart Personalization: Automatically extracts recipient names from email addresses
- Attachment Support: Easily include resume, cover letter, or other documents
- Email Tracking: Logs the status of each sent email
- Gmail API Integration: Uses Google's secure API for reliable delivery
- GDPR Compliant: Includes unsubscribe options and privacy protection
- Python 3.8+
- Gmail account
-
Clone the Repository:
git clone https://github.com/NermineGharbi24/Cold-Email-Sender.git cd Cold-Email-Sender
-
Create a Virtual Environment:
python -m venv venv
-
Activate the Virtual Environment:
- Windows:
venv\Scripts\activate
- Linux/macOS:
source venv/bin/activate
- Windows:
-
Install Dependencies:
pip install -r requirements.txt
-
Email Data Setup:
- Create
data/contacts.xlsx
with a column named "Email" containing recipient addresses - Place your resume (
resume.pdf
) and cover letter (cover_letter.pdf
) indata/attachments/
-Createlogs/email_log.txt
- Create
-
Google OAuth Setup:
- Go to Google Cloud Console
- Create a new project and enable the Gmail API
- Configure OAuth Consent Screen (External user type)
- Create OAuth credentials and download
credentials.json
- Place
credentials.json
in the project root directory
-
Run the Application:
python main.py
-
Authentication:
- First-time use will open a browser window for Google account authentication
- Grant the necessary permissions to send emails on your behalf
-
Sending Emails:
- Follow the prompts to customize your email subject and body
- The application will handle the rest, sending emails to all contacts in your list
- Check
logs/email_log.txt
for a record of all sent emails - The log includes timestamps, recipient information, and delivery status
- Your Google credentials are stored securely in
token.json
(automatically created) - No email content or recipient data is stored beyond the local log file
- The application follows email best practices and anti-spam guidelines
Contributions are welcome! If you have ideas for improvements or find any issues:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE
file for details.
Nermine Gharbi - GitHub Profile
Project Link: https://github.com/NermineGharbi24/Cold-Email-Sender