Webmail

From CSCWiki
Jump to: navigation, search

Webmail is offered at https://mail.csclub.uwaterloo.ca and hosted on caffeine. It currently runs RoundCube as www-webmail (UID 301).

Usage

If you are unable to delete files, this is because you do not have a Trash folder. RoundCube should create this automatically, but if it fails to do so, simply create it yourself.

Configuration

The configuration is located in /etc/roundcube, and the database configuration is generated from /etc/dbconfig-common/roundcube.conf. At the moment, RoundCube stores its data (user preferences, etc.) in a MySQL database called csc-roundcube using a user of the same name. RoundCube is configured to auto-complete contacts from the CSC and UW LDAP directories for convenience.

Logging

A few different logs are involved in webmail (logrotate should take care of keeping them from expanding too much):

Path Written by Purpose
/var/log/roundcube/errors RoundCube RoundCube errors: Can mostly be ignored, but PHP errors get redirected here so it may be useful.
/var/log/roundcube/sendmail RoundCube Makes an entry whenever a user sends a message.
/var/log/apache2-webmail/csc-mail-access.log Apache Logs requests to the mail vhost.
/var/log/apache2-webmail/csc-mail-error.log Apache Logs errors generated by Apache for the mail vhost.

Patches

Since the lenny-backports version of RoundCube is 0.2 (not 0.3), plugin support does not exist in RoundCube at this time. As a result, a few pieces of extra functionality have been patched into the source. Firstly, the following is needed to generate CSC email addresses from user IDs (as we do not have any "mail" field in our directory). Add it in the _ldap2result function in /usr/share/roundcube/program/include/rcube_ldap.php, immediately before the return statement.

// if found by uid, put that in first
if (!$out['email'])
   $out['email'] = $out['name'];

// add domain if there is none
if (strpos($out['email'],"@") === FALSE)
   $out['email'] .= "@csclub.uwaterloo.ca";

Additionally, RoundCube does not automatically read user display names from LDAP, so by default emails have an outgoing display name of "j3doe" instead of "John Doe". There is a patch which remedies this. If you do need to reapply it, do so by hand as minor changes in that area of rcube_user.php may make automatic patching misbehave.