Download presentation
Presentation is loading. Please wait.
1
Remote mailbox access gateway Software lab project
2
Introduction In our days email is one of the most popular ways of communication. In our days email is one of the most popular ways of communication. There are thousands of e-mail service providers over the world and millions of e- mail users. And the numbers are constantly growing. Such a popularity encourages development of a large variety of e-mail clients. There are thousands of e-mail service providers over the world and millions of e- mail users. And the numbers are constantly growing. Such a popularity encourages development of a large variety of e-mail clients. Today two main approaches for accessing e-mail accounts by users are in use. Let’s take a look at them: Today two main approaches for accessing e-mail accounts by users are in use. Let’s take a look at them:
3
The classical approach This is the most straight-forward approach. The server is a pure POP3/SMTP server and in order to communicate with it the user needs some special e-mail client software (MS Outlook, The Bat, Mozilla, etc.) This is the most straight-forward approach. The server is a pure POP3/SMTP server and in order to communicate with it the user needs some special e-mail client software (MS Outlook, The Bat, Mozilla, etc.) POP3/SMTP Client computer E-Mail Server POP3 / SMTP E-Mail Client software
4
The classical approach cont. In a case, when the user reads his mail from only one, secure computer (at home or at work), this approach is the best one, but... In a case, when the user reads his mail from only one, secure computer (at home or at work), this approach is the best one, but...
5
The classical approach problem Problem appears when the user want to read his mail when he is away from his own computer, but has access to a public computer: Problem appears when the user want to read his mail when he is away from his own computer, but has access to a public computer: Using the mail client software on such computers may be unsafe for the user’s privacy (account information is saved on the computer).Using the mail client software on such computers may be unsafe for the user’s privacy (account information is saved on the computer). User may have to set up a lot of settings before he can actually read his mail.User may have to set up a lot of settings before he can actually read his mail.
6
The HTTP-Mail approach The partial solution to the public computers problem, is provided by some e-mail services by adding to their server some web interface, that can be accessed using only the web browser, installed on every internet-connected computer. The partial solution to the public computers problem, is provided by some e-mail services by adding to their server some web interface, that can be accessed using only the web browser, installed on every internet-connected computer. Client computer E-Mail Server HTTP Web Browser
7
The HTTP-Mail approach cont. Advantages of such approach: Advantages of such approach: No need for user to save any account information on the public computer.No need for user to save any account information on the public computer. User should only navigate to the mail service web page, login and read his mail.User should only navigate to the mail service web page, login and read his mail. User gets friendly user interface that can be easily changed and upgraded by the developersUser gets friendly user interface that can be easily changed and upgraded by the developers
8
The HTTP-Mail approach problem The solution is good, but it’s implemented only by few mail providers (The classic examples are Hotmail, Yahoo etc..). The solution is good, but it’s implemented only by few mail providers (The classic examples are Hotmail, Yahoo etc..). But… What to do when the user has a mail account from some other providers, who does not have web interface ? But… What to do when the user has a mail account from some other providers, who does not have web interface ?
9
The proposed solution The proposed solution is some kind of mix between the previous approaches it is achieved by the following ideas: The proposed solution is some kind of mix between the previous approaches it is achieved by the following ideas: Place between the e-mail server and the client computer some kind of gateway, capable of communicating with the mail server via POP3/SMTP protocols, and with the client computer, by building a web interface for the mailbox. Place between the e-mail server and the client computer some kind of gateway, capable of communicating with the mail server via POP3/SMTP protocols, and with the client computer, by building a web interface for the mailbox.POP3/SMTP Client computer E-Mail Server HTTP Web Browser POP3 / SMTP HTTPHTTP POP3/SMTP Gateway POP3/SMTP Web Interface E-Mail Client
10
The proposed solution cont. This way we get a lot of benefits: This way we get a lot of benefits: The server does not have to implement any web interface( classical approach benefit)The server does not have to implement any web interface( classical approach benefit) Easy way to check multiply mail accounts( classical approach benefit )Easy way to check multiply mail accounts( classical approach benefit ) The client needs only the web browser to access his mailbox, can access remotely to his account with no need to save any account info on the computer he uses( HTTP mail approach benefit )The client needs only the web browser to access his mailbox, can access remotely to his account with no need to save any account info on the computer he uses( HTTP mail approach benefit )
11
The basic structure of the gateway Reading mail: Reading mail: POP3 client – module, capable of connecting and exchanging data with POP3 server. MIME parser – module for decoding and translating to readable form of the data received from the mail server (decoding messages, extracting attached files, etc.) MIME MIME parser POP3 POP3 Client SMTP SMTP Client Mail Composer Web Interface Reading mail Sending mail To mail server To client
12
The basic structure of the gateway cont. Sending mail: Sending mail: Mail composer – interface, enabling the user to create, edit and send e-mail messages (Writing from scratch, replying, forwarding and attaching files).Mail composer – interface, enabling the user to create, edit and send e-mail messages (Writing from scratch, replying, forwarding and attaching files). SMTP Client – module, capable of communicating with the SMTP server (mainly – for sending the composed message)SMTP Client – module, capable of communicating with the SMTP server (mainly – for sending the composed message) The Web Interface – the application- generated web pages, that the user sees in his browser. The Web Interface – the application- generated web pages, that the user sees in his browser.
13
Tools and technologies used The project implemented using ASP.NET technology. The project implemented using ASP.NET technology. Programming language used is C#.NET Programming language used is C#.NET The application can be hosted on Microsoft IIS web server, running on MS Windows 2000/XP/2003 server. The application can be hosted on Microsoft IIS web server, running on MS Windows 2000/XP/2003 server. The application uses SQL database server to host saved user account information (for some additional features, like an address book, mail server list per user, etc.) The application uses SQL database server to host saved user account information (for some additional features, like an address book, mail server list per user, etc.)
14
Challenges we met Learning new technology and programming language Learning new technology and programming language Learning and implementing POP3 client (there is no built-in POP3 support in.NET Framework. Learning and implementing POP3 client (there is no built-in POP3 support in.NET Framework.POP3 Logging on/off the mail serverLogging on/off the mail server Retrieving the list of messagesRetrieving the list of messages Retrieving the wanted message from the serverRetrieving the wanted message from the server Deleting messagesDeleting messages
15
Challenges we met cont. Learning and implementing rfc822/MIME (standards and specifications for internet mail message format) parser. Learning and implementing rfc822/MIME (standards and specifications for internet mail message format) parser. rfc822/MIME
16
Challenges we met cont. Headers parsingHeaders parsing Parse the message headers and extract all required information about the message Parse the message headers and extract all required information about the message
17
Challenges we met cont. Decoding the message bodyDecoding the message body Identifying different message parts Identifying different message parts Decoding the data, if encoded: Decoding the data, if encoded: From “Quoted-printable” encodingFrom “Quoted-printable” encoding From “Base64” encodingFrom “Base64” encoding
18
Challenges we met cont. Multiply languages handlingMultiply languages handling Recognition of the message language Recognition of the message language Representing the message with correct characters set Representing the message with correct characters set
19
Challenges we met cont. Attached files extractionAttached files extraction Identifying the attachments within the message body Identifying the attachments within the message body Extracting and decoding the attachment Extracting and decoding the attachment
20
Appendix A: Block diagram of the application POP3 Client Message parser User Interface (Response Sent to user) Downloaded message Parsed and processed message Message list POP3 commands Main ASP.NET Application Composed message to send SMTP client User accounts database To POP3 server To SMTP server
21
Appendix B: Glossary POP3 – Post Office Protocol, version 3 – the main protocol, used to allow a workstation (client) to retrieve mail that the server is holding for it. POP3 – Post Office Protocol, version 3 – the main protocol, used to allow a workstation (client) to retrieve mail that the server is holding for it. SMTP – Simple Mail Transfer Protocol – the main protocol for e-mail transfer and relay across transport service environments SMTP – Simple Mail Transfer Protocol – the main protocol for e-mail transfer and relay across transport service environments HTTP – Hypertext Transfer Protocol – the main WWW protocol, used, mainly, for transferring the web content in a form of web pages. HTTP – Hypertext Transfer Protocol – the main WWW protocol, used, mainly, for transferring the web content in a form of web pages. MIME – Multipurpose Internet Mail Extensions – a set of standards, used for internet message formatting. MIME – Multipurpose Internet Mail Extensions – a set of standards, used for internet message formatting. RFC – “Request for comments” – a document, describing standards and specifications for some format, technology, etc.. RFC – “Request for comments” – a document, describing standards and specifications for some format, technology, etc..
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.