SquirrelMail can't be used to add user accounts, or to allow users to add their
own accounts, for three main reasons.
One of the SquirrelMail design goals is to do what it does very well,
but to remain lean and simple.
User administration is very dependent on the server. A NT server with
Exchange differs from a Linux server with Cyrus. There's no such thing
as adding a SquirrelMail user; what you need to do is to add users to
the IMAP server.
This would open a whole new (and unwanted) batch of security issues. One
of those issues is giving your web server administrative access to your
e-mail system.
SquirrelMail (without plugins) is just an IMAP client - nothing more. It merely
passes information to your IMAP server and formats it so it looks better to the
people logged in.
It is, however, possible to develop a tool that fits your environment and put a
link to it at your login page. Such a tool could either be a SquirrelMail plugin
or a detached application with the "look and feel" of SquirrelMail. The
internals of such a tool are system-specific, so you should consult the
documentation for your system and/or IMAP server. If you do develop it as a
plugin, we would love to list it on our plugins page.
Existing solutions
In order to provide a free web mail sign up you can try one of these third party
solutions (listed in no particular order):
The excellent Vadmin plugin was created to meet the needs of system
administrators, and allows you to create new accounts and manage
accounts, or even provide a full control panel for you and
lower-privileged administrators. It requires a specific configuration
or software to be running on the mail server
(
VMailMgr or a
SQL backend system are currently supported, but you may add your own
backend to interface with other types of setups). Please note that
this is a third-party plugin and not a part of SquirrelMail itself.
vpopmail provides a virtual user setup. User account information can
be stored in file databases, a SQL database, or a LDAP directory.
vqregister and vqsignup provide account sign up scripts that use
vpopmail libraries. This setup uses qmail or Courier MTA (SMTP
servers) and the Courier IMAP server.
If you use vpopmail - you can use administration and automatic
signup programs available at
http://inter7.com. If you have some other type of setup
(LDAP / MySQL / System users / other special local delivery program)
- you need to write appropriate scripts that automate user
management (for SQL-based setups, you can use the Vadmin plugin
(mentioned above) as long as you use Vadmin version 3.0 or better).
WARNING! inter7.com might require using other browsers than
Microsoft Internet Explorer (typically
Firefox).
UoA-Signup is a simple signup script for inserting users in
an LDAP directory. This setup uses the Sendmail MTA and the Cyrus
IMAP server. For Cyrus, you would also need the autocreate patch.
Setup can be customized for different MTAs (like Exim and Postfix).
Note that UoA-Signup is a bit old and might not be supported.
There is a script and a small discussion in the forum about doing
this (rather easily) with hMailServer as the mail server.
Issues to consider
There are a couple of issues related to making an e-mail service open to the
public. Some of them are listed below.
Accountability
You must have end user agreements and procedures that deal with
misuse of the interface.
Performance
The SquirrelMail requirements are not large, but certain PHP modules
are required if you want a fast system.
You need to remove plugins that can increase the load at your
server, and provide server side alternatives. For example, stock
filters plugin should not be enabled on larger systems.
Scalability
Your system should be able to extend when the current server can't
deal with the load. This would mean fast internal network (maybe 1
Gb Ethernet) that contains separate authentication and storage
servers and load balancing between several WWW/IMAP servers.
Backups
You will have to use RAID1 disks for storage and some special backup
solution.
You will have to use at least two different internet providers in
order to get reliable internet connection.
Experience
You need to understand how SquirrelMail works. You will need that
knowledge in order to
customize the interface to suit your site,
combine the stock and third party plugins, and
write your own plugins (you will most likely need at least one
non-existent plugin or interface customization).
Finances
You need money to allow you to keep your server farm running and pay
your bills.
SquirrelMail doesn't store any passwords. It's the IMAP server's responsibility
to take care of that, and the IMAP server can choose from a number of different
backends, such as SQL or LDAP database for instance, to perform that task.
Fortunately, there are several SquirrelMail plugins that, depending on how your
system is set up, can be used as a change password interface.
It you're using SquirrelMail 1.5, try the included change_password plugin
first. If it doesn't work, or if you're running some other SquirrelMail
version, try the plugins at the
change password plugin page.