$25
Goal: Practice makes perfect! Socket programming assignments are to help you review and apply your conceptual knowledge from this class.
Attention: Although the examples discussed in class are in Python/C, your submission can be in
Python/C/Java. If you choose do so, the caveat is that there is more help (see below) if you do it in Python. Code plagiarism is absolutely NOT allowed! Please prepare for a demonstration of running your program in front of the instructor/grader and answer their questions.
Instructions: (Textbook Page 180) This is the second of a series of programming assignments in the text book that will be assigned in the course of the semester. Students can find full details of these assignments, as well as important snippets of the Python code, at the Web site for the text book. http://wps.pearsoned.com/ecs_kurose_compnetw_6/.
The goal of this programming assignment is to create a simple mail client that sends email to any recipient. Your client will need to establish a TCP connection with a mail server (e.g. ECS mail server: gaia.ecs.cus.edu), dialogue with the mail server using the SMTP protocol, send an email message to a recipient (e.g., your friend) via the mail server, and finally close the TCP connection with the mail server.
For this assignment, the textbook’s companion Web site provides the skeleton code for your client. Your job is to complete the code and test your client by sending email to different user accounts. You may also try sending through different servers (for example, through ECS mail server: gaia.ecs.csus.edu).