A Python-based email automation tool designed to send personalized emails to professors for research internship inquiries.
- Personalized Email Templates: Automatically generates customized emails based on professor information
- CSV Integration: Loads professor data from CSV files for bulk email operations
- Attachment Support: Automatically attaches resume, research posters, and other documents
- Smart Delays: Includes configurable delays between emails to avoid spam detection
- Email Validation: Validates email addresses before sending
- Progress Tracking: Shows real-time progress and success/failure statistics
-
Install Dependencies
pip install -r requirements.txt
-
Gmail App Password Setup
- Enable 2-Factor Authentication on your Gmail account
- Generate an App Password specifically for this application
- Set environment variable:
export SENDER_EMAIL="your_email@gmail.com" export SENDER_PASSWORD="your_gmail_app_password"
-
Prepare Your Data
- Create a
professors.csvfile with columns:first_name,last_name,email,research_topics - Add your attachments (resume, research poster) to the project directory
- Create a
python agent.pyThe script will:
- Load professor data from
professors.csv - Generate personalized emails for each professor
- Send emails with attachments and appropriate delays
- Provide a summary of successful/failed sends
last_name,email,research_topics
Smith,john.smith@university.edu,"machine learning and computer vision"
Doe,jane.doe@university.edu,"natural language processing and AI ethics"- Never commit your actual email credentials to version control
- Use environment variables for sensitive information
- The script includes sample data that should be replaced with real professor information
email-agent/
├── agent.py # Main email agent class and logic
├── professors.csv # Professor contact information
├── README.md # This file
└── attachments/ # Your resume and research materials