Το σύστημα υλοποιήθηκε μέσω της χρήσης του μοντέλου RMI έτσι ώστε να επιτευχθεί η δικτυακή επικοινωνία πελάτη-διακομιστή που ζητείται. Συγκεκριμένα, στη συνέχεια, παρέχονται γενικές περιγραφές των κλάσεων:
Server.java: Η κλάση Server υλοποιεί τη λειτουργικότητα του διακομιστή στο σύστημα.
Client.java: Η κλάση Client υλοποιεί τη λειτουργικότητα του πελάτη στο σύστημα.
AccountManager.java: Η κλάση αυτή αφορά τη διαχείριση λογαριασμών.
AccountManagerInt.java: Αυτή η διεπαφή ορίζει τις λειτουργίες που πρέπει να υλοποιήσει η κλάση AccountManager.
DeleteMessage.java: Αυτή η κλάση ασχολείται με τη διαγραφή μηνυμάτων.
DeleteMessageInt.java: Η διεπαφή για τη διαγραφή μηνυμάτων, ορίζοντας τις απαιτούμενες μεθόδους.
Message.java: Κλάση που περιγράφει τη δομή ενός μηνύματος.
ReadMessage.java: Υλοποιεί τη λειτουργικότητα για την ανάγνωση μηνυμάτων.
ReadMessageInt.java: Διεπαφή για την ανάγνωση μηνυμάτων.
SendMessage.java: Αυτή η κλάση ασχολείται με την αποστολή μηνυμάτων.
SendMessageInt.java: Διεπαφή για την αποστολή μηνυμάτων.
ShowAccounts.java: Αυτή η κλάση επιτρέπει την εμφάνιση λογαριασμών.
ShowAccountsInt.java: Διεπαφή για την εμφάνιση λογαριασμών.
ShowInbox.java: Κλάση για την εμφάνιση των εισερχομένων μηνυμάτων.
ShowInboxInt.java: Διεπαφή για την εμφάνιση εισερχομένων μηνυμάτων.