Mail Archives from the Web


Typical Use

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.

Archive Organization Through VMSmail Commands

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.

How To Control Hypermail via URL

Hypermail can be used to access OpenVMS mail archives with the following sample URLs and their resulting action.

http://server.domain.name/htbin/hypermail/
Access webserver account's default mail index file in that account's default mail subdirectory, and return a list of folders therein. Notice that for better archive security and (silent) administration by listserver managers, the folders MAIL, NEWMAIL, and WASTEBASKET are not accessible through Hypermail.
http://server.domain.name/htbin/hypermail/folder/
Access default mail file as above, but return a list of message authors/subjects in folder <folder>. Marked messages are highlighted.
http://server.domain.name/htbin/hypermail/folder/message/
Access default mail file as above, but return the specific message <message> from folder <folder>.
http://server.domain.name/htbin/hypermail/folder?thread/
http://server.domain.name/htbin/hypermail/folder?thread/messageID/
Access default mail file as above, but return a list of only those message subjects (or single message <messageID>) from folder <folder> which contain the string <thread>.
http://server.domain.name/htbin/hypermail/folder/?search/
[***Message body search not yet available***] Access default mail file as above, but return a list of message subjects in folder <folder> which contain the message string <search> anywhere in the message body of any message contained in that folder.
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/
Access alternate mail file <alt.mai> index in webserver account's default mailfile directory, and return either list of folders, list of subjects in specified folder, list of subjects containing <thread>, or specific message <message> in folder <folder>
http://server.domain.name/htbin/hypermail/../
Access webserver account's login directory, open mail.mai and return list of folders.
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/
Access alternate mailfile index located in <dev:[dir.subdir.etc]alt.mai>, and return list of folders, or subjects in specified folder <folder>, or subjects in specified thread, or specific message <message> in folder <folder>. (See security note 1.)
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/
Access default mail index of user <username>, and return a list of folders, or subjects in specified folder <folder>, or subjects in specified thread, or specific message <message> in folder <folder>. This capability requires SYSNAM privilege due to these security concerns.

Archive Headers and Footers

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]


Last updated July 23, 1997,
Jonathan Boswell, jsb@NewTrumpet.org