This web app automates cold email campaigns with open & reply tracking.
It integrates with Google Sheets for campaign management, supports multiple senders, and enforces daily sending limits per account.
A Google Sheets document is used to control email sending and track statistics.
You can get a copy of the template here.
- Add your email addresses in the cells
O9,P9,Q9, etc. - From → the sender’s email.
- Email → the recipient’s email.
- Preset → template number (from the Templates sheet, starting at
0).- Example:
E0= first email,E1= second email, etc.
- Example:
- E1 Date → delay (in days) before sending the follow-up if there was no reply.
- Custom Variables → placeholders for personalization (use
{var}format).
The sheet automatically calculates averages and performance metrics for each sender.
You’ll need:
- Amazon EC2 instance with Nginx hosting
pixel.png - SSH key (
SSHkey.pem) - Google Sheets authentication (
sheetAuth.json) linked to your sheet copy - quickemailverification.com account (to validate emails and avoid spam flags)
Create a .env file with the following values:
# Email credentials (for each sender listed in row 9 of the sheet)
PASSWORD_[email] = your-email-password
EMAIL_[email] = your-email-address
# Display name for outgoing emails
USER = Your Name
# QuickEmailVerification API key
VALID_VERIFICATION_KEY = your-verification-key
# EC2 server details
EC2_IP_ADDRESS = your-ec2-ip
EC2_USERNAME = ubuntu # usually "ubuntu"
# Browser & timezone
BROWSER_IP_ADDRESS = your-browser-ip
TIME_ZONE = Europe/Lisbon # example, must be pytz format
# Location of your keys
SECRET_LOCATION = '' # path where SSHkey.pem and sheetAuth.json are stored ("" = root)Clone the repository
git clone https://github.com/desantesway/EmailBot.gitGo to the directory
cd EmailBotInstall the libraries
pip install -r requirements.txtThen, create an .env with the values above and run your app!