Hypermail is a webserver script which makes VMS email archives accessible from the web. This is most useful for list administrators who run email interest groups which must store months or years of posts, yet be able to get at them again, and easily reference them via URL, individually. Since VMSmail already employs a very scalable architecture (mail index is an ISAM file whose key is the folder name), a direct translation tool such as Hypermail is all that's needed.
But anyone might find Hypermail useful, even for reading his or her own mail from a web browser. All that is needed is that the owner of the mail archive make the relevant *.mai files world readable. (This assumes your Hypermail administrator has applied the MAILSHR patch.) This is easily done with a command of the form:
$ set file/protection=w:re [your-def-dir.your-mail-dir]*.mai
(And of course do this for the <your-mail-dir.dir> and <your-def-dir.dir> files too.) The only other caveat is that Hypermail will not present messages from the MAIL, the NEWMAIL, or the WASTEBASKET folders. This is done in case archive maintainers employ the same mail index for their own personal email; we can't have arbitrary web browsers reading our new mail! The bottom line: move the relevant messages to another folder and make the *.mai files world readable and you're on the air.
Leaving email archives within VMSmail has other benefits. Email list administrators can arrange and manage the presentation of their archives themselves, without elevated privileges or intervention by the webserver administrator. No additional runs of auxiliary programs are necessary when a VMS email archive is updated, since the changes are immediately available upon the next Hypermail request.
For example, the list administrator can trivially move a whole group of new list traffic into a specific folder based on date by using VMSmail commands, such as
MAIL> SELECT/BEFORE=date/AFTER=anotherdate MAIL> MOVE/ALL newfolder
Or, if the list administrator wants to create a new archive based on a single subject thread, he might use the following command:
MAIL> SELECT/SUBJECT=string MAIL> COPY/ALL newfolder newfile
Let us take a specific example. Suppose VMS-WEB-daemon is archived by month. You can build a web page that references specific parts of the archive (such as the month of July), with a URL of the form:
http://your.domain.name/htbin/hypermail/..[vms-web-daemon.archives]/July/(You may see an example of Hypermail's output by going directly to the VMS-WEB-daemon archives for July, 1997.)
Prior years might be archived using separate mail index files in separate subdirectories.
Hypermail can be used to access OpenVMS mail archives with the following sample URLs and their resulting action.
http://server.domain.name/htbin/hypermail/.alt/ http://server.domain.name/htbin/hypermail/.alt/folder/ http://server.domain.name/htbin/hypermail/.alt/folder?thread/ http://server.domain.name/htbin/hypermail/.alt/folder/message/ http://server.domain.name/htbin/hypermail/.alt/folder?thread/message/
http://server.domain.name/htbin/hypermail/..dev:[dir.subdir.etc]alt/ http://server.domain.name/htbin/hypermail/..dev:[dir.subdir.etc]alt/folder/ http://server.domain.name/htbin/hypermail/..dev:[dir.subdir.etc]alt/folder?thread/ http://server.domain.name/htbin/hypermail/..dev:[dir.subdir.etc]alt/folder/message/ http://server.domain.name/htbin/hypermail/..dev:[dir.subdir.etc]alt/folder?thread/message/
http://server.domain.name/htbin/hypermail/~username/ http://server.domain.name/htbin/hypermail/~username/folder/ http://server.domain.name/htbin/hypermail/~username/folder?thread/ http://server.domain.name/htbin/hypermail/~username/folder/message/ http://server.domain.name/htbin/hypermail/~username/folder?thread/message/
In addition to the banner-style customization available via process logicals, the archive administrator can insert additional headers and footers on every Hypermail page via special mail messages in the archive itself. This allows each archive to include different information, such as the list email address, how to subscribe or unsubscribe, or in general what the list is all about.
[Hypermail] [Installation] [Customization] [Typical Use] [Security]