When Do You Need a Web Interface for Email?
You've already deployed a mail server (Dovecot + Postfix). Now the question: how do users access email without installing clients? For companies with 50+ employees, installing Thunderbird on every PC is cumbersome — updates, licensing, support. That's why we offer self-hosted web interfaces — Roundcube or SOGo. Both products have been battle-tested in dozens of projects by our team with 10+ years of DevOps experience. We configure them turnkey: integration with LDAP/AD, CalDAV/CardDAV setup for mobile calendar sync. Average deployment time is 1–2 days, and licensing savings over third-party solutions reach 30%. Moreover, a self-hosted webmail reduces TCO by 25% compared to cloud mail services.
How to Choose: Roundcube or SOGo?
The criterion is simple: if you only need webmail, pick Roundcube — lighter, faster to install, no extra services. If you need calendar and contact sync via CalDAV/CardDAV (e.g., for iOS and Android), pick SOGo — it provides full groupware. Below is a feature comparison:
| Feature | Roundcube | SOGo |
|---|---|---|
| Webmail interface | Yes | Yes |
| CalDAV (calendars) | No (complex via plugins) | Built-in |
| CardDAV (contacts) | No | Built-in |
| Sieve filter management | Via managesieve plugin | Built-in |
| Installation time | 1 day | 2 days |
| Resource consumption | Low | Medium |
Roundcube is simpler, but SOGo saves up to 30% of ecosystem configuration time — no separate CalDAV server needed. In one project, we deployed SOGo for a company with 200 employees requiring iOS calendar sync. LDAP integration took 2 hours, total setup 1.5 days. After migration, calendar-related IT support tickets dropped by 60%.
Installing Roundcube
Basic installation on Debian:
apt install roundcube roundcube-mysql nginx php8.1-fpm Main config file: /etc/roundcube/config.inc.php. Set IMAP and SMTP parameters:
$config['imap_host'] = 'ssl://localhost:993';
$config['smtp_host'] = 'tls://localhost:587';
$config['smtp_auth_type'] = 'LOGIN';
$config['default_host'] = 'ssl://localhost';
$config['product_name'] = 'Webmail';
$config['des_key'] = 'your-24-character-random-key!!';
$config['plugins'] = ['archive', 'zipdownload', 'managesieve'];des_key — 24 random characters; generate with pwgen -s 24 1. The managesieve plugin requires ManageSieve enabled in Dovecot (port 4190). For self-signed certificates, add $config['imap_conn_options']['ssl']['verify_peer'] = false;. Nginx with TLS is configured normally; an example config is in the official documentation.
Common Roundcube setup mistakes
- IMAP error: Roundcube cannot connect to Dovecot via SSL if the certificate is self-signed. Fix: temporarily disable verification (internal networks only) by adding
$config['imap_conn_options']['ssl']['verify_peer'] = false;. - Managesieve plugin not working: ensure Dovecot has ManageSieve enabled (port 4190) and the Roundcube config has the correct
sieve_host.
How to Perform Basic Roundcube Setup?
- Install packages:
apt install roundcube roundcube-mysql nginx php8.1-fpm. - Edit
/etc/roundcube/config.inc.php— set IMAP, SMTP parameters and encryption key. - Configure Nginx with a TLS certificate.
- Verify: open the web interface in a browser and log in with a test user.
Installing SOGo
Add the repository and install:
apt-key adv --keyserver keys.gnupg.net --recv-key 0x810273C4
echo "deb http://packages.inverse.ca/SOGo/nightly/5/ubuntu/ focal focal" > /etc/apt/sources.list.d/sogo.list
apt update && apt install sogo sogo-openchange
Config file /etc/sogo/sogo.conf:
SOGoMailingMechanism = smtp;
SOGoSMTPServer = "smtp://127.0.0.1:587/?tls=YES";
SOGoIMAPServer = "imaps://127.0.0.1:993";
SOGoMailDomain = "example.com";
SOGoUserSources = (
{
type = sql;
id = directory;
viewURL = "mysql://sogo:[email protected]:3306/sogo/sogo_users";
canAuthenticate = YES;
LoginFields = (c_uid);
userPasswordAlgorithm = SHA512-CRYPT;
}
);CalDAV and CardDAV are available at URLs /SOGo/dav/username/Calendar/ and /SOGo/dav/username/Contacts/. On mobile devices, use apps like DAVx5.
Why Does an IMAP Error Occur and How to Fix It?
A typical issue: Roundcube cannot connect to Dovecot via SSL due to a self-signed certificate. Fix: temporarily disable verification (internal networks only) by adding $config['imap_conn_options']['ssl']['verify_peer'] = false; to config.inc.php. For SOGo, a 502 error is often caused by a conflict with sogo-slapd-compat — stop it and check logs with journalctl -u sogo.
Authentication via LDAP/AD
Both solutions support external authentication. For Roundcube, specify LDAP parameters in config: password_driver, ldap_host, ldap_bind_dn, etc. In SOGo, the LDAP source is set in SOGoUserSources with type ldap. Configuration takes about 3 hours and is done during initial setup.
What Does Post-Deployment Support Involve?
After setup, we provide 30 days of free support: incident assistance, config updates for infrastructure changes. For ongoing operations, you can switch to subscription-based service with a guaranteed 1-hour response time and 99.9% SLA. Contact us to discuss your project and get a precise timeline estimate.
Work Breakdown: Phases and Timelines
| Phase | Duration |
|---|---|
| Current infrastructure analysis (IMAP, SMTP, auth) | 3 hours |
| Solution selection and approval | 1 day |
| Web server installation and configuration (Nginx with TLS) | 4 hours |
| LDAP/AD integration and access rights | 3 hours |
| Plugin configuration (ManageSieve, archives, filters) | 2 hours |
| Calendar sync testing (for SOGo) | 2 hours |
| Trial operation and user training | 1 day |
| Documentation handover | 2 hours |
Total timeline: 1–2 days. We'll evaluate your project within 3 hours of your request. Order the setup, and your employees will get fast browser-based email access. Professional Roundcube or SOGo configuration ensures a stable web interface with minimal operational costs.
Official Roundcube documentation and SOGo wiki contain full instructions.







