How to design a (SMTP, POP3) Mail server C++ Guided project

C++ Guided project - Design of a mail server

Ratings: 5.00 / 5.00




Description

This Course guides the learner through the design of a Mail Server in C++.  The courses opens with discussions on the difference between different Mail server protocols including SMTP, IMAP and POP3. It progresses towards the different types of servers including Mail server, database server, dns server, HTTP server etc and finally the POP version 3 protocol and twelve of its commands are discussed.

Then the coding project guided by the instructor who first designs a simple server protocol to open connection for a client. All necessary code required to setup a server, generate threads for clients, listen for connect and setup the mail server is programmed. Once a client is connected and on a separate thread the server listens for commands from the client . The list of POP3 commands programmed in this course includes:

RPOP

RETR

STAT

LIST

USER

NOOP

LAST

TOP

QUIT

DELE

RSET

LAST

There are two client designs one client design runs on the command line and the second design displays on GUI( Graphical User Interface) using QT. The GUI design  is discussed at length and It consists of a simple design that touches the depth of client socket design. Messages are displayed on text browser and Client messages appear on a line edit.

This course is intended for C++ developers and is a full hands on with a guide from the instructor, from start to the finish , So enroll !!!

What You Will Learn!

  • The student will learn the difference between SMTP, POP3, and IMAP mail servers
  • The student will learn how to design a command line client and also GUI to display response from server
  • The student will understand the POP3 protocols and also the POP3 Commands
  • The student will design a POP3 mail server that processes commands between the client.
  • The student will learn the basics of socket programming and how to design a server socket and a client

Who Should Attend!

  • All levels of C++ developers