IRIS

A webmail server project for class CS601

(c) 2004 Jean Bovet

Abstract
  • IRIS is a webmail server project for the CS601 (Object-Oriented Software Development) class taught by Prof. Parr.
  • The main goal of this project was to build a webmail server using the Java language and several key libraries (see below).
  • Two important guidelines were dictating the coding of IRIS: features and ease-of-use.
Features
  • Login/logout for multiple users
  • Signup for multiple users
  • Multiple POP/IMAP accounts
  • Persistent e-mails in MySQL database
  • Multiple skin appearance
  • View e-mails with embedded attachments and images
  • Compose e-mails with attachments
  • Reply, forward and delete e-mails
  • Folders
  • Filters
  • Smart-folders
  • Search
  • SPAM filter
  • Vacation response
  • French localization
  • Integrated spell-checker
  • Auto-login
  • Natural date display
Libraries used
This project is using the following libraries:
  • StringTemplate: This engine, written by Prof. Parr, is used to render the HTML page while ensuring strict MVC separation.
  • PageForge: Written by Prof. Parr, PageForge contains a lot of really useful features, ideas and techniques used in IRIS (like the PageDispatcher).
  • Lucene: Powerful search engine!
  • Fileupload: Useful "add attachment" feature.
  • JavaMail: Used to handle POP3, IMAP and SMTP protocol. Initially the IRIS project had to handle these protocols "by hand". JavaMail is now used to get more powerful features.
Videos

View e-mails with embedded images
[QuickTime | WMV]

Create dynamic filters
[QuickTime | WMV]

View e-mails with HTML content
[QuickTime | WMV]

Search for e-mails with keywords
[QuickTime | WMV]

Create smartfolders
[QuickTime | WMV]

Use the spell-checker when composing e-mail
[QuickTime | WMV]

Home