Creating an email client in Java

By Jerome Alexander,2014-04-24 13:33
7 views 0
Creating an email client in Java




COURSE MODULE: CO409 Advanced Object Oriented Programming

    LECTURER: Nick Whittaker


    ASSIGNMENT TYPE: Individual

    ISSUE DATE: 12 March 2001

    HAND IN DATE AND TIME: 6 April 2001 by 15:00

All work, including late work, is to be submitted in accordance with the instructions

    in the Faculty Student Handbook.



    MITIGATING CIRCUMSTANCES: See the Faculty Student Handbook.




    ? Ability to implement non-trivial java programs

    ? Ability to design and use core OOP concepts within a practical environment

    ? Understand and implement GUI design using the basic AWT in Java

    ? Implement internetworking protocols using Java’s facilities

Java Assignment 2 GUI and Internetworking 1

    Assessment 2 : Creating an email client in Java thDue : April 6, 2001, by 3pm to room E228


The purpose of this assignment is to create a GUI interface using awt components to an internet based

    application in Java, using some common used internet protocols. You will research into some protocols,

    and report on them. You will then implement a Java application or applet which demonstrates the

    protocol in action. The Java code will demonstrate your ability to program in Java; your understanding

    of the protocol; the ability to create graphical user applications using the AWT toolkit within Java.

The assignment is to be web-based. You will create your application to run from the web, or to be

    downloadable as a free-standing application. All documentation is to be presented as a series of web

    pages accessible from within MMU. You may choose to make it available on your own disk space at

    MMU or on an external web site.

What to submit

You should submit a single web page reference to your tutor. This web page will contain all the details

    and links of your assignment. Send an email with the link to your page to and (who will record submission

    of this assignment) by the deadline. Please give

     MSc. Advanced OO Programming (Assignment 2) [your name]

As the subject line to this email (obviously substituting your real name for [your name])

You should submit (as part of your web page)

    ? Descriptions of the protocols you have investigated as outlined below

    ? The Java code itself, suitably commented

    ? A link to a running version of the code so it can be tested, or instructions on how to download

    and run the application.

    ? Screen shots of the code in action, demonstrating all aspects of it working (Print Screen in

    Win NT/9X, “import” under Linux)

    ? A discussion and critique of the aspects you have implemented, indicating the sections of code

    that perform each task

What you have to do

Part 1

    Research into the SMTP protocol for sending email. Give a description of what the protocol is, and

    where it is used. You should explain what the main commands used within the protocol are.

Part 2

    Implement an applet or application for a credit card verifier for a range of types of cards. Cards can be

    credit or debit, each of which has their own format of user-number. NB This is not a full security

    conscious credit card system, merely a vehicle to carry the concepts of GUI design and internetworking.

Both cards have the following details on them:

    ? Issuing Bank; Card Type; User Name; User-Number; Valid Date From; Valid Date To

    ? Debit Cards also have a Bank Sort Code, Issue Number and Card Number

Verification should be simple for example, checking that the number is 10 digits, dates are valid,

    perhaps the card-number has to be (say) and odd number. Users should be able to fill in the fields

    needed when prompted on an on-screen form, the form varying for each type of card. User details ,

    Java Assignment 2 GUI and Internetworking 2

    amount date and time can then be transmitted to a verifying address. A good assignment would send an automatic confirmation back.

    Create a class that will implement this SMTP protocol, written in Java. The applet should use this class to allow the user to enter details of the message text, the sender, the recipient, the subject line, and the smtp host as a minimum. The applet will then send the email to the recipient. Make good use of the awt and net packages available in the Java Development Kit.

Part 3

    Describe the potential problem of sending binary attachments to email, and how an email client deals with an attachment. What protocols/methods are available for handling attachments? Discuss, but do not implement, how you would amend your code to add this functionality to sending email.

Part 4

    Research into the POP3 protocol for receiving email. Give a brief description of what the protocol is, and where it is used. You should explain what the main commands used within the protocol are. Discuss, but do not implement, how you would amend your code to add the functionality to receive email.

Part 5

    Implement one of the aspects discussed in either Part 3 or Part 4, documenting in a similar way to your code in Part 2. You are only required to demonstrate that the implementation works, and need not incorporate it into the credit-card situation.

    Please ensure

    In all cases, you should clearly reference your work. Failure to correctly cite references could lead to failure of the assignment. Any web page references you submit must be checked to see they actually work, especially the reference to your assignment itself. The assessor cannot be expected to try to find your work.

For information

    You will need access to a mail server for smtp and pop3 protocols. You may use your own Internet Service Provider's server, or use the one available to your student account at MMU.


    (40-49): The assignment discusses the SMTP protocol, and an attempt to implement the protocol in Java is given. Some aspects are working, and can be demonstrated. The GUI is implemented and can run, but may not link very well to the smtp class.

    (50-59): As for a (40-49) mark, but a much more in-depth explanation of the protocol. GUI is designed better. Most aspects of the program for SMTP are working, and can be demonstrated. Some attempt made at Parts 3 and 4. A critique is made of the work.

    (60-69): As for (50-59), but a fully functional program for SMTP, fully documented and working. GUI interface makes very good use of design and available Java classes. Good explanations made of Parts 3 and 4. A good critique made of own work.

    (70-100): Parts 1-4 implemented fully, and demonstrated. Excellent critique of work. A working version of part 5 implemented and documented, to varying degrees.

Java Assignment 2 GUI and Internetworking 3

Report this document

For any questions or suggestions please email