CRM & client Mail system
A project to manage a list of clients which can then be emailed from a selection of email templates. This is controlled through a CLI menu.
- Start by cloning the repository:
git clone https://github.com/ChristopherBacon/Client-Mailer.git
cd ClientMailer'
-
Create a
python 3.7.3
environment. -
Install dependencies
pip install requirements.txt
- To run tests in terminal:
cd ClientMailer
pytest
-
emails/
This is where the templates for the emails live. You can add templates to this manually as txt files. -
clients.csv
Dictionary of pre-existing clients that can be uploaded and mailed.
-
clients.py Contains the client class for creating clients, and also client helper functions for uploading clients.
-
mailer.py The mail server for the project. You can run in debug mode:
python -m smtpd -c DebuggingServer -n localhost:1025
then test your mail sending. -
mailtemplates.py Helper functions for checking emails and personalising for clients.
-
menu.py The main CLI menu, allowing you access all options and send mail. See screenshot for options.
-
test_clients.py Tests the client class and functions.
-
test_mailer.py Still using debug server, more work to be done here.
-
test_mailtemplates.py Testing the email templates to see if they work and are in order.
This is an ongoing project that I will be adding to and expanding. Really enjoyed working on it and I learnt alot. This was the first time that I had used tests in my development so will expand on that as well in future.