E-mail SMS Gateway
The purpose of this case study is to illustrate how you can set up a high capacity E-mail SMS gateway solution supporting very large number of users. The goal of this solution is to create a system, where the end users can request notification about incoming e-mail messages sent to his POP3 mailbox. The end user can subscribe to the service by sending his POP3 account information in an SMS message to dedicated phone number. After configuration the system checks his POP3 account for new messages periodically. If there are new e-mail messages in the users inbox, a notification SMS can be sent to the user containging the sender address and the subject of the e-mail.
To create this service in a professional manner two dedicated servers should be set up. One of the severs (a Windows 2003) should have Ozeki Message Server 6 installed the other (a Linux, BSD or Solaris system) should have an E-mail application. Ozeki Message Server 6 will be responsible for transmitting the SMS messages and the E-mail server will be responsible for translating the e-mails into SMS.
Figrue 1 illustrates the communication procedures between the system components, keeping in mind that the system should support SMS based configuration. The diagram shows, that two seperate channels should be set up for SMS based configuration and for sending out the notifications. The SMS based configuration is driven by the user and for this task a good solution is provided by the HTTP Client Plugin. When an incoming cofiguration message is received by Ozeki Message Server 6, an HTTP request could be made to the E-mail server to update the configuration. This request can return a response SMS message telling the user that the configuration is performed.
Once the configuration has been completed a second channel is taking action. This is called the operation mode. In this setup a software called fetchmail can download the e-mail messages from the configured POP3 account. This download can be scheduled by crontab or some other task scheduler application. The fetchmail program is responsible for processing the downloaded e-mail messages and converting them to SMS. The result of the conversion is a set of database records inserted into a database server e.g. MySQL (Figure 2).
Ozeki Message Server 6 has a high perfomance database plugin, that can collect the outgoing messages from the database and send them out.
The capacity of the system can extended by adding more E-mail servers.