• Feedback
  • USEnglish
  • SOGo: Customize Title!

Hello Everyone! I went through the SOGo customization process successfully. Many thanks to whomever put this document together!

mailcow.github.io Icon SOGo - mailcow: dockerized documentation

Suggestion: Include a tip on that page for how to customize the Title, which shows up in the browser’s tab. Helps with completing the branding :-)

Steps:
Edit data/conf/sogo/sogo.conf and change “SOGoPageTitle”, which defaults to “SOGo Groupware”, then restart the containers:

docker compose restart memcached-mailcow sogo-mailcow

Cheers!

    22 days later

    Hello, I am new to this forum and searched all over for customization even though this post is getting old, but it is the closest I can find to the subject.
    My own lack of experience with docker is the biggest handicap. but I am still determined to learn more.
    In your searching for customization, did you find any other useful links to help with custom branding other than the title?

    Also I could only find a Youtube in German (not my language) on DNS and try to understand how Mailcow uses these SRV records for example, and then which elements need to be added get them recognized in Cloudflare, which I use for DNS?
    Under Domains link and on pressing the DNS button, I still see ? mark even though dmarcanalyzer shows the records to be valid. Should I be aiming for all green check marks, even though some are optional? I really want to focus on maximum deliverability.

    Have something to say?

    Join the community by quickly registering to participate in this discussion. We'd like to see you joining our great moo-community!

    Hey there! The link I had in the original post for this thread includes instructions for how to customize the web UI’s interface for the Logo, Favicon and color theme:
    mailcow.github.io Icon SOGo - mailcow: dockerized documentation

    If it helps for the color theme, which is the most complicated part of this process, I did come across this post in the community, which helped give me a reference point for customizing the custom-theme.js file with a blue color (note, I had no issues that are mentioned by the user in the post … one thing to remember is dumping your browser’s cache as you make these changes): mailcow community Icon Customize SOGo theme

    Here is my custom-theme.js file using the same blue colored theme (that’s what I needed for our setup):

    (function() {
    ‘use strict’;
    angular.module(‘SOGo.Common’)
    .config(configure)

    configure.$inject = [‘$mdThemingProvider’];
    function configure($mdThemingProvider) {
    var greyMap = $mdThemingProvider.extendPalette(‘grey’, {
    ‘200’: ‘F5F5F5’,
    ‘300’: ‘E5E5E5’,
    ‘1000’: ‘4C566A’
    });
    var blueCow = $mdThemingProvider.extendPalette(‘blue’, {
    ‘600’: ‘E5E5E5’
    });
    $mdThemingProvider.definePalette(‘frost-grey’, greyMap);
    $mdThemingProvider.definePalette(‘blue-cow’, blueCow);
    $mdThemingProvider.theme(‘default’)
    .primaryPalette(‘blue-cow’, {
    ‘default’: ‘400’,
    ‘hue-1’: ‘400’,
    ‘hue-2’: ‘600’,
    ‘hue-3’: ‘A700’
    })
    .accentPalette(‘blue’, {
    ‘default’: ‘600’,
    ‘hue-1’: ‘300’,
    ‘hue-2’: ‘300’,
    ‘hue-3’: ‘A700’
    })
    .backgroundPalette(‘frost-grey’);
    $mdThemingProvider.generateThemesOnDemand(false);
    }
    })();

    The color scheme is defined by Angular, so you may want to try reading through the 3 links provided in the same Mailcow document. I read these over and over, repeatedly looking at the custom-theme.js file referenced in the post I found, to help increase my understanding of how this works:
    material.angularjs.org Icon AngularJS Material


    material.angularjs.org Icon AngularJS Material
    material.angularjs.org Icon material.angularjs.org
    AngularJS Material
    AngularJS Logo

    Material Design Icon Color - Style - Material Design
    Material Design Icon Material Design
    Color - Style - Material Design
    Material Design

    Regarding Docker, you may want to check out some videos by Network Chuck to help you get comfortable with docker and docker-compose (there’s still so much for me to learn on this topic as well!)

    YouTube Icon you need to learn Docker RIGHT NOW!! // Docker Containers 101


    YouTube Icon Docker networking is CRAZY!! (you NEED to learn it)
    YouTube Icon YouTube
    Docker networking is CRAZY!! (you NEED to learn it)
    Don’t leave yourself unprotected, get the best protection by checking out BitDefender Premium Security at the link below.https://bit.ly/BitdefenderNC Today y...
    YouTube

    YouTube Icon Docker Compose will BLOW your MIND!! (a tutorial)
    YouTube Icon YouTube
    Docker Compose will BLOW your MIND!! (a tutorial)
    We don’t live in Docker containers, keep yourself safe with Bitdefender Premium Security: https://bit.ly/BitdefenderNC (59% discount on a 1 year sub)Stop sp...
    YouTube

    YouTube Icon learning Docker is HARD!! (this makes it easy)
    YouTube Icon YouTube
    learning Docker is HARD!! (this makes it easy)
    Start using Docker the RIGHT WAY with Linode: https://ntck.co/linode Sign up using my link and you will get a 100$ credit that is valid for 60 daysSTOP using...
    YouTube

    Wow, what a reply!
    You have given me a new way of looking at this project. It started out with just branding Mailcow, but now I see it goes much deeper.
    And NetworkChuck blew my mind with Portainers.
    Thank you. I’m sure to have a few more questions.

    [unknown] Also I could only find a Youtube in German (not my language) on DNS and try to understand how Mailcow uses these SRV records for example, and then which elements need to be added get them recognized in Cloudflare, which I use for DNS?
    Under Domains link and on pressing the DNS button, I still see ? mark even though dmarcanalyzer shows the records to be valid. Should I be aiming for all green check marks, even though some are optional? I really want to focus on maximum deliverability.

    Can a kind sould point me in the right direction on the above? What other record types can I implement other DKIM, DMARC and SPF to help deliverability?

    There is a doc here as well if you wish to deploy Portainers alongside Mailcow on the same server (I don’t plan to do that vs. using the agent model to manage it):
    docs.mailcow.email Icon Portainer - mailcow: dockerized documentation

    Regarding DNS, to maximize delivery you’ll want to do a few things:

    1. Make sure your mail server hostname’s “A” record (IPV4) is set up. If your server also has a public IPV6 record, you should setup it’s “AAAA” record as well. The “A” records are what are using via “nslookup hostname.domain.com” to find out its IP.

    2. Make sure you have reverse DNS setup. Basically for hostname.domain.com pointing to an IP address, ensure the reverse is also possible, so you can nslookup the IP and get the hostname.

    3. Set up your MX record for your email domain. This maps “domain.com” to “hostname.domain.com” so email systems know which server(s) can receive messages for the domain.

    Next will be your SPF, DKIM and DMARC records in DNS. I recommend setting up all 3:
    https://docs.mailcow.email/prerequisite/prerequisite-dns/#dkim-spf-and-dmarc

    1. Set up your SPF record, which lists all the servers authorized to send emails from a particular domain. This ensures others cannot fake your domain:
      https://www.cloudflare.com/learning/dns/dns-records/dns-spf-record/
      cloudflare.com
      https://www.cloudflare.com/learning/dns/dns-records/dns-spf-record/
      No preview could be generated for this link

      SPF: FAQ/Examples
      open-spf.org
      SPF: FAQ/Examples
      SPF Logo

      SPF: SPF Record Syntax
      open-spf.org
      SPF: SPF Record Syntax
      SPF Logo

    This the SPF (TXT) record I established. It basically says "check the MX record to validate who is allowed to send email on behalf of my domain, and from anywhere else, mark it as spam (soft-reject):

    dig -t txt domain.com +short
    “v=spf1 mx ~all”

    1. Set up your DKIM record (when you add a domain in Mailcow, it generates a DKIM private/public key. You can use the public key provided to setup your DKIM record. This is also a TXT record but uses dkim._domainkey.domain.com for setting up this record. Email messages sent from your email system are Digital signed with the private DKIM key that only mailcow knows, but can be verified as authentic by other systems using the public DKIM key published via DNS:
      https://www.cloudflare.com/learning/dns/dns-records/dns-dkim-record/
      cloudflare.com
      https://www.cloudflare.com/learning/dns/dns-records/dns-dkim-record/
      No preview could be generated for this link

    In my example below, “…PUBLIC KEY…” will be a long string of seemingly random letters and numbers:

    dig -t txt dkim._domainkey.domain.com +short
    “v=DKIM1;k=rsa;t=s;s=email;p=…PUBLIC KEY…”

    1. Finally, set up your DMARC record, which can be used for overall reporting and conformance for what to do when another system rejects an email message from you, and for providing reporting/stats back to your system on emails exchanged between domains. This requires you to setup a “DMARC” email inbox to receive the reports. This step is not done by all nor is as important as SPF and DKIM, but I recommend doing so:
      https://www.cloudflare.com/learning/dns/dns-records/dns-dmarc-record/
      cloudflare.com
      https://www.cloudflare.com/learning/dns/dns-records/dns-dmarc-record/
      No preview could be generated for this link

    This is mine … I’ve specified DMARC reports to be sent from other systems to dmac@domain.com and indicates any failed emails from the direct domain.com be soft-rejected (marked as spam), but if anyone tries to spoof my domain by faking a sub-domain like sender@important.domain.com then to reject it completely:

    dig -t txt _dmarc.domain.com +short
    “v=DMARC1; p=quarantine; sp=reject; rua=mailto:dmarc@domain.com; ruf=mailto:dmarc@domain.com; fo=0:1:d:s; aspf=s; adkim=s;”

    Finally, you can use these tools to help verify you do not have an open SMTP relay, and to verify your email server is not on any blacklists:
    MxToolbox Icon Network Tools: DNS,IP,Email


    https://www.mail-tester.com

      aaronsmith

      Thanks for that. Yes, I have all those done. I was also thinking about DNSSEC (DS) records and SRV.
      Mail-tester gave me 10/10 and ssllabs.com gave me A+

      No one is typing