Non-ASCII characters in Email subject

In this system, Email subjects are encoded in Q' scheme, a scheme similar to quoted printable’. The format is “=?charset?Q?encoded subject?=”, in our case, the charset is `ISO-8859-15′.

For example, the Email object in this system is as follows:

MIME Encoding

Quoted printable characters are encoded in the format =XX', where XX’ stands for the hexadecimal value of the character.

The encoder looks as follows:

URL Decoding

The charset of the form page is ISO-8859-15'. HTTP will encode the form message in URLEncoding, that is, space is replaced with +’; non-ASCII characters are encoded inthe format %XX', where XX’ stands for the hexadecimal value of the character.

The URL decoder in this system looks as follows:

Webmail Overview

WebMail is a system that allows users to submit Email requests from a web form. It then will process user inputs and communicate with corresponding SMTP servers to deliver mails.The administrator of the system can configure the port number on which the WebMail server will be monitoring, as well as the hosting directory for the WebServer sub-module.

The system is mainly divided into three modules: the web server module, the mail deliver module and the scheduler module.

The web server module listens on a certain port, waiting for users’ requests from web browsers. It responds with corresponding pages like ‘new email’ page or status page.

The mail deliver module communicates with a SMTP server and deliver users’ Emails to these servers, and returns with a status code showing what the deliver result should be.

The scheduler determines when to deliver an Email since the user may schedule a future Email instead of sending it right away. It also generates the status page for the web server.