An encrypted mail storage server
Overview
I built this sometime around February-March 2017. In all simplicity, the project was a simple client-server email communication project. The server would receive e-mails from multiple clients, encrypt it, and then store it into its local database. The diagram below illustrates the process flow.
Technology Stack
Python2, smtpd, smtplib for mail server, AESCipher library for encryption and SQLite as the database
Working
The tool was command-line based and here are a few screenshots of the project in action:
Step 1: First, we start the SMTP server
Step 2: The client code is run and the e-mail is typed
Step 3: The client hits Enter to send the mail
Step 4: The server receives the mail, encrypts it with the clients' key and stores it.
(Mail printed on the screen for demo purposes)
Epilogue
I developed this mini-project as part of my Computer Networks class. I always wanted my projects to be something different than the usual topics everyone picked. Needless to say building this was an incredible learning experience for me :)