Go to the previous, next section.

Email-Interface

@everyfooting Author: hiren // Editor: ensley // Texinfo: ensley @| @| 3 December 1994

What is an email interface

The email interface has two major roles in the archie server. The first one is to have interface to the searcher and provide a feedback to the user via email on what was the result of that searcher. The second major role is the management of ftp site addition/deletion to the current list.

So the email interface has the following major roles.

  1. Have a email message parser which will interpret what course of action to take based on the type of the email that the archie server receives.

  2. If the email message is asking for a service to search the database then email interface sends appropriate commands to the queuer. Receives the data from the queuer and then sends an email back to the sender with the appropriate data.

  3. If the email message is asking for an addition or deletion of a particular FTP site, the email parser sends the appropriate command to the site list builder. Site list builder then checks that the site address is a valid address, gets the needed database from that address and then sends based on the feedback from site-list builder, email interface sends appropriate message to the sender of the mail.

Implementation details

Note : This is just a raw idea with the proposed implementation detail. It has not yet been implemented but the idea seems very concrete and is compatible with the implementation of the other parts of the archie server.

We break the email interface in three major parts.

  1. Email parser : Email parser will be similar to the universally available majordomo mailing lists automation tool. The parser will recognize the emails. The subject line will be ignored. The parser will be able to recognize every command that is valid for the archie server.

    Email parser also recognizes the mail meant for administrator of the archie server and any mail sent to the archie-admin <archie_server> gets forwarded to the actual administrator.

    Email parser is also a bit smarter, in a sense, that if it recognizes the mail with only "help"/"manpage"/"servers"/ "version" command, then it sends a standard description related to the relevant command back to the sender.

  2. Queuer communication with email interface: If email parser finds the search related command, it will save off the important parts of the message and send a search request with appropriate commands and an unique identifier to the queuer. Queuer should be enhanced in future to support this unique identifier and passing the message to the searcher and back to the email interface. Once queuer gets the related information from the searcher then the parser will match a unique identifier which will enable parser to recognize the which email message to relate this information to. Then parser will send the relevant information in the form of email message to the sender.

    In order to be able to do this, email interface should have access to the database where it saves the information from the message with a proper unique identifier (which can be the combination of sender's email message id and unix process number) and then it should also be able to access the database that queuer and searcher works on so that it can pick up the information from that database.

  3. Site-list builder communication with email interface: If the email parser finds the site-list addition/deletion related command then it will save off the necessary information (which will be sender's email address attached with unix process number) and then send a proper command to the site-list builder. Site-list builder validates the FTP tcp/ip address and then sends a signal (like YES or NO or something like that) to the email parser. Email parser will then send a proper email message to the sender of the email with info like "FTP address is not valid" or "FTP address added to the Free Archie Server database, Thanks you..."..

We can use named pipes (FIFO) in communicating with the queuer and site-list builder for sending signals back and forth so that the email parser/queuer/site-list builder can take appropriate action.

Go to the previous, next section.