Top Related Projects
The Roundcube Webmail suite
mailcow: dockerized - 🐮 + 🐋 = 💕
Insular email distribution - mail server as Docker images
PostfixAdmin - web based virtual user administration interface for Postfix mail servers
A free & open modern, fast email client with user-friendly encryption and privacy features
Full-featured, open source mail server solution for mainstream Linux/BSD distributions.
Quick Overview
Modoboa is an open-source email hosting and management platform. It provides a modern web interface for managing domains, mailboxes, and aliases, along with features like webmail, anti-spam, and anti-virus integration. Modoboa aims to simplify email server administration for both small and large installations.
Pros
- User-friendly web interface for email server management
- Modular architecture allowing easy extension of functionality
- Supports multiple domains and virtual mailboxes
- Integrates with popular anti-spam and anti-virus solutions
Cons
- Requires technical knowledge to set up and maintain
- Limited documentation for advanced configurations
- Some features require additional setup or external services
- May have performance issues with very large installations
Getting Started
To get started with Modoboa, follow these steps:
-
Install Modoboa using pip:
pip install modoboa
-
Create a new Modoboa instance:
modoboa-admin.py deploy instance cd instance
-
Edit the
settings.py
file to configure your database and other settings. -
Run database migrations:
python manage.py migrate
-
Create a superuser account:
python manage.py createsuperuser
-
Start the development server:
python manage.py runserver
-
Access the Modoboa web interface at
http://localhost:8000
and log in with your superuser account.
For production use, you'll need to set up a proper web server (like Nginx) and configure your email server (Postfix, Dovecot) to work with Modoboa. Refer to the official documentation for detailed installation and configuration instructions.
Competitor Comparisons
The Roundcube Webmail suite
Pros of Roundcubemail
- More mature and widely adopted webmail solution
- Extensive plugin ecosystem for customization
- Responsive design for mobile devices out of the box
Cons of Roundcubemail
- Limited built-in email management features compared to Modoboa
- Lacks integrated domain and user management capabilities
- More complex setup process for advanced configurations
Code Comparison
Modoboa (Python):
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('domains/', views.domains, name='domains'),
]
Roundcubemail (PHP):
$rcmail_config['plugins'] = array(
'archive',
'zipdownload',
'managesieve',
'password',
);
Both projects use different programming languages and frameworks. Modoboa is built with Python and Django, while Roundcubemail uses PHP. The code snippets show URL routing in Modoboa and plugin configuration in Roundcubemail, highlighting their different approaches to extensibility and structure.
mailcow: dockerized - 🐮 + 🐋 = 💕
Pros of mailcow-dockerized
- Fully containerized solution, making deployment and management easier
- Includes a wide range of integrated services (mail server, webmail, antispam, etc.)
- Active development with frequent updates and improvements
Cons of mailcow-dockerized
- Higher resource requirements due to multiple containers
- Less flexibility in terms of customization compared to Modoboa
- Steeper learning curve for users unfamiliar with Docker
Code Comparison
Modoboa configuration (settings.py):
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"NAME": "modoboa",
"USER": "postgres",
"PASSWORD": "password",
"HOST": "localhost",
}
}
mailcow-dockerized configuration (mailcow.conf):
DBNAME=mailcow
DBUSER=mailcow
DBPASS=mysafepassword
DBROOT=myothersafepassword
DBHOST=mysql-mailcow
Both projects use configuration files to set up database connections, but mailcow-dockerized uses a simpler key-value format, while Modoboa uses a more complex Python dictionary structure. This reflects the different approaches of the two projects, with mailcow-dockerized focusing on simplicity and ease of use, while Modoboa offers more flexibility and customization options.
Insular email distribution - mail server as Docker images
Pros of Mailu
- Docker-based deployment for easier setup and management
- Includes a web administration interface out-of-the-box
- Supports multiple domains and virtual users natively
Cons of Mailu
- Less flexible for customization compared to Modoboa
- Potentially higher resource usage due to Docker containers
- Steeper learning curve for those unfamiliar with Docker
Code Comparison
Mailu configuration (docker-compose.yml):
version: '2.2'
services:
front:
image: ${DOCKER_ORG:-mailu}/${DOCKER_PREFIX:-}nginx:${MAILU_VERSION:-2.0}
restart: always
env_file: .env
Modoboa configuration (settings.py):
DATABASES = {
"default": {
"ENGINE": "django.db.backends.postgresql",
"NAME": "modoboa",
"USER": "postgres",
}
}
Both projects use different approaches for configuration. Mailu relies on Docker Compose for service orchestration, while Modoboa uses a more traditional Django-based configuration file. This reflects their architectural differences, with Mailu focusing on containerization and Modoboa on a more traditional web application structure.
PostfixAdmin - web based virtual user administration interface for Postfix mail servers
Pros of Postfixadmin
- Lightweight and simple to set up
- Well-established with a long history of development
- Supports a wide range of database backends
Cons of Postfixadmin
- Less feature-rich compared to Modoboa
- User interface can feel outdated
- Limited integration with modern email security features
Code Comparison
Modoboa (Python):
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('domains/', views.DomainListView.as_view(), name='domain_list'),
]
Postfixadmin (PHP):
<?php
if (!defined('POSTFIXADMIN')) {
die("This file cannot be used standalone.");
}
$CONF['database_type'] = 'mysqli';
$CONF['database_host'] = 'localhost';
$CONF['database_user'] = 'postfix';
Both projects serve as web-based administration interfaces for mail servers, but they differ in their approach and technology stack. Modoboa is built with Python and Django, offering a more modern and feature-rich experience. Postfixadmin, written in PHP, is simpler and more lightweight but may lack some advanced features. The code snippets show the difference in language and structure between the two projects.
A free & open modern, fast email client with user-friendly encryption and privacy features
Pros of Mailpile
- Focuses on user privacy and security with built-in encryption features
- Offers a modern, user-friendly web interface for email management
- Designed for local installation, giving users full control over their data
Cons of Mailpile
- Less suitable for multi-user or organizational email management
- May require more technical knowledge for setup and maintenance
- Development appears to be less active compared to Modoboa
Code Comparison
Mailpile (Python):
def _decode_payload(self, part, charset='utf-8'):
payload = part.get_payload(decode=True)
if payload is None:
return None
charset = charset.lower().replace('_', '-')
try:
return payload.decode(charset)
except UnicodeDecodeError:
return payload.decode('utf-8', errors='replace')
Modoboa (Python):
def get_user_mailboxes(user, nospam=False):
"""Retrieve all mailboxes owned by a user."""
qset = user.mailbox_set.select_related("domain")
if nospam:
spamfolder = user.parameters.get_value("spam_folder")
return qset.exclude(name=spamfolder)
return qset
Both projects use Python, but Mailpile focuses on email decoding and privacy, while Modoboa emphasizes user management and mailbox organization.
Full-featured, open source mail server solution for mainstream Linux/BSD distributions.
Pros of iRedMail
- Comprehensive all-in-one mail server solution
- Easier initial setup with automated installation script
- Includes additional components like antispam and webmail out-of-the-box
Cons of iRedMail
- Less modular and flexible compared to Modoboa
- Potentially more resource-intensive due to bundled components
- Limited customization options without manual intervention
Code Comparison
Modoboa (Python):
from django.urls import path
from . import views
urlpatterns = [
path('', views.index, name='index'),
path('domains/', views.DomainListView.as_view(), name='domain_list'),
]
iRedMail (Shell):
# Install required packages
apt-get install -y postfix postfix-mysql postfix-pcre
apt-get install -y dovecot-core dovecot-imapd dovecot-lmtpd dovecot-mysql
apt-get install -y amavisd-new spamassassin clamav-daemon
The code snippets highlight the different approaches: Modoboa uses Django for web-based management, while iRedMail focuses on shell-based installation and configuration of various mail server components.
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
############################################
Modoboa (website <https://modoboa.org/>
_)
############################################
|workflow| |codecov| |latest-version|
Modoboa <https://modoboa.org>
_ is a mail hosting and management platform including a modern
and simplified Web User Interface. It provides useful components such
as an administration panel and webmail.
Modoboa integrates with well known software such as Postfix <http://postfix.org/>
_ or Dovecot <http://dovecot.org/>
. A SQL
database (MySQL <http://www.mysql.com>
, PostgreSQL <http://www.postgresql.org/>
_ or SQLite <http://www.sqlite.org>
_)
is used as a central point of communication between all components.
Modoboa is developed with modularity in mind, expanding it is really easy. Actually, all current features are extensions.
It is written in Python 3 and uses the Django <https://www.djangoproject.com>
, jQuery <http://jquery.com>
and
Bootstrap <http://getbootstrap.com/>
_
frameworks.
Main features
- Administration panel
- Reputation protection:
DNSBL <https://en.wikipedia.org/wiki/DNSBL>
_ checks,DMARC <https://dmarc.org/>
_reports <https://github.com/modoboa/modoboa-dmarc>
_ and more Amavis <http://www.amavis.org>
_frontend <https://github.com/modoboa/modoboa-amavis>
_Webmail <https://github.com/modoboa/modoboa-webmail>
_Calendar <https://github.com/modoboa/modoboa-radicale>
_Address book <https://github.com/modoboa/modoboa-contacts>
_- Per-user Sieve filters
- Autoreply messages for Postfix
- Graphical statistics about email traffic
Installation
The easiest way to install modoboa is to use the
official installer <https://github.com/modoboa/modoboa-installer>
_.
More information is available in the documentation.
Documentation
A detailed documentation <https://modoboa.readthedocs.io/>
_ will help you
to install, use or extend Modoboa.
Demo Installation
If you want to try out Modoboa, check out our demo installation <https://demo.modoboa.org/>
_.
Getting help
Modoboa is a free software and is totally open source BUT you can hire the team if you need professional services. More information here: https://modoboa.org/en/professional-services/.
Contracting a support plan if a good way to ensure your installation stays available and up-to-date and it will help the project to be sustainable :)
Community
If you have any questions, you can get help through the following platforms:
Discord <https://discord.gg/WuQ3v3PXGR>
_- Github: open an issue if you found a bug
External code
The following external libraries are provided with Modoboa:
jQuery version 1.9.1 <http://www.jquery.org/>
_jQuery-UI 1.10+ <http://jqueryui.com/>
_Bootstrap version 3.3.7 <http://getbootstrap.com/>
_Bootstrap datetimepicker <http://eonasdan.github.io/bootstrap-datetimepicker/>
_
.. |latest-version| image:: https://img.shields.io/pypi/v/modoboa.svg :target: https://pypi.python.org/pypi/modoboa/ :alt: Latest version on Pypi .. |workflow| image:: https://github.com/modoboa/modoboa/actions/workflows/modoboa.yml/badge.svg .. |codecov| image:: https://codecov.io/gh/modoboa/modoboa/graph/badge.svg?token=1E5eBxJO33 :target: https://codecov.io/gh/modoboa/modoboa
Top Related Projects
The Roundcube Webmail suite
mailcow: dockerized - 🐮 + 🐋 = 💕
Insular email distribution - mail server as Docker images
PostfixAdmin - web based virtual user administration interface for Postfix mail servers
A free & open modern, fast email client with user-friendly encryption and privacy features
Full-featured, open source mail server solution for mainstream Linux/BSD distributions.
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