An open-source email automation tool/ cold outreach tool. Schedule, personalize, and send!
Have you ever meticulously crafted a personalized email to a potential employer or potenial collabrator and waited eagerly for a response that never arrived? It's a common scenario, and the disappointment is palpable. Creating highly personalized emails is time-consuming and often doesn't yield the desired results. Email automation offers a workaround - the ability to create semi-personalized emails, schedule them send them to multiple recipients.
- Create dynamic email templates.
- Use variables, and if statements in your email template.
- Schedule email.
- Schedule Follow-ups (follow-ups increase the chance of receiving a response from the recipient).
- Specify follow-up rule.
- Use existing templates.
Warning
Don't use this service to send marketing emails or spam. It can result in your email being sent to spam or locked.
Note
Stop using gmail or yahoo mail for cold outreach , both Google and yahoo actively prevents automation. Use your own domain or hotmail/outlook
This tool makes use if Jinja2 to render the emails, so any valid Jinja syntax is acceptable
Subject
Feedback on Cold outreach
Body
Hello {{name}},
Hope you are doing well. I am {{from_name}} reaching out to you to
inquire about your experience using this automation platform. It
looks like your experience with us is {% if feedback == "positive" %}
positive {% else %} negative {% endif %}. We would be grateful, if you
could explain a little more about your feed back.
{{from_signature}}
Output
Hello Rob,Hope you are doing well. I am Paul reaching out to you to inquire about your experience using this automation platform. It looks like your experience with us is positive . We would be grateful if you could explain a little more about your feedback.
Best regards, Paul
- Configure a email id by clicking on email configuration link.
- Create a email template. Use Variables within enclosed brackets
{{}}
to personalize the email. - Schedule the email, create followups.
- Follow the below steps and get it running locally or on cloud.
- Once done, run the app and configure your email from the dashboard.
- create a template from template section.
- Schedue and send
If you want to self host it.
clone the repo
git clone https://github.com/PaulleDemon/Email-automation
Install python 3.8 or above
Install dependencies
pip install -r requirements.txt
add a .env file inside the email_automation folder with the following
DEBUG=1
DOMAIN=""
SECRET_KEY=""
PORD_SECRET_KEY=""
REDIS_PROD_HOST=""
FIELD_ENCRYPTION_KEY=""
PROD_FIELD_ENCRYPTION_KEY=""
EMAIL_HOST="" #optional
EMAIL_HOST_USER=""#optional
EMAIL_HOST_PASSWORD="" #optional
POSTGRES_DATABASE=""
POSTGRES_USER=""
PROD_DB_PASSWORD=""
POSTGRES_PASSWORD=""
POSTGRES_HOST=""
POSTGRES_URL=""
FIREBASE_CRED_PATH=""
You must fill up the values required
You can create encryption key using the following
python manage.py generate_encryption_key
To generate secret key use
from django.core.management.utils import get_random_secret_key
thenget_random_secret_key()
in your python shell
Run database creation queries using
python manage.py migrate
now run the website using
python manage.py runserver
The project uses tailwind so, when running locally use
python manage.py tailwind start
Run celery worker:
celery -A email_automation worker -l info -B --scheduler django_celery_beat.schedulers:DatabaseScheduler
Once you are satisfied you can build the tailwind using
python manage.py tailwind build
Note: This tool makes use of Jinja templatig engine in the backend and nunjucks in the frontend for error checks.
You can use any valid Jinja syntax in the email template you are creating.
If you are deploying on Render, Railway, or Digital Ocean, You will be required to fire up different services. One for web other for celery.
You can make use of Railway to deploy your own instance.