Thread View: comp.mail.misc
1 messages
1 total messages
Started by Jonathan I. Kamens
Mon, 20 Dec 1993 06:00
Mail Archive Server software list
Author: Jonathan I. Kamens
Date: Mon, 20 Dec 1993 06:00
Date: Mon, 20 Dec 1993 06:00
615 lines
26121 bytes
26121 bytes
Archive-name: mail/archive-servers
Version: $Id: archive_servers,v 1.62 1993/11/22 19:37:11 jik Exp $
A Summary of Available Mail Archive Server Software
---------------------------------------------------
Mail archive servers are programs which receive incoming mail
messages, interpret them, and take action based on them. For example,
two tasks which might be performed by mail servers are handling
subscriptions to mailing lists and redistributing messages sent to the
lists; and delivering files to users based on incoming requests
This posting focuses, primarily, on mail servers which run under
UNIX. For each server listed below, I provide the following
information, if known:
Name
Author
Maintainer
Latest known version
How to get it
Implementation language
Supported platforms
Comments
If you can fill any of the blanks or have comments about anything
written below, or if you have new servers to add to the list, please
let me know. If you would like to ask me to change this posting in
some way, the method I appreciate most is for you to actually make the
desired modifications to a copy of the posting, and then to send me
the modified posting, or a context diff between my posted version and
your modified version (if you do the latter, make sure to include in
your mail the "Version:" line from my posted version). Submitting
changes in this way makes dealing with them easier for me and helps to
avoid misunderstandings about what you are suggesting.
There are two sections below. The first describes the various
archive servers, and the second lists known sites from which the
archive servers can be obtained, and how to access them. The "How to
get it" fields of the archive server descriptions refer to the site
listings.
John Bazik <jsb@cs.brown.edu>, Stephen R. van den Berg
<berg@pool.informatik.rwth-aachen.de>, Warren Burstein <warren@itex.jct.ac.il>,
Nigel Metheringham <nigelm@ohm.york.ac.uk>, Mike Northam
<mbn@fpssun.fps.com>, Chip Salzenberg <chip@tct.com>, and Serge
Vakulenko <vak@kiae.su> provided comments about and corrections to
this posting.
------------------------------------------------------------------
Archive Server Summary
----------------------
Name: Almanac
Authors: Erik Bennett and Chris Hansen
Maintainer: almanac-admin@oes.orst.edu
Implementation language: C (configured with Bourne shell)
How to get it: ftp from /pub/almanac-x.x.tar.Z at oes.orst.edu
(where x.x is the current version)
Latest know version: 1.4
Supported platforms: SunOS, HP/UX, UTek, AIX (RS 6000), most BSD 4.3
Comments: (Chris Hansen <hansenc@oes.orst.edu>)
Requires sendmail and gdbm
Can split files on user-defined size limit
Good user & admin documentation
Has blacklist
Logging (through syslog) and usage utilities
Comes with supplement for automatic mailing list management
Load checking or queuing left to sendmail
Main advantage is configuration table:
Maps user commands to shell commands
Can have any number of user commands
Encoding, Filtering, Compression all configurable
Most other things configurable
(Possible disadvantages:
Table can get complicated.
Good knowledge of shell advised).
Name: B-Server
Author: Budi Rahardjo <rahardj@ccu.umanitoba.ca>
Implementation language: bourne shell
How to get it: Get "b-server.shar" from grasp1.
Comments: (Dave Shaver <shaver@convex.com>)
- Don't need to create system-wide alias (uses sendmail
.forward file)
- One shell script
- Can refuse to provide service to certain people
- Has file and request limits
- 4 user commands: help, index, send, get
Comments: (john.Latala@Waterloo.NCR.COM)
- Only does text files
Name: Bart (Brode's Archive Retrieval Thang)
Author: Jon Brode <brode@icpsr.umich.edu>
Latest known version: beta release
How to get it: Send E-mail to <brode@icpsr.umich.edu> and ask for it.
Implementation Language: C
Support platforms: Expects BSD, sendmail and ndbm, but might work with
some tweaking in other environments.
Comments: (from author)
Beta release can be obtained from the author but should not be
redistributed; the final release will have more lenient
distribution conditions.
Runs from alias or .forward file
Very careful about not overloading server. (does load checking on BSD
machines, in addition to the other things)
5 commands: help, index, path, send, sendb ("sendb" automatically
encodes the file, "send" determines whether the file needs to
be encoded first)
Can request files by parts. Useful for requesting files larger
than quota and retrieving pieces that get lost in the mail
Can do per-user quota checking.
It has a man page!
Has uuencode encoding built into C code, does not support other
encoding types yet.
No user error notification on bad requests.
Name: Clarkson
Author: Michael DeCorte
How to get it: Get "archive-server" from CLARKSON.
Implementation language: bourne shell, awk
Comments: (Tom Fitzgerald <fitz@wang.com>)
Advantages:
Most flexible options for archiving, compressing, encoding and
slicing result.
Very nice load-limiting.
Disadvantages:
Many BSDism's (I tried porting it to SysV without much luck).
Can't return several requested items, one item per mail message.
It insists on packaging up all requests into a single archive,
splitting the archive at random points and mailing the result.
Can't store items compressed and have them mailed back to the
requestor decompressed.
Name: DECWRL
Author: Brian Reid.
Implementation language: bourne shell, awk, a little bit of C
How to get it: (1) Get "decwrl.shar" from grasp1. (2) Get
"/pub/src/mail/archive.tar.Z" via anonymous ftp from
ftp.cs.widener.edu (slightly modified).
Comments: (Dave Shaver <shaver@convex.com>)
- Written with many shell scripts and a few AWK scripts
- Very careful about not overloading server machine
(Remember, this used to run on an over-worked VAX.)
- Very easy to install; best of the group?
- Code is all quite generic
- Good at letting person making request know what happened
(No black holes for mail.)
- Good user-level docs (especially the "help" file)
- Very fair queuing system; people can't make "pigs" of
themselves
- 4 user commands: help, index, send, path
Comments: (Tom Fitzgerald <fitz@wang.com>)
Advantages:
Simplest.
Very nice load-limiting, can be set up to run only at night.
Easily configurable, and portable to Sys V with a little work.
Disadvantages:
All items in archive must be text, and are sent out as-is. No
packaging options at all.
Written in sh, may be a heavy system load (when running).
Comments: (Chris Siebenmann <cks@hawkwind.utcs.toronto.edu>)
We use the DECWRL server for the CA*NET info server; I picked
it over the other ones (primarily the Clarkson one) because it
was sufficiently small and clear that I could read all the
shell scripts and be pretty confidant that it had no surprises
and I understood what was going on. One could probably run it
out of a .forward file with some work writing at-based
frontends, but it prefers to be installed and run with cron
and an alias.
Name: deliver
Author: Chip Salzenberg <chip@tct.com>
Latest known version: 2.1, patchlevel 10
How to get it: From the comp.sources.reviewed archives.
Implementation language: C
Comments: This isn't a full-fledged archive server, it's just a
program to reroute incoming mail. Which isn't to say that it
can't be used to write an archive server....
Comments: (Brian.Onn@Canada.Sun.COM)
I've written our mail based archive server entirely in Deliver
shell scripts. It's not as full featured as the other ones,
but it can easily be expanded to become that. The beauty of
deliver is that it is entirely shell script based.
Comments: (Daniel Simmons <simmdan@kenya.isu.edu>)
The real beauty of deliver is that it is an extension allowing
you to implement mail handling in ANY language: shell scripts,
perl, C, awk... haskell if you want and can make it understand
environment variables and read/write to stdin/stdout (I don't
know haskell well enough to know if this is possible).
I have written a very successful mail processing system which
installs data files in our local Campus Wide Information
System using a single (and fairly short) perl script in
conjunction with deliver.
One other comment is that deliver is very comparable to
procmail but much cleaner/simpler.
Name: ftpmail
Author: Lee McLoughlin <lmjm@doc.ic.ac.uk>
Latest known version: 1.19
How to get it: ftp from src.doc.ic.ac.uk:packages/ftpmail/ftpmail.shar
Implementation language: perl
Supported platforms: SunOS, HP/UX, AIX (RS 6000), BSD 4.3, System 5.4
Comments: Can use both mail and sendmail to send reponses.
With sendmail can also return MIME multipart responses.
Supports mime, uuencode, atob, user selectable splitting.
Built in logging.
Very easy to install.
Command compatible with ftpmail server at Decwrl.
Name: KISS
Author: T. William Wells <bill@twwells.com>
Latest known version: 1.0
How to get it: (1) Get "kiss.shar" from grasp1. (2) Get
"misc/kiss.shar" from JASON-ARCHIVE (slightly modified). (3)
Get "/pub/archives/alt.sources/kiss-server_bill" via anonymous
ftp from hydra.helsinki.fi.
Implementation language: bourne shell
Comments: (Dave Shaver <shaver@convex.com>)
- Simple. 8-)
- One shell script, plus a user-supplied program
- No batching, quotas, or scheduling.
- 5 user commands: help, index, send, path, quit
- Good install docs
Name: ListProcessor
Author: Anastasios C. Kotsikonas (tasos@cs.bu.edu)
Latest known version: 6.0b
How to get it: AVAILABILITY: (1) Via anonymous ftp from cs.bu.edu
(128.197.2.1 or 128.197.10.1) in the directory pub/listserv,
and all of its mirrors (ftp.uu.net in
pub/networking/mail/listserv for example). (2) Via email to
listproc@avs.com with the request to: "get listproc
listproc6.0b.930913.0.sh".
Implementation language: C, plus some UNIX-style shell scripts.
Supported platforms: UNIX, presumably.
Comments: This is a mailing list server rather than a mail archive
server. It is meant to automatically run mailing lists,
dealing with subscriptions, unsubscriptions, message
distribution, etc. Like the BITNET listserv system, but for
UNIX. The newest version does appear to have some support for
archives as well.
Name: Logix
Author: Jan-Piet Mens
Latest known version: 1.01
How to get it: Get the posting entitled "Mail-Server Part 01/01" from
the alt.sources archives. An improved version (Bill Silvert's
-- see his comments below) is available via anonymous ftp from
/pub/unix/mail-server.tar.Z on biome.bio.ns.ca.
Implementation language: C
Comments: (Bill Silvert <silvert@biome.bio.ns.ca>)
Changes I have made include support for optional (as opposed
to compulsary) uuencoding using the Dumas uuencode, which
makes it possible to run uudecode (the Dumas version) on a
complete multi-part mail file without editing it first, and
improved messages.
Name: MailServ
Author: Dave DeBry <debry@peruvian.cs.utah.edu>
Latest known version: 1.4
How to get it: Get the posting entitled "MailServ 1.4" from the
alt.sources archives.
Implementation language: C
Comments: (from the author)
o allows for as many users as you want per list,
o users can be mailed to "quietly" (ie: their name won't be
found anywhere in the mailing... good for nosy sysadmins at
other sites),
o has a request server so users can get any files you make
available for them,
o handles subscribes and unsubscribes without bothering you,
o can archive off reflector mailing list posts,
o can announce to all list readers when someone subscribes or
unsubscribes,
o can be set to let people request a list of readers,
o does all the digest handling work for you,
o can upload (via ftp) each days digest to a given site for
archiving,
o can backup the userlist to a different disk/area/whatever,
o can post a FAQ to USENET periodically,
o announces when a message has been taken from USENET, so
people don't get that horrible deja vu feeling while reading
their mail,
o sends you a log of all the day's activities every night,
o lets you toggle all of these things for complete
customization,
o and much, much more! (I should be an announcer for those
Remco ads, I know it.)
MailServ isn't for the weak at heart. It's not pretty, and
I'm releasing it to the net because several people have asked
for copies, and I'd like to know what changes are made to it.
If you don't know much about UNIX or mail, I wouldn't suggest
using MailServ until it gets a little bit nicer.
Name: Majordomo
Author: D. Brent Chapman
Maintainer: D. Brent Chapman, brent@GreatCircle.COM
Latest known version: 1.54
How to get it: FTP.GreatCircle.COM, in directory "pub/majordomo".
Implementation language: Perl and some C
Supported platforms: UNIX
Comments: (from the author)
Majordomo is more of a mailing-list manager than an archive
server. It has the concept of an "owner" for each list. The
owner of a given list approves certain user "subscribe" and
"unsubscribe" commands (the ones that majordomo doesn't
automatically approve; for instance, if someone tries to
unsubscribe something other than their own email address from
a list, majordomo asks for approval). Most list maintenance
is done for the owner by majordomo, and the rest can be done
by the owner using emailed commands to majordomo; the owner
doesn't need an account on the machine majordomo runs on.
Name: NETLIB
Author: Jack J. Dongarra, Eric Grosse
How to get it: Get "netlib from misc" from NETLIB.
Implementation language: C
Comments: (Dave Shaver <shaver@convex.com>)
- User-level docs a bit rough. Assumes user is quite mail savvy.
(Not a fair assumption in my case.)
- Catches "pigs" effectively, but no queuing system for requests.
- Notices attempted security violations using magic shell characters
- Install docs adequate, but not outstanding
- Hard to install since site-specific stuff not centralized
in a config file.
- Has almost no interal documentation (i.e. comments)
- Eclectic mix of shell scripts and C programs
- Some sections of code very specific to serving libs. Does
not generalize well to ASCII files.
Comments: Tom Fitzgerald <fitz@wang.com>
Advantages:
Arbitrary directories can be made part of archives, archives don't
have to all be under a single directory tree.
Written in C, probably imposes the least system load.
Reasonably portable and configurable.
Disadvantages
Really complicated, with inadequate documentation
No queuing or load-balancing. All requested items are sent out
immediately regardless of system load.
Poorest at figuring out return addresses.
All items in archive are sent out as-is. No packaging options.
(They can be binary, they will be sent out uuencoded).
Name: procmail
Author: Stephen R. van den Berg <berg@pool.informatik.rwth-aachen.de>
Latest known version: 2.91
How to get it: (1) Get "procmail" from volume 38 of comp.sources.misc
archives. (2) "/pub/unix/procmail.tar.zip" via anonymous ftp from
ftp.informatik.rwth-aachen.de (possibly more up-to-date).
Implementation language: C, plus some UNIX-style shell scripts.
Supported platforms: generic UNIX (or any posix compliant OS)
Comments:
Procmail is a program to parse incoming mail and sort/invoke other
programs based on the results, it can be used as a very reliable
frontend to some of the archive servers mentioned here.
- It includes a utility program called formail, which is
particularly intelligent in figuring out return addresses and
generating auto-reply headers.
Comments: (from the author)
Included is an extensive mailinglist/archive server package (based
upon procmail/formail). Regarding the archive server part:
Advantages:
- Easy to install.
- Straightforward to operate (one tree, symbolic links allowed).
- Numerous others :-), but you'll have to get the FEATURES file
from the package.
Disadvantages:
- Doesn't do special handling for binary files.
- Doesn't autosplit large files.
- Partly dependent on sendmail, though sufficiently compatible
mailers will do.
- No load balancing or queueing, relying on sendmail for that.
Name: qdms
Author: Lars Magnusson <lmn@z.amu.se>
Latest known version: 1.0
How to get it: (1) Get "qdms - a simple mailserver for cramped disks."
from the alt.sources archives. (2) Get a (possibly more
up-to-date) version from mailserver@z.amu.se.
Implementation language: Bourne shell, requires shell functions
Comments: Looks like it has some sort of access control and
blacklisting. Don't know what else.
Name: Relcom
Author: vak@kiae.su (Serge Vakulenko)
Maintainer: vak@kiae.su (Serge Vakulenko)
Latest known version: 1.0
How to get it: Send a message to mailserv@kiae.su with "get
mailserv.tar.Z" in the body.
Implementation language: C
Name: RNALIB
Author: Paulo Ventafridda <venta@otello.sublink.org>, Marco Lorenzini
<marlor@gear.sublink.org>
Latest known version: 2.2 beta-3
Implementation language: bourne shell
How to get it: (1) Get "rnalib2" from volume 15 of comp.sources.misc
archives. (2) Get "RNALIB 2.2 beta" and "upgrade to beta-3"
from alt.sources archive on valhalla.ee.rochester.edu.
Comments:
- Completely implemented in one bourne shell script plus
several data files.
- Allows libraries to be all over the filesystem hiearchy
(i.e. not in fixed data directory).
- Understands a variety of packing formats, and detects binary
file automatically (and uuencodes them).
- Requires bourne shell with support for functions.
- Very poor address parsing.
- No queueing.
- Has "blacklists" to prevent people from transferring and
"whitelists" to allow specific people to tell the server to
deliver to third parties.
- Detects "hogs" and imposes maximum credit limits.
Name: The ServiceMail Toolkit, by Enterprise Integration Technologies
Author: Jay C. Weber <weber@eitech.com>, et al.
Maintainer: servicemail-help@eitech.com
Latest known version: v2.0 5-10-93
How to get it: ftp eitech.com:svcmail-2.0.tar.Z
Implementation language(s): C, Tcl, make
Supported platforms: SunOS, Ultrix, (probably anything that supports Tcl)
Comments: (Bob Bagwill <bagwill@swe.ncsl.nist.gov>)
Easy to install (using default installation configuration).
Multimedia Email SHell (MESH) uses MIME message formats.
Services are implemented in Tcl.
Includes subset of listserv functions.
Documentation is skimpy.
Comments: (Jay Weber <weber@eitech.com>)
Documentation is better in 2.0
Includes support for queueing, logging
Name: Squirrel Mail Server
Version: 3.1
Author: Johan Vromans <jv@mh.nl>
How to get it: (1) Send a mail message to <mail-server@nluug.nl> with
contents
begin
send mail-server
end
(2) Get "mserv" plus updates from volumes 34 and 36 of the
comp.sources.misc archives.
Implementation language: perl
Description (from the author):
The Squirrel Mail Server is a mail response program. You can
send email to it, and it will try to react sensible to your
message.
Main purpose of the mail server is to obtain files from a
local archive or FTP server, but other functions can be added
easily.
The Squirrel Mail Server Software is distributed under the
terms of the GNU Public Licence.
New and improved features in version 3.1:
- Transparent (anonymous) FTP interface. You can fetch files
from remote FTP servers. Files retrieved are cached
locally, so subsequent requests can be honoured from the
cache. Well-known files can be sent from the local
archives without accessing remote FTP server at all.
- Delivery can take place via email or uucp or both.
Delivery via UUCP can be made preferred.
FTP requests can be restricted to UUCP delivery.
- Files can be automatically compressed, and directories can
be automatically packed using one of several common
methods (e.g. zip, zoo or compressed tar).
- Multiple servers can be installed using the same software.
- The server can be used interactively, e.g. from a
terminal, or via telnet/inetd.
- Command parsing and execution is table driven, so it is
very easy to extend the mail server functions.
- Rewritten and enhanced user documentation and
installation docs. Also available in nicely formatted
(PostScript) format.
A brief survey of old and new features:
- All written in perl, hence portable and easily
maintainable. Code is readable; useful, plentiful
comments. Very extentable and easily modified.
- Easy to use and to install. Over 2000 lines of
documentation.
- Good at letting person making request know what happened.
Good "help" reply.
- Archives can be split over a number of directories or file
systems.
- Requests are queued and processed by a separate daemon
process (e.g. from cron). This cuts down on the system
load. Moreover, you can control when the queue is being
run.
- Requests can be honoured `as is' (name the file and you'll
get it), but the server can also perform directory
searches and index file lookup. You need GNU find and
locate for the index lookup feature.
- While looking for files, the server knows about commonly
handled filenames (e.g. ".tar.Z" in "foo.tar.Z") and
pseudo-standard version numbering (e.g. "gcc-2.1.tar.Z").
It is quite well possible that a simple request for
"emacs" will actually transmit the file
"gnu/emacs-18.58/dist/emacs-18.58.tar.Z".
- Requests can be encoded using a number of encoding
schemes, e.g. uuencode, xxencode, Dumas' uue and btoa.
- Requests that are too large to send in one piece are
automatically split and transferred in parts. The server
provides a smart unpacking program on request,
- Parts of requests can be re-transmitted in case of
failure.
- Requests can designate a directory. In this case the whole
directory tree is packed using some popular packing
programs (compressed tar, zoo or zip).
- Requests can be sent by email, or via uucp.
- The server can be asked to return a list of archive
entries that match a given request, thus obsoleting the
need to transfer huge "ls-lR" type index files to find out
whatsitcalled.
- All transfers are logged. Maintenance procedures
include a reporting tool.
Probable future directions:
- Automatic (and transparent) downloading of unknown archive
entries from other archive servers.
- Archive lookup by keyword.
- Notifier services (you'll be notified if archive entries
are added).
- Remote maintenance of the archives.
Requirements:
- Perl 4.0 patchlevel 36 or later.
NOTE that perl 4.0 pl35 contains a bug that makes it
impossible to run the mail server software.
- GNU find 3.6 or later (only if you want to exploit the
index features).
- A decent mail system that can deliver mail to a process
(sendmail, smail3, or smail2.5 w/ mods).
------------------------------------------------------------------
Archive Site Instructions
-------------------------
CLARKSON: Send mail to "archive-server@sun.soe.clarkson.edu" with
"send <what you want>" as the text of the message, e.g. "send
archive-server". If you want it to be archived as a shar
file, then add a line saying "archiver shar" before the "send"
line. You can also use "archiver tar". If you don't specify
an archiver, then the files in the request will be separated
by "--- cut here ---" lines and you'll have to extract them by
hand or write some sort of script to do it.
grasp1: Ftp to grasp1.univ-lyon1.fr and look in
pub/unix/mail/mail-servers, or use the FTP-by-mail server at
ftpmail@grasp1.univ-lyon1.fr, or use an FTP-by-mail server
closer to you if there is one.
JASON-ARCHIVE: Send mail to "penneyj@slc.com" with a subject line
containing the string "jason-archive-request" and a body
containing "send <what you want>", e.g. "send misc/kiss.shar".
If you want multiple files, you can specify multiple requests
on separate lines of the file.
NETLIB: Send mail to "netlib@research.att.com" with "send
<what you want>", e.g. "send netlib from misc", as the text of
the message.
UTRECHT: Anonymous ftp to ftp.cs.ruu.nl and look in the directory
/pub, or send mail to "mail-server@cs.ruu.nl" with the lines:
begin
send <filename>
end
You replace "<filename>" with the file you want to retrieve,
e.g. "send UNIX/mailserver.tar.Z".
--
Jonathan Kamens | OpenVision Technologies, Inc. | jik@security.ov.com
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads