ezmlm-www
http://ezmlm-www.sourceforge.net

ezmlm-www This project provides a useful web interface for Ezmlm
mailing list archives. It extends ezmlm-cgi.c capabilities and features
by using a modular architecture: it is fully Perl-based.

REQUIREMENTS
============

- Perl >= 5.8
- ezmlm-idx instead of plain ezmlm

Also, your mailing list(s) need to be configured with the -a and -i options
(as in "ezmlm-make -a -i").


INSTALLATION
============

1. Install Mail::Ezmlm::Archive and Mail::Box modules from CPAN.
   
   #perl -MCPAN -e shell
   cpan> install Mail::Ezmlm::Archive
   cpan> install Mail::Box

2. Unpack the tarball and copy the files to your webroot in the 
   directory you want the list to be accessed from. For example using 
   /home/www/mailinglist:
   
   tar -xzf ezmlm-www-1.4.tar.gz
   cp -r ezmlm-www-1.4/* /home/www/mailinglist
   cd /home/www/mailinglist


3. Now pay attention to permission issues. We need to have ezmlm-www run 
   as a user that is able to access mailing list directories (let's say 
   "popuser"). This can be done by using suid on the provided C wrapper.

   #cc index.cgi.c -o index.cgi
   #chown popuser index.cgi
   #chmod 4711 index.cgi
   #chmod 755 ezmlm-www.pl


4. Configure the config.pm file.
   Each list is configured with a block. See config.pm for an example.
   Just copy and paste that block as many times as many lists you want
   to configure.

   ==> name
   Full e-mail address of list
   
   ==> local_part
   Chars that comes before che '@' sign in list address.
   
   ==> host_part
   Chars that comes after che '@' sign in list address.
   
   ==> description
   Verbose description of list (for indexing purposes).
   
   ==> archive
   Mail::Ezmlm::Archive object, specify list path.
   
   ==> conceal_senders
   Set this to 1 (otherwise to 0) if you want domains to be replaced by 
   '...' in e-mail addresses to prevent spammers to read them.
   
   ==> subscription_info
   Set this to 1 (otherwise to 0) if you want some info about 
   subscribing and unsubscribing to be put on main list page.
   
   ==> default_sorting
   This may be 'thread', 'date' or 'subject'.
   
   ==> descending_by_default
   Set this to 1 (otherwise to 0) if you want threads to be listed in 
   descending order by default.
   
   ==> show_html
   Set this to 1 (otherwise to 0) if you want to display HTML messages.
   
   ==> highlight
   Set this to 1 (otherwise to 0) if you want to highlight parts of messages.
   such as replies, signatures, URLs.
   
   ==> show_inline_images
   Set this to 1 (otherwise to 0) if you want to display inline images
   instead of just a link.
   
   $lang must be 'br', 'en', 'es', 'de', 'no', 'pt' or 'it' depending on your chosen language.
   
  
VPOPMAIL SUPPORT
================
First off, you need the vpopmail.pm module. Just install it from the
CPAN shell:

   # perl -MCPAN -e shell
   cpan> install vpopmail

By uncommenting "use vpopmail" in config.pm you can dynamically
pass mailing list name in the URL without editing the $lists array. This 
will work only if you have a vpopmail-based installation. For example:

http://www.example.com/list/?users@example.com

You can set default settings in the DefaultVpopmailSettings section of config.pm.
See above for description of each setting.

You can also use the VpopmailAccess section to restrict access to mailing lists.
You can explicitely allow or deny domains and/or single mailing lists by adding 
them to the allow_lists, deny_lists, allow_domains, deny_domains variables.
If the user is requesting a list that doesn't match these listings ezmlm-www will
apply the value set in default_policy which may be 'allow' or 'deny'.

Example:

	VpopmailAccess => {
		default_policy => 'allow',
		allow_lists => [],
		deny_lists => ['one@mydomain.com','two@mydomain.com'],
		allow_domains => [],
		deny_domains => ['secretdomain.com']
	}

	one@mydomain.com will be denied
	two@mydomain.com will be denied
	three@mydomain.com will be allowed
	one@secretdomain.com will be denied
	two@secretdomain.com will be denied
	
If you can't compile the vpopmail module because of errors about a "crypt" macro,
try to open /var/qmail/vpopmail/include/vpopmail.h and change this line:
      char *crypt();
   to:
      /* char *crypt(); */


UPGRADING
=========
1. Merge the new config.pm with your old one (better if you take the new
   one and edit it from scratch).
  
2. Make sure you have the latest Mail::Box module as it recently changed
   its internal interface.
   
3. Copy new lang files to your lang/ directory.

CHANGELOG
=========
See Changelog file.


AUTHOR
======
Alessandro Ranellucci <aar@cpan.org>
