Convert Figma logo to code with AI

modoboa logomodoboa

Mail hosting made simple

3,185
418
3,185
92

Top Related Projects

The Roundcube Webmail suite

mailcow: dockerized - 🐮 + 🐋 = 💕

6,320

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:

  1. Install Modoboa using pip:

    pip install modoboa
    
  2. Create a new Modoboa instance:

    modoboa-admin.py deploy instance
    cd instance
    
  3. Edit the settings.py file to configure your database and other settings.

  4. Run database migrations:

    python manage.py migrate
    
  5. Create a superuser account:

    python manage.py createsuperuser
    
  6. Start the development server:

    python manage.py runserver
    
  7. 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.

6,320

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 Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

############################################ 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