Servers setup and administration Undergraduate

Python SMTP Client/Server pair

Using PEP-8 python standard coding style!!

Please read assignment specification carefully. Assignment specification document also attached.
Any questions, expert is free to ask me

SMTP System:
This coursework requires you to produce an SMTP Client/Server pair implementing parts of the RFC 821 (https://tools.ietf.org/html/rfc821) specification for the SMTP protocol, except that your client/server must send/receive on a port specified at runtime.  Additional marks are available for the completion for compliance with the more modern implementation of SMTP in RFC5321  (https://tools.ietf.org/pdf/rfc5321.pdf).

You are then asked to provide an extension to your existing SMTP Client/Server pair which allows for the addition of shared mail-boxes, encryption to the communication channel, and logging of the interaction with the server. You must produce a working implementation of your protocol along with a short description of the added commands, responses, and general structure of the extension.
Deliverables:
Your assignment MUST be submitted electronically via Course Resources by the due date and time. You must submit it as ONE zip file that contains the following:

The document detailing the testing of your application and any information needed to run your application.
The full source code for your server, including any build files needed.
The full source code for your client, including any build files needed.

Please note:  submission in any form other than a single zip file (e.g. rar, multiple files, etc), will NOT be accepted and you will automatically fail this assessment.
Marking Criteria:
This coursework is marked against the following rubric based on a percentage breakdown as indicated:

Must include
Section
Approximate Weighting
Structure and Commenting
10%
RFC821 Compliance
30%
RFC5321 Compliance
10%
Server Storage
10%
Shared Mailboxes
10%
Authentication
20%
Auditing
10%

Please review marking scheme and aim for 60%