Top Related Projects
Mail hosting made simple
mailcow: dockerized - 🐮 + 🐋 = 💕
:love_letter: An extensible desktop mail app built on the modern web. Forks welcome!
Insular email distribution - mail server as Docker images
Simple, modern & fast web-based email client
Quick Overview
Roundcube is a modern, browser-based webmail solution featuring a user-friendly interface. It provides a full-featured email client with MIME support, address book, folder management, message searching, and spell checking. Roundcube is written in PHP and requires a MySQL, PostgreSQL, or SQLite database.
Pros
- User-friendly interface with a clean, responsive design
- Extensive plugin system for easy customization and feature extension
- Support for multiple languages and right-to-left (RTL) languages
- Strong security features, including support for encryption and two-factor authentication
Cons
- Requires server-side installation and maintenance, which can be challenging for non-technical users
- Limited built-in features compared to some desktop email clients
- Performance can be affected by large mailboxes or slow server connections
- Customization of the core functionality may require advanced PHP knowledge
Getting Started
To install Roundcube on your server:
- Download the latest release from the official website.
- Extract the files to your web server directory.
- Create a MySQL database for Roundcube.
- Navigate to the Roundcube installer in your web browser (e.g.,
http://your-domain.com/roundcube/installer
). - Follow the on-screen instructions to configure your installation.
- After completing the installation, remove the
installer
directory for security reasons.
For more detailed instructions, refer to the Roundcube documentation.
Competitor Comparisons
Mail hosting made simple
Pros of Modoboa
- More comprehensive email management solution, including domain management and administration features
- Built-in antispam and antivirus integration
- Supports multiple domains and users with different roles
Cons of Modoboa
- Steeper learning curve due to more complex features
- Less focus on the webmail interface compared to Roundcube
- Requires more server resources to run
Code Comparison
Modoboa (Python):
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('domains/', views.domains, name='domains'),
]
Roundcube (PHP):
$rcmail_config['plugins'] = array(
'archive',
'zipdownload',
'managesieve',
);
Both projects use different languages and frameworks, making direct code comparison challenging. Modoboa is built with Django (Python), while Roundcube uses PHP. Modoboa's code structure reflects its more comprehensive approach to email management, while Roundcube focuses primarily on the webmail interface.
mailcow: dockerized - 🐮 + 🐋 = 💕
Pros of mailcow-dockerized
- Comprehensive email server solution with multiple components (SMTP, IMAP, antispam, etc.)
- Easy deployment using Docker containers
- Includes a web-based administration interface
Cons of mailcow-dockerized
- More complex setup and configuration compared to Roundcubemail
- Higher resource requirements due to multiple services
- Steeper learning curve for administrators
Code comparison
mailcow-dockerized (docker-compose.yml):
version: '2.1'
services:
dovecot-mailcow:
image: mailcow/dovecot:${MAILCOW_VERSION}
depends_on:
- mysql-mailcow
Roundcubemail (config/config.inc.php):
<?php
$config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
$config['default_host'] = 'localhost';
$config['smtp_server'] = 'localhost';
$config['smtp_port'] = 25;
mailcow-dockerized is a more comprehensive email server solution that includes multiple components and uses Docker for deployment. It offers a complete email infrastructure but requires more resources and has a steeper learning curve. Roundcubemail, on the other hand, is primarily a webmail client that can be integrated with existing email servers, making it simpler to set up but less feature-rich as a standalone solution.
:love_letter: An extensible desktop mail app built on the modern web. Forks welcome!
Pros of Nylas Mail
- Modern, desktop-based email client with a sleek user interface
- Built with Electron, allowing for cross-platform compatibility
- Extensible architecture with plugin support
Cons of Nylas Mail
- Development has been discontinued, with the last update in 2017
- Limited server-side integration compared to Roundcube
- Requires local installation, which may not be suitable for all users
Code Comparison
Nylas Mail (JavaScript):
import {React} from 'nylas-exports';
import {RetinaImg} from 'nylas-component-kit';
export default class MyComponent extends React.Component {
render() {
return <RetinaImg name="my-icon.png" mode={RetinaImg.Mode.ContentPreserve} />;
}
}
Roundcube (PHP):
<?php
$rcmail = rcmail::get_instance();
$rcmail->output->add_handler('plugin.message_header', array($this, 'message_header'));
$rcmail->output->send('message');
?>
The code snippets highlight the different technologies used: Nylas Mail utilizes JavaScript with React for its UI components, while Roundcube employs PHP for server-side rendering. This reflects the fundamental differences in their architectures, with Nylas Mail focusing on a desktop application approach and Roundcube on a web-based solution.
Insular email distribution - mail server as Docker images
Pros of Mailu
- Comprehensive email server solution with multiple components (SMTP, IMAP, webmail, etc.)
- Docker-based deployment for easy setup and management
- Includes anti-spam and anti-virus features out of the box
Cons of Mailu
- More complex setup compared to a standalone webmail client
- Requires more system resources due to its full-stack nature
- Less focus on the webmail interface, which may not be as polished as Roundcube
Code Comparison
Mailu (Docker Compose configuration):
version: '2.2'
services:
front:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-2.0}
restart: always
env_file: .env
Roundcube (PHP configuration):
<?php
$config['db_dsnw'] = 'mysql://roundcube:pass@localhost/roundcubemail';
$config['default_host'] = 'localhost';
$config['smtp_server'] = 'localhost';
$config['smtp_port'] = 25;
The code snippets highlight the different approaches: Mailu uses Docker Compose for orchestration, while Roundcube relies on PHP configuration for setup. Mailu's configuration is more focused on containerization and service management, whereas Roundcube's configuration deals directly with database and mail server settings.
Simple, modern & fast web-based email client
Pros of RainLoop
- Lightweight and faster to load, especially on slower connections
- More modern and user-friendly interface
- Easier to set up and configure for beginners
Cons of RainLoop
- Less extensive plugin ecosystem compared to Roundcube
- Not as actively maintained, with fewer updates and bug fixes
- Limited customization options for advanced users
Code Comparison
RainLoop (JavaScript):
RL.addHook('login.success', function () {
console.log('User logged in successfully');
});
Roundcube (PHP):
$rcmail->add_hook('login_after', function($args) {
rcmail::write_log('userlogins', sprintf('Successful login for %s', $args['user']));
return $args;
});
Both projects use hooks for extending functionality, but RainLoop uses JavaScript while Roundcube uses PHP. This reflects their different architectures: RainLoop is more frontend-focused, while Roundcube has a stronger backend emphasis.
RainLoop's code tends to be more concise and modern, aligning with its lightweight nature. Roundcube's code is often more verbose but offers more detailed logging and control over the login process.
The choice between these webmail clients depends on specific needs: RainLoop for a quick, modern solution, or Roundcube for a more robust, customizable option with a larger community and plugin ecosystem.
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual CopilotREADME
Roundcube Webmail
ATTENTION
This is just a snapshot from the GIT repository and is NOT A STABLE version of Roundcube. It's not recommended to replace an existing installation of Roundcube with this version. Also using a separate database for this installation is highly recommended.
INTRODUCTION
Roundcube Webmail is a browser-based multilingual IMAP client with an application-like user interface. It provides full functionality you expect from an email client, including MIME support, address book, folder management, message searching and spell checking. Roundcube Webmail is written in PHP and requires the MariaDB, MySQL, PostgreSQL or SQLite database. With its plugin API it is easily extendable and the user interface is fully customizable using skins.
The code designed to run on a webserver is mainly written in PHP and Javascript. It includes a custom framework with an IMAP library derived from IlohaMail and requires a set of external libraries (see composer.json and jsdeps.json files).
INSTALLATION
For detailed instructions on how to install Roundcube webmail on your server, please refer to the INSTALL document in the same directory as this document.
If you're updating an older version of Roundcube please follow the steps described in the UPGRADING file.
BROWSER SUPPORT
Roundcube uses jQuery 3.x (and other libs) for its client and therefore inherits the browser support from there. This currently includes:
- Chrome: (Current - 1) and Current
- Edge: (Current - 1) and Current
- Firefox: (Current - 1) and Current, ESR
- Internet Explorer: 11+
- Safari: (Current - 1) and Current
- Opera: Current
LICENSE
This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License (with exceptions for skins & plugins) as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see www.gnu.org/licenses/.
This file forms part of the Roundcube Webmail Software for which the following exception is added: Plugins and Skins which merely make function calls to the Roundcube Webmail Software, and for that purpose include it by reference shall not be considered modifications of the software.
If you wish to use this file in another project or create a modified version that will not be part of the Roundcube Webmail Software, you may remove the exception above and use this source code under the original version of the license.
For more details about licensing and the exceptions for skins and plugins see roundcube.net/license
CONTRIBUTION
Want to help make Roundcube the best webmail solution ever? Roundcube is open source software. Our developers and contributors all are volunteers and we're always looking for new additions and resources. For more information visit roundcube.net/contribute
CONTACT
For bug reports or feature requests please refer to the tracking system at Github or subscribe to our mailing list. See roundcube.net/support for details.
You're always welcome to send a message to the project admin: hello(at)roundcube(dot)net
Top Related Projects
Mail hosting made simple
mailcow: dockerized - 🐮 + 🐋 = 💕
:love_letter: An extensible desktop mail app built on the modern web. Forks welcome!
Insular email distribution - mail server as Docker images
Simple, modern & fast web-based email client
Convert designs to code with AI
Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.
Try Visual Copilot