Customize Roundcube theme per user (logo)

Hi,
it’s solved now:

  1. add this line to /var/lib/roundcube/config/config.inc.php:
// include individual domain configs
$config['include_host_config'] = true;
  1. add a file for each individual domain in /var/lib/roundcube/config:
nano webmail.DOMAIN.TLD.inc.php

(replace DOMAIN.TLD with the desired domain)

Content of the domain config file to change the logo:

<?php
$rcmail_config['skin_logo'] = 'https://www.domain.tld/yourlogo.png'
$config['product_name'] = 'Your Login Title Text';
$config['blankpage_url'] = '/watermark.html';
?>

blankpage_url customizes the watermark/background on the right.

Example watermark.html for elastic:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
html, body { height: 100%; overflow: hidden; }
body {
  background: url(images/yourlogo.png) center no-repeat #fff;
  background-size: 30%;
  background-blend-mode: luminosity;
}
html:not(.dark-mode) body:before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(255, 255, 255, .85);
}
html.dark-mode > body {
  background-color: #21292c;
  background-blend-mode: soft-light;
}
</style>
<script>
  try {
    if (document.cookie.indexOf('colorMode=dark') > -1
      || (document.cookie.indexOf('colorMode=light') === -1 && window.matchMedia('(prefers-color-scheme: dark)').matches)
    ) {
      document.documentElement.className += ' dark-mode';
    }
  } catch (e) { }
</script>
</head>
<body></body>
</html>

I tested it and it worked :+1:
Best, mandrael

PS: For blankpage_url I used an external source and the emails didn’t show anymore. Then I added mybackground.html in /var/lib/roundcube/skins/elastic/ and put the logo into the subfolder images.
This way I had no more problems.
With the logo image you can use any url. Because I use a custom background anyway, I entered /images/mylogo.png.

6 Likes