Question:
I want to develop a free e-mail system similar to what Hotmail and Yahoo offer. I was wondering if you could give me some ideas on how to approach building such a project?for example, advice on the environment to be used, setting up mail servers and gateways, database access, and so on. I am open to different development languages and platforms like Visual Basic, Visual C++, Active Server Pages, Java, CGI-Perl, VBScript, JavaScript, Internet Information Server, Windows NT, and so on. Also, I am looking for similar information on building message boards or bulletin boards.
Answer:
The answer depends on how robust you want the e-mail system to be. If a simple browser-based, text-only e-mail system would satisfy your requirements, you can build it with a simple database (like Access) and Active Server Pages. You could build a login screen that hooks into an Accounts table. Using the currently logged in user information, your system can set and retrieve messages to and from a Messages table. These steps would enable you to build in e-mail-like functionality, but there would be limitations. One such limitation would be that e-mail client software (such as Microsoft Outlook) could not be used. Depending upon how the e-mail system is built, this simple and limited type of e-mail system would be accessible to users through a Web browser. The user interface would be just a Web page with some textboxes and buttons on it. The e-mail system would not be accessible to true e-mail clients because the system would not be sophisticated enough to use those types of clients.
The simple system would just have a database on the server side. Users would log in, and their information would be compared against username/password information in the database. Messages would be posted and a recipient name added to the message. The message would be stored in the database and associated with another user. When that other user logged on, he/she would be notified that there were messages waiting. This system is almost like a bulletin board. It’s limited, but could suffice in some situations.
For a more robust system, you’ll want to use messaging software, such as Microsoft Exchange. Exchange Server for Windows NT is Microsoft’s flagship e-mail system. To use it, you’ll need an NT server machine with a connection to the Internet. Once installed and configured properly, you can allow any user, anywhere, with most any e-mail client (such as Microsoft and Netscape e-mail clients) to use your e-mail system. One of the benefits of this approach would be that your users can send attachments to the e-mail messages. Sending attachments would not be easily done in the browser-only e-mail system. You could incorporate the browser-only system into this one to provide the user with the option of using an e-mail client or a browser to access their e-mail. On a final note, the Collaborative Data Object for NT Server(CDONTS) NewMail object enables Active Server Pages to send automated e-mails through Exchange Server. This functionality might also be useful. I hope this is enough information to point you in the right direction.