A bulk email sending application for game promotion and marketing campaigns. Manage recipient data and email templates via CSV/Excel files, and send personalized emails at scale.
- 📊 Recipient data management via CSV/Excel files
- 📝 Template-based email composition with variable substitution
- 👁️ Preview before sending
- 📤 Bulk email sending
- ✏️ In-app data editing and saving
pip install -r requirements.txtstreamlit run app.pyThe browser will automatically open http://localhost:8501
Enter SMTP server information for email sending:
-
For Gmail:
- Server: smtp.gmail.com
- Port: 587
- App password required (How to generate)
-
For Naver:
- Server: smtp.naver.com
- Port: 587
- Enable SMTP in Naver account settings
In the Recipients tab:
- Generate sample data using the button
- Upload CSV/Excel file (required column: email)
- Edit directly in the app
Example file: sample_recipients.csv
In the Templates tab:
- Upload template file (required columns: subject, body)
- Use {column_name} format for variables
- Example: Hello {name}, try {game_title} today!
Example file: sample_templates.csv
In the Preview tab:
- Select specific recipient and template
- Review actual substituted email content
In the Send tab:
- Select template
- Test with single recipient first
- Proceed with bulk sending
Use {variable_name} format in templates for automatic substitution:
Subject: {name}, {game_title} is now available!
Body: Hello {name},
{game_title} is now {discount} off on {platform}.
Variables matching recipient data column names will be automatically replaced.
- Check email provider's daily sending limits for bulk campaigns
- Gmail limits: 500/day (personal), 2000/day (Google Workspace)
- Ensure recipient consent for anti-spam compliance
- Always test with single email before bulk sending
- Enable 2-factor authentication
- Generate and use app password
- Allow less secure app access if needed
- Use UTF-8 encoding for CSV files
- Excel files recommended for better compatibility
This project is free to use.