Mail hosting made simple

Overview

Modoboa

workflow codecov Latest version on Pypi

Modoboa is a mail hosting and management platform including a modern and simplified Web User Interface. It provides useful components such as an administration panel or a webmail.

Modoboa integrates with well known software such as Postfix or Dovecot. A SQL database (MySQL, PostgreSQL or SQLite) 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, jQuery and Bootstrap frameworks.

Main features

Documentation

A detailed documentation will help you to install, use or extend Modoboa.

Demo Installation

If you want to try out Modoboa, check out our demo installation.

Getting help

If you have any question, you can use the following ways to get help:

  • IRC: join the #modoboa channel on Freenode
  • Mailing list: join the modoboa-users group on Google Groups
  • Github: open an issue if you found a bug

External code

The following external libraries are provided with Modoboa:

Comments
  • Can't open quarantine after upgrade from 1.9.0 to 1.10.1

    Can't open quarantine after upgrade from 1.9.0 to 1.10.1

    Impacted versions

    • Modoboa: 1.10.1
    • installer used: Yes ?
    • Webserver: Nginx

    OS: centos 7.4

    Steps to reproduce

    Upgrade from 1.9.0

    Current behavior

    Can't open quarantine - Internal Error I have put Debug on, should open the debug log on modoboa ? can't see nothing on log files.

    question help-needed 
    opened by lmfrazao 49
  • Edit Domain unresponsive

    Edit Domain unresponsive

    Impacted versions

    • Modoboa: 1.8.2
    • installer used: Yes
    • Webserver: Nginx

    When logging in to modoboa, for one particular domain I am unable to edit anything. For example, if I try to disable the domain and click update nothing happens. For that matter, any field I edit -- once I click update nothing happens. Changes are not saved and there are no error messages. However, I can go into the individual accounts within that domain and edit them without a problem. I can login to webmail without a problem. The accounts are able to send and receive email.

    opened by oconshaw 36
  • Error sending mail from outside the webmail 451 4.3.5

    Error sending mail from outside the webmail 451 4.3.5

    Impacted versions

    • OS Type: Debian/Ubuntu
    • OS Version: 20.0
    • installer used: Yes
    • Webserver: Nginx

    Steps to reproduce

    I installed my server Connect with admin and create simple user email Send my first email and it work Receive my first email and it work I connect my account to outlook with: mail server: mail.exemple.com username: [email protected] pass: pass Incoming port: 993 SSL Outgoing port: 587 STARTTLS I connected successfuly and I can see my email

    Current behavior

    When I try to send email from outlook I got an error I connected my account with node mailer and I got this error message: response: '451 4.3.5 [email protected]: Recipient address rejected: Server configuration problem'

    Expected behavior

    I should be able to send my mail from outlook as I do from my webmail

    opened by Renaud-DELEIRIS 34
  • Daily Message sending limit is not reset every day

    Daily Message sending limit is not reset every day

    On my Modoboa server, the policyd upload limit is not reset every day.

    So, my sending limit is lowered each time I send a mail, and never goes back up.

    bug 
    opened by AmazingBeu 34
  • Domain DKIM don't sign mail

    Domain DKIM don't sign mail

    Hello everyone,

    I don't think i'm the only one to have this issue. When I do all the configuration for domain and the DKIM box it's green, my mail don't pass dkim on gmail or other webmail, can someone help me to fix that please, i read some articles about openDKIM on mobodoa website or github but don't work for me, or I fail somewhere.

    Thanks in advance for your answer.

    opened by Orminor77 29
  • Error when running python manage.py migrate

    Error when running python manage.py migrate

    Hi, I'm trying to install the Radicale module, but whenever I try to run python manage.py migrate it gives me this error:

    Traceback (most recent call last):
      File "manage.py", line 10, in <module>
        execute_from_command_line(sys.argv)
      File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 353, in execute_from_command_line
        utility.execute()
      File "/usr/local/lib/python2.7/dist-packages/django/core/management/__init__.py", line 302, in execute
        settings.INSTALLED_APPS
      File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 55, in __getattr__
        self._setup(name)
      File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 43, in _setup
        self._wrapped = Settings(settings_module)
      File "/usr/local/lib/python2.7/dist-packages/django/conf/__init__.py", line 99, in __init__
        mod = importlib.import_module(self.SETTINGS_MODULE)
      File "/usr/lib/python2.7/importlib/__init__.py", line 37, in import_module
        __import__(name)
      File "/srv/modoboa/instance/instance/settings.py", line 255, in <module>
        from modoboa_amavis.settings import *
    ImportError: No module named modoboa_amavis.settings
    

    I got to say that this is a fresh installation.

    Any idea what is missing?

    Thanks.

    question 
    opened by axd 27
  • Help with upgrading Modoboa on Debian

    Help with upgrading Modoboa on Debian

    I'm not experienced with Python, Postgre.

    I have Modoboa 1.6.0 running on my mailserver . My install method was the 'easy', Python script method:

    $ git clone https://github.com/modoboa/modoboa-installer $ cd modoboa-installer $ sudo ./run.py <mail server hostname>

    I have read the docs describing how to update modoboa with new version, but I'm stuck on the deploy instructions.

    Example from the docs: $ modoboa-admin.py deploy modoboa_example --collectstatic [--dburl default:database-url] [--extensions extensions]

    What do I replace modoboa_example with?

    How do I determine my --dburl values?

    Any help is very appreciated!

    opened by abmiller99 26
  • Cron jobs trigger warning about non-standard shutdown of database connection (MySQL)

    Cron jobs trigger warning about non-standard shutdown of database connection (MySQL)

    Running the cronjobs (no matter under what account) triggers warning in syslog, like this

    Dec 15 13:51:01 {hostname} mysqld: 141215 13:51:01 [Warning] Aborted connection {conn_id} to db: '{db_name}' user: '{db_user}' host: '{db_host}' (Unknown error)
    

    example cronjob definition

    0 0 * * * python /{modoboa_instance_path}/manage.py cleanlogs
    

    Is this known issue, or problem of instance configuration? I'm not running it in virtualenv or anything special.

    opened by smarek 26
  • error 451 4.3.5

    error 451 4.3.5

    hi, i have new error without any reasson .. maybe restart or update any package .. but now have this :/

    debian 10, maria 10.5 , nginx mainline, --

    Mar 18 16:56:16 mail postfix/postscreen[20786]: CONNECT from [127.0.0.1]:57479 to [127.0.0.1]:25 Mar 18 16:56:16 mail postfix/postscreen[20786]: WHITELISTED [127.0.0.1]:57479 Mar 18 16:56:16 mail postfix/smtpd[20787]: connect from localhost[127.0.0.1] Mar 18 16:56:17 mail postfix/smtpd[20787]: warning: problem talking to server 127.0.0.1:9999: Success Mar 18 16:56:17 mail postfix/smtpd[20787]: NOQUEUE: reject: RCPT from localhost[127.0.0.1]: 451 4.3.5 [email protected]: Recipient address rejected: Server configuration problem; from=[email protected] to=[email protected] proto=ESMTP helo=<email.domain1.net> Mar 18 16:56:17 mail postfix/smtpd[20787]: disconnect from localhost[127.0.0.1] ehlo=1 auth=1 mail=1 rcpt=0/1 rset=1 quit=1 commands=5/6

    thanks a lot !

    opened by CHazz 24
  • Possible to use as a front end mail gateway and NOT a complete mail system?

    Possible to use as a front end mail gateway and NOT a complete mail system?

    I am considering switching from ASSP to modoboa and I was curious if it is possible to setup things up so that modoboa is configured as a mail gateway with all mail (and users) residing on another system (like xmail or hMailServer)?

    I know that I can do this with postfix and setting up relay_domains, relay_receipients, and transport configuration files, The question is -- will modoboa continue to work with this confirmation (including support for quarantine)?

    opened by ravensorb 24
  • Can't Add user

    Can't Add user

    I'm recently having issues adding new users. Receiving this response

    SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data .parseJSON() jquery.min.js:3 Cwizard.prototype.post/<() creation_wizard.js:61 .proxy/i() jquery.min.js:3 b.Callbacks/c() jquery.min.js:3 b.Callbacks/p.fireWith() jquery.min.js:3 k() jquery.min.js:5 .send/r()

    opened by scrolls-mckenzie 24
  • DKIM show key in 2.0.3 does not show the raw key

    DKIM show key in 2.0.3 does not show the raw key

    DKIM key in old admin interface shows both BIND and RAW versions of the DKIM key The new admin interface only shows the BIND variety, which is not helpful for hosted DNS

    opened by olaf7 0
  • DKIM DNS record suggestion is wrong in 2.0.3

    DKIM DNS record suggestion is wrong in 2.0.3

    Modoboa 2.0.3 When using the old admin interface the suggested format for a DNS TXT entry is: modoboa._domainkey The new admin suggests: domain._domain_key One of the examples in which the new admin reports things differently, but also troublesome as testing tools expect the standard format as suggested by the old admin interface. The new suggestion seems wrong. Another example is the fact that new and old admin interfaces report differently on if dmarc, dnsbl, spf, mx, dkim are supported/configured per domain or not (properly).

    opened by olaf7 0
  • Installer apparently configures dovecot incorrectly

    Installer apparently configures dovecot incorrectly

    Impacted versions

    • OS Type: Ubuntu
    • OS Version: 22.04
    • Database Type: PostgreSQL
    • Database version: 14.5
    • Modoboa: 2.0.3
    • installer used: Yes
    • Webserver: Lighttpd

    Steps to reproduce

    1. Run the installer once, it creates installer.cfg
    2. Edit that and adjust to your needs (specifically set the dovecot mailboxes_owner to vmail)
    3. Run the installer again to install everything
    4. Check /etc/dovecot/conf.d/mail/conf. Notice that mail_uid and mail_gid are commented out
    5. Check /etc/dovecot/dovecot-sql.conf.ext and notice that both user_query and password_query return the uid and gid of the user dovecot not vmail

    Current behavior

    Webmail fails, IMAP fails ... and it turns out because the home_dir set in installer.cfg is owned by vmail/vmail and dovecot is trying to create Mailboxes in there running as dovecot/dovecot.

    Expected behavior

    I expect to see mail_uid and mail_gid set to vmail and uid and gid not returned by user_query or password_query

    Fixing those, suddenly IMAP and Webmail work fine. Mailboxes are created and I can access them.

    Caveat

    This is from my install notes, having installed modaboa with the installer and then testing it. I have not reproduced it (as that's rather a costly exercise at present, but I may do some time and report back - as I'm currently just experimenting with modoboa and if I get it all functional will probably install a clean mailserver from my notes.

    Because I have installed it on a play server I have (a sandbox server) there is no guarantee I ran all this on a clear fresh Ubuntu install and may have had a legacy dovecot installation even from an earlier experiment on it. Not likely relevant as I expect the installer to configure it as it needs anyhow (why else would one be running an installer) irrespective of any legacy installs. But I also have no recollection of ever experimenting with dovecot and postgresql before so consider it unlikely.

    opened by bernd-wechner 0
  • Accept-Language header takes precedence over profile language setting

    Accept-Language header takes precedence over profile language setting

    After tinkering with the request headers for a bit, I've found that the Accept-Language (if it contains a supported and available translated language) will take precedence over the language actually setup in the modo boa profile.

    Removing the header will revert this behaviour, which seems to have been introduced by the v2.0.0 interface (which also has the same issue).

    Discussed in https://github.com/modoboa/modoboa/discussions/2519

    Originally posted by PatTheMav May 20, 2022 Ever since I upgraded to v2.0.0 I got mixed translations in the interface. LANGUAGE_CODE is set to en-us in the settings file, the given profile is set to use "english".

    Up to and including v1.1.7 this worked without issue, but with v2.0.0 I now got stray German labels and menu items in the legacy UI as well as the v2 admin interface. In the v2 admin interface I also get a lots of Untranslated en key found warnings in the console.

    Is there an implicit localisation going on based on languages passed by browser headers (which will have German preferred over English as my OS is set to German) and my account settings not taking precedence?

    bug 
    opened by PatTheMav 0
  • docs: run bash explicitly for migration

    docs: run bash explicitly for migration

    hope this is sufficient, else let me know if you would change something. Bash won't be a login shell but since we clear the enviroment with sudo -i this should not have any meaningful impact

    opened by nicosqc 1
  • No preferences available.

    No preferences available.

    Impacted versions

    • OS Type: Ubuntu
    • OS Version: 22.04.1 LTS
    • Database Type: PostgreSQL
    • Database version: 14
    • Modoboa: 2.0.3
    • installer used: A clone of the repo today. run.py does not convey a version.
    • Webserver: lighttpd 1.4.63

    Steps to reproduce

    Surf to:

    https://my-modoboa-site/user/#preferences/

    Current behavior

    I see this:

    image

    Expected behavior

    Not that.

    Basically landed here after an install because experienced this: https://github.com/modoboa/modoboa/issues/1411 and there it suggested looking at Preferences. But they don't load either.

    For what it's worth I used this installer.cfg (redacted):

    [general]
    hostname = hermes.%(domain)s
    tls_key_file = /etc/ssl/mykey
    tls_cert_file = /etc/ssl/mycert
    
    [certificate]
    generate = false
    #type = self-signed
    
    # [letsencrypt]
    # email = [email protected]
    
    [database]
    engine = postgres
    host = 127.0.0.1
    install = false
    
    [postgres]
    user = postgres
    password = XXX
    
    # [mysql]
    # user = root
    # password = s0FZUMDDfp5e3ASy
    # charset = utf8
    # collation = utf8_general_ci
    
    [modoboa]
    user = modoboa
    home_dir = /data/www/hermes
    venv_path = /data/venv/modoboa
    instance_path = %(home_dir)s
    timezone = Australia/Hobart
    dbname = modoboa
    dbuser = modoboa
    dbpassword = XXX
    extensions = modoboa-amavis modoboa-pdfcredentials modoboa-postfix-autoreply modoboa-sievefilters modoboa-webmail modoboa-contacts modoboa-radicale
    devmode = false
    
    [automx]
    # makes configuring email accounts easy.
    # Doesn't seem well maintained and hard to find info on it
    # https://github.com/sys4/automx
    # https://github.com/rseichter/automx2
    enabled = true
    user = automx
    config_dir = /etc
    home_dir = /srv/automx
    venv_path = /data/venv/modoboa-automx
    instance_path = %(home_dir)s/instance
    
    [amavis]
    # a high-performance and reliable interface between mailer (MTA) and one or more content checkers: virus scanners,
    # and/or Mail::SpamAssassin Perl module. It is written in Perl
    enabled = true
    user = amavis
    max_servers = 2
    dbname = modoboa-amavis
    dbuser = amavis
    dbpassword = XXX
    
    [clamav]
    # open-source standard for mail gateway-scanning software
    enabled = true
    user = clamav
    
    [dovecot]
    # The IMAP server
    # vmail is a user used by dovecot for storing mails.
    # Well described by dovecot here: https://wiki.dovecot.org/VirtualUsers
    # and by Arch here: https://wiki.archlinux.org/title/Virtual_user_mail_system_with_Postfix,_Dovecot_and_Roundcube#User
    # And IMHO the best HowTo: is here: https://sharkysoft.com/wiki/how_to_configure_a_virtual_user_email_server_using_Postfix,_Dovecot,_and_SpamAssassin#Step_3:_Create_a_system_user_to_own_all_virtual_email_accounts.
    enabled = true
    config_dir = /etc/dovecot
    user = dovecot
    home_dir = /srv/vmail
    mailboxes_owner = vmail
    extra_protocols =
    postmaster_address = postmaster@%(domain)s
    radicale_auth_socket_path = /var/run/dovecot/auth-radicale
    
    [nginx]
    # Not needed, using lighttpd
    enabled = false
    config_dir = /etc/nginx
    
    [razor]
    # spam-catcher using a collaborative filtering network
    enabled = true
    config_dir = /etc/razor
    
    [postfix]
    # The SMTP server itself (MTA or Mail Transfer Agent), an alternative to the classic sendmail.
    enabled = true
    config_dir = /etc/postfix
    message_size_limit = 11534336
    
    [postwhite]
    # A script for generating a Postscreen whitelist (and optionally a blacklist) based on large and presumably trustworthy senders' SPF records.
    # The Postfix postscreen daemon provides additional protection against mail server overload.
    enabled = true
    config_dir = /etc
    
    [spamassassin]
    # Apache SpamAssassin is the #1 Open Source anti-spam platform
    enabled = true
    config_dir = /etc/mail/spamassassin
    dbname = modoboa-spamassassin
    dbuser = spamassassin
    dbpassword = XXX
    
    [uwsgi]
    # Already installed (running other Django sites)
    enabled = false
    # config_dir = /etc/uwsgi
    # nb_processes = 2
    
    [radicale]
    # Free and Open-Source CalDAV and CardDAV Server
    enabled = true
    user = radicale
    config_dir = /etc/radicale
    home_dir = /srv/radicale
    venv_path = /data/venv/modoboa-radicale
    
    [opendkim]
    # OpenDKIM is an open source implementation of the DKIM (Domain Keys Identified Mail) sender authentication system
    enabled = true
    user = opendkim
    config_dir = /etc
    port = 12345
    keys_storage_dir = /var/lib/dkim
    dbuser = opendkim
    dbpassword = XXX
    
    [backup]
    default_path = ./modoboa_backup/
    

    And for what it's worth:

    $ ll  /var/lib/dkim
    total 8
    drwxr-xr-x  2 opendkim opendkim 4096 Dec 12 13:50 ./
    drwxr-xr-x 52 root     root     4096 Dec 12 13:50 ../
    

    and

    $ cat /etc/opendkim.conf
    # This file was automatically installed on 2022-12-12T15:19:42.629214
    # This is a basic configuration that can easily be adapted to suit a standard
    # installation. For more advanced options, see opendkim.conf(5) and/or
    # /usr/share/doc/opendkim/examples/opendkim.conf.sample.
    
    # Log to syslog
    Syslog			yes
    SyslogSuccess   	Yes
    LogWhy			Yes
    LogResults  Yes
    
    # Required to use local socket with MTAs that access the socket as a non-
    # privileged user (e.g. Postfix)
    UMask			007
    
    # Sign for example.com with key in /etc/dkimkeys/dkim.key using
    # selector '2007' (e.g. 2007._domainkey.example.com)
    #Domain			example.com
    #KeyFile		/etc/dkimkeys/dkim.key
    #Selector		2007
    
    KeyTable		dsn:pgsql://opendkim:[email protected]+127.0.0.1/modoboa/table=dkim?keycol=id?datacol=domain_name,selector,private_key_path
    SigningTable		dsn:pgsql://opendkim:[email protected]+127.0.0.1/modoboa/table=dkim?keycol=domain_name?datacol=id
    
    # Commonly-used options; the commented-out versions show the defaults.
    #Canonicalization	simple
    #Mode			sv
    SubDomains		yes	
    Canonicalization        relaxed/relaxed
    
    # Socket smtp://localhost
    #
    # ##  Socket socketspec
    # ##
    # ##  Names the socket where this filter should listen for milter connections
    # ##  from the MTA.  Required.  Should be in one of these forms:
    # ##
    # ##  inet:[email protected]           to listen on a specific interface
    # ##  inet:port                   to listen on all interfaces
    # ##  local:/path/to/socket       to listen on a UNIX domain socket
    #
    Socket                  inet:[email protected]
    #Socket			local:/var/run/opendkim/opendkim.sock
    
    ##  PidFile filename
    ###      default (none)
    ###
    ###  Name of the file where the filter should write its pid before beginning
    ###  normal operations.
    #
    PidFile               /var/run/opendkim/opendkim.pid
    
    
    # Always oversign From (sign using actual From and a null From to prevent
    # malicious signatures header fields (From and/or others) between the signer
    # and the verifier.  From is oversigned by default in the Debian pacakge
    # because it is often the identity key used by reputation systems and thus
    # somewhat security sensitive.
    OversignHeaders		From
    
    ##  ResolverConfiguration filename
    ##      default (none)
    ##
    ##  Specifies a configuration file to be passed to the Unbound library that
    ##  performs DNS queries applying the DNSSEC protocol.  See the Unbound
    ##  documentation at http://unbound.net for the expected content of this file.
    ##  The results of using this and the TrustAnchorFile setting at the same
    ##  time are undefined.
    ##  In Debian, /etc/unbound/unbound.conf is shipped as part of the Suggested
    ##  unbound package
    
    # ResolverConfiguration     /etc/unbound/unbound.conf
    
    ##  TrustAnchorFile filename
    ##      default (none)
    ##
    ## Specifies a file from which trust anchor data should be read when doing
    ## DNS queries and applying the DNSSEC protocol.  See the Unbound documentation
    ## at http://unbound.net for the expected format of this file.
    
    # TrustAnchorFile       /usr/share/dns/root.key
    
    ##  Userid userid
    ###      default (none)
    ###
    ###  Change to user "userid" before starting normal operation?  May include
    ###  a group ID as well, separated from the userid by a colon.
    #
    UserID                opendkim
    
    ExternalIgnoreList      /etc/opendkim.hosts
    InternalHosts           /etc/opendkim.hosts
    

    and

    $ ll /etc/opendkim*
    -rw-r--r-- 1 root root 3310 Dec 12 15:19 /etc/opendkim.conf
    -rw-r--r-- 1 root root 3310 Dec 12 15:19 /etc/opendkim.conf.old.2022-12-12T15:19:42.630614
    -rw-r--r-- 1 root root   94 Dec 12 15:19 /etc/opendkim.hosts
    -rw-r--r-- 1 root root   94 Dec 12 15:19 /etc/opendkim.hosts.old.2022-12-12T15:19:42.632340
    

    All looks good on the OpenDKIM front (bar the fact that it's not working and I can't see Preferences at all which may be related).

    $ sudo ls -l /var/run/opendkim/
    total 4
    -rw-r--r-- 1 root root 5 Dec 12 15:55 opendkim.pid
    
    feedback-needed 
    opened by bernd-wechner 11
Releases(2.0.3)
  • 2.0.3(Oct 27, 2022)

    What's Changed

    • ability to copy dkim key and warning before regenerate by @Spitfireap in https://github.com/modoboa/modoboa/pull/2615
    • Update djangorestframework requirement from <3.14,>=3.11 to >=3.11,<3.15 by @dependabot in https://github.com/modoboa/modoboa/pull/2606
    • Added API key management to UI v2. by @tonioo in https://github.com/modoboa/modoboa/pull/2621
    • Mitigate spamhaus dns fail while querying for dnsbl by @Spitfireap in https://github.com/modoboa/modoboa/pull/2576
    • Bump django-reversion from 5.0.2 to 5.0.3 by @dependabot in https://github.com/modoboa/modoboa/pull/2624
    • Bump djangorestframework-simplejwt from 5.2.0 to 5.2.1 by @dependabot in https://github.com/modoboa/modoboa/pull/2625
    • Fixed domainkey entry by @Spitfireap in https://github.com/modoboa/modoboa/pull/2630
    • Bump gevent from 21.12.0 to 22.8.0 by @dependabot in https://github.com/modoboa/modoboa/pull/2633
    • Added missing migrations. by @tonioo in https://github.com/modoboa/modoboa/pull/2622
    • Bump greenlet from 1.1.3 to 1.1.3.post0 by @dependabot in https://github.com/modoboa/modoboa/pull/2635
    • Bump djangorestframework-simplejwt from 5.2.1 to 5.2.2 by @dependabot in https://github.com/modoboa/modoboa/pull/2653
    • Bump gevent from 22.8.0 to 22.10.1 by @dependabot in https://github.com/modoboa/modoboa/pull/2646
    • Translate '/modoboa/locale/en/LC_MESSAGES/djangojs.po' in 'sv' by @transifex-integration in https://github.com/modoboa/modoboa/pull/2642
    • Translate '/modoboa/locale/en/LC_MESSAGES/django.po' in 'sv' by @transifex-integration in https://github.com/modoboa/modoboa/pull/2643
    • Show pending label when check is pending on GUIv2 by @Spitfireap in https://github.com/modoboa/modoboa/pull/2616

    Full Changelog: https://github.com/modoboa/modoboa/compare/2.0.2...2.0.3

    Source code(tar.gz)
    Source code(zip)
  • 2.0.2(Sep 25, 2022)

    What's Changed

    • Bump feedparser from 6.0.8 to 6.0.10 by @dependabot in https://github.com/modoboa/modoboa/pull/2522
    • Bump djangorestframework-simplejwt from 5.1.0 to 5.2.0 by @dependabot in https://github.com/modoboa/modoboa/pull/2524
    • Bump eventsource from 1.1.0 to 1.1.1 in /frontend by @dependabot in https://github.com/modoboa/modoboa/pull/2531
    • Added new page to display opened alarms in UI v2. by @tonioo in https://github.com/modoboa/modoboa/pull/2526
    • Bump django-phonenumber-field[phonenumbers] from 6.1.0 to 6.2.0 by @dependabot in https://github.com/modoboa/modoboa/pull/2539
    • Minor grammatical changes by @meichthys in https://github.com/modoboa/modoboa/pull/2540
    • Bump django-phonenumber-field[phonenumbers] from 6.2.0 to 6.3.0 by @dependabot in https://github.com/modoboa/modoboa/pull/2542
    • Bump django-reversion from 5.0.0 to 5.0.1 by @dependabot in https://github.com/modoboa/modoboa/pull/2544
    • Update mysqlclient requirement from <2.1.1 to <2.1.2 by @dependabot in https://github.com/modoboa/modoboa/pull/2547
    • Bump shell-quote from 1.7.2 to 1.7.3 in /frontend by @dependabot in https://github.com/modoboa/modoboa/pull/2549
    • Update documentation for Dovecot's authentication configuration by @jeromelebleu in https://github.com/modoboa/modoboa/pull/2554
    • Maintenance: Add missing log parse parts plus hint by @MrGeneration in https://github.com/modoboa/modoboa/pull/2556
    • Fix autoconfig check written as SPF check on new admin by @Spitfireap in https://github.com/modoboa/modoboa/pull/2575
    • Fix depreciation from python 3.10 by @Spitfireap in https://github.com/modoboa/modoboa/pull/2565
    • removed html dump to file by @Spitfireap in https://github.com/modoboa/modoboa/pull/2590
    • set root_url js var in template so we can use a PATH_PREFIX without b… by @gawel in https://github.com/modoboa/modoboa/pull/2583
    • fixed settings' index by @Spitfireap in https://github.com/modoboa/modoboa/pull/2595
    • Bump testfixtures from 6.18.5 to 7.0.0 by @dependabot in https://github.com/modoboa/modoboa/pull/2557
    • Update docutils requirement from <0.19 to <0.20 by @dependabot in https://github.com/modoboa/modoboa/pull/2558
    • Bump terser from 4.8.0 to 4.8.1 in /frontend by @dependabot in https://github.com/modoboa/modoboa/pull/2568
    • Bump django-reversion from 5.0.1 to 5.0.2 by @dependabot in https://github.com/modoboa/modoboa/pull/2580
    • Bump greenlet from 1.1.2 to 1.1.3 by @dependabot in https://github.com/modoboa/modoboa/pull/2587
    • Bump django-phonenumber-field[phonenumbers] from 6.3.0 to 7.0.0 by @dependabot in https://github.com/modoboa/modoboa/pull/2597
    • Fixed core parameters unable to save on v2 by @Spitfireap in https://github.com/modoboa/modoboa/pull/2598
    • Dynamic parameter label vue by @Spitfireap in https://github.com/modoboa/modoboa/pull/2594
    • Translate '/modoboa/locale/en/LC_MESSAGES/django.po' in 'fr' by @transifex-integration in https://github.com/modoboa/modoboa/pull/2525
    • Translate '/modoboa/locale/en/LC_MESSAGES/djangojs.po' in 'es' by @transifex-integration in https://github.com/modoboa/modoboa/pull/2591
    • Bump vuetify from 2.6.2 to 2.6.10 in /frontend by @dependabot in https://github.com/modoboa/modoboa/pull/2605
    • fix: use dbport settings in generate_postfix_map by @eburghar in https://github.com/modoboa/modoboa/pull/2609

    New Contributors

    • @meichthys made their first contribution in https://github.com/modoboa/modoboa/pull/2540
    • @Spitfireap made their first contribution in https://github.com/modoboa/modoboa/pull/2575
    • @eburghar made their first contribution in https://github.com/modoboa/modoboa/pull/2609

    Full Changelog: https://github.com/modoboa/modoboa/compare/2.0.1...2.0.2

    Source code(tar.gz)
    Source code(zip)
  • 2.0.1(May 18, 2022)

    What's Changed

    • Make sure internal alias is disabled if account is disabled at creation by @tonioo in https://github.com/modoboa/modoboa/pull/2514

    Full Changelog: https://github.com/modoboa/modoboa/compare/2.0.0...2.0.1

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0(May 5, 2022)

    Added

    New admin interface wrote using vue.js New version of the API (v2) Django updated to latest LTS version (3.2)

    Breaking changes

    Dropped support for Python < 3.7

    Source code(tar.gz)
    Source code(zip)
  • 2.0.0-beta.3(Sep 22, 2021)

  • 2.0.0-beta.2(Aug 26, 2021)

  • 2.0.0-beta.1(Aug 25, 2021)

  • 1.17.0(Nov 5, 2020)

  • 1.16.0(Oct 5, 2020)

    A new policy daemon for postfix has been introduced by this version. For now, it only allows the definition of daily sending limits for domains and accounts.

    This release also includes a new mail log section which has been sponsored by the community. More detail: https://modoboa.org/en/projects/9/.

    Source code(tar.gz)
    Source code(zip)
  • 1.15.0(May 7, 2020)

    This major release brings a lot of new features and fixes but it also drops the support for Python 2. Please be careful if you upgrade an existing Python 2 installation since you'll need to rebuilt your virtual environment.

    See associated milestone: https://github.com/modoboa/modoboa/milestone/77?closed=1.

    Source code(tar.gz)
    Source code(zip)
  • 1.7.2(Mar 17, 2017)

    Bug Fixes

    #1078 Upgrade djangorestframework to 3.6 #1076 Include django-ckeditor #1047 Allow SuperAdmins to set custom rss feed for DomainAdmins and Resellers #1070 New widget to display features to sponsor #1065 cleanlogs command is broken with 1.7.x

    Source code(tar.gz)
    Source code(zip)
Owner
Modoboa
Mail hosting made simple!
Modoboa
Python script for imap, pop3, smtp and IPv4 analyze

Python script for imap, pop3, smtp and IPv4 analyze

Vladislav Kotletkin 1 Jan 30, 2022
Tempmail API aswell as a SMTP server.

Tempmail API/Server Tempmail API aswell as a SMTP server. Website · Report Bug · Request Feature Setup Firstly create a mongodb account, and proceed t

femboy.party 16 Mar 09, 2022
Churn Emails Inbox - Churn Emails Inbox Using Python

Churn Emails Inbox In this project, I have used the Python programming langauge

2 Nov 13, 2022
Send e-mails to teachers with specified school-website using Aula, anonymously

Information : This only works in Denmark! Send e-mails to teachers with specified school-website using Aula, anonymously. Find your school via the att

Binary.club 1 Jan 24, 2022
Esio_dev 3 Oct 15, 2021
This Tool Is For Sending Emails From A Terminal(Termux/Kali) etc.

This is a Basic python script to send emails from a Terminal(Termux/Kali) are the only tested currently.

AnonyVox 2 Apr 04, 2022
An API to send emails through python3's smtplib module.

An API to send emails through python3's smtplib module. Just configure your SMTP server credentials and you are ready to send a lot of emails through API, designed to be used as a newsletter service.

Adnan Ahmad 15 Nov 24, 2022
Bulk send personalized emails using a .csv file and Gmail API (via EZGmail)

GSender Bulk send personalized emails using a .csv file and Gmail API (via EZGmail). Installation Install requirements.txt. Follow the EZGmail Install

1 Nov 23, 2021
A Discord Mod Mail bot made in python

Fish-Mail The mod mail bot for Fish Hosting Note: You are not allowed to remove the names in the credit command Note: If you want any ideas/commands a

28 Aug 30, 2022
This is the mail server that handles responses from the Contact Form

mailserver About This is the mail server that handles responses from the Contact Form Contributors ✨ Thanks goes to these wonderful people (emoji key)

IoLang 3 Jan 03, 2022
Heimdall watchtower automatically sends you emails to notify you of the latest progress of your deep learning programs.

This software automatically sends you emails to notify you of the latest progress of your deep learning programs.

Zhenyue Qin 22 Dec 06, 2021
spam_box is a self hosted temp mail service by hacksec

spam_box spam_box is a self hosted temp mail service by hacksec Requirement python3 open port 25 and 6660 root access in a vps How to install in linux

ScRiPt1337 25 Dec 14, 2022
Use Django admin to manage drip campaign emails using querysets on Django's User model.

Django Drip Drip campaigns are pre-written sets of emails sent to customers or prospects over time. Django Drips lets you use the admin to manage drip

Zapier 630 Nov 16, 2022
This library is helpful when creating accounts, it has everything you need for this

AccountGeneratorHelper Library to facilitate accounts generation. Unofficial API for temp email services. Receive SMS from free services. Parsing and

Denis 52 Jan 07, 2023
A small system for writing via email.

A small system for writing via email.

0 Nov 24, 2021
A simple library project, a library function to make a temporary email, receive all messages

fake-email A simple library project, a library function to make a temporary email, receive all messages Installation : pip install fake-email Example

muntazir halim 13 Sep 15, 2022
A Python Mail Server

Salmon - A Python Mail Server Download: https://pypi.org/project/salmon-mail/ Source: https://github.com/moggers87/salmon Docs: https://salmon-mail.re

Matt Molyneaux 582 Dec 30, 2022
A python script that helps you understand why your E-Mail ended up in Spam

decode-spam-headers.py Whether you are trying to understand why a specific e-mail ended up in SPAM/Junk for your daily Administrative duties or for yo

Mariusz Banach 316 Jan 05, 2023
Django module to easily send emails/sms/tts/push using django templates stored on database and managed through the Django Admin

Django-Db-Mailer Documentation available at Read the Docs. What's that Django module to easily send emails/push/sms/tts using django templates stored

LPgenerator 250 Dec 21, 2022
Email-bomber - Email bomber unlike other email bombers u don't need your gmail email id to use this

Email-bomber - Email bomber unlike other email bombers u don't need your gmail email id to use this

rfeferfefe 82 Dec 17, 2022