Roundcube is one of the better webmail solutions.

It offers all of the basic functionality one would expect, and in addition, capabilities for manipulating sieve (server side mail filter) rules, and if you’re so inclined, gpg/pgp. Note that storing gpg/pgp private keys on a server is not something to be done with out careful consideration of the risks involved. Documentation for Roundcube.

Create/populate the database

We will start by creating a user and database:

CREATE DATABASE roundcube WITH OWNER = roundcube;

Now, you should be able to point your browser at your webserver (https://my-ip/webmail/installer/), and get something that looks similar to this:

Here are the bits I’ve added (or lines I’ve modified) from the default/sample config.

// $config['enable_installer'] = true;

$config['db_dsnw'] = 'pgsql://roundcube:pass@localhost/roundcube';

$config['default_host'] = 'ssl://';

$config['default_port'] = 993;
$config['imap_auth_type'] = plain;
$config['imap_conn_options'] = array(
  'ssl'         => array(
         'verify_peer'  => false,
         'verfify_peer_name' => false,
$config['default_host'] = 'localhost';

$config['smtp_server'] = 'ssl://';

$config['smtp_conn_options'] = array(
  'ssl'         => array(
         'verify_peer'  => false,
         'verfify_peer_name' => false,

$config['smtp_port'] = 465;

$config['smtp_user'] = '%u@%n';

$config['smtp_pass'] = '%p';
$config['product_name'] = 'Cryptomonkeys Webmail';

$config['des_key'] = 'rcmail-!24ByteDESkey*Str';

 // List of active plugins (in plugins/ directory)
 $config['plugins'] = array(

I’ve included the managesieve and additional_message_headers plugins.

If you’ve added a user (associated with a domain) with PostfixAdmin already, you can login as that user and have a look around. Keep in mind, this is just the default setup so far (we’ve added a couple plugins, but haven’t changed any defaults yet). We can however, look at the sieve rules which are located under settings -> filters -> roundcube.

Footnotes and References