A Mail-in-a-Box with extra capabilities and more customizability. Not just for power users!
Find a file
2019-02-05 13:32:43 +02:00
conf initial test config 2019-01-30 08:48:04 +02:00
management Do not execute a dovecot reload on every quota update 2019-02-05 13:32:43 +02:00
setup update latest version to v0.40-quota-0.13-alpha 2019-02-01 18:39:47 +02:00
tests update list of tls ciphers supported 2019-01-09 08:52:51 -05:00
tools Add percentage used and update tools/mail.py to set quotas 2019-02-01 15:36:27 +02:00
.editorconfig added editorconfig setup (#1037) 2017-01-15 10:44:13 -05:00
.gitignore adding a fully qualified domain name for the hostname and ignoring the .vagrant dir (#1027) 2016-12-20 16:32:06 -05:00
CHANGELOG.md fail2ban ssh/ssh-ddos and sasl are now sshd and postfix-sasl (fixes #1453, merges #1454) 2019-01-18 09:40:51 -05:00
CODE_OF_CONDUCT.md some improvements suggested by the community 2016-08-15 20:09:05 -04:00
CONTRIBUTING.md Add some development instructions to CONTRIBUTING.md (#1348) 2018-02-05 08:41:19 -05:00
LICENSE add CC0 1.0 Universal in LICENSE 2014-04-23 15:49:23 -04:00
README.md Remove default quota support from the TODOs 2019-02-01 21:51:49 +02:00
security.md update reference to Ubuntu 14.04 to 18.04 in README.md and security.md and drop mentions of our custom packages that we no longer maintain 2018-10-03 13:00:15 -04:00
Vagrantfile minimal changeset to get things working on 18.04 2018-10-03 13:00:06 -04:00

Mail-in-a-Box with Quotas

This is an experimental implementation of Mail-in-a-box with quota support.

Quotas can be set and viewed in the control panel

To set quotas from the command line, use:

tools/mail.py user quota <email> <quota>

To set the system default quota for new users, use:

tools/mail.py system default-quota <quota>

Mailbox size recalculation by Dovecot can be forced using the command:

doveadm quota recalc -A

Please report any bugs on github.

Installing v0.40-quota

Follow the directions below for installing from a repository except clone from this repository instead of the official one.

Upgrading v0.40 to v.0.40-quota

This is experimental software. You have been warned.

  • Rename your mailinabox directory to something like miab.old

  • Clone this repository using:

    git clone https://github.com/jrsupplee/mailinabox.git

  • cd into mailinabox and run setup/start.sh with root privileges. On occasion there are lock errors when updating Munin. Just re-run setup/start.sh until the error does not occur.

  • Optionally execute sudo doveadm quota recalc -A to calculate mailbox sizes. If this is not done, a mailbox's size will be recalculated when mail is delivered to it.

Upgrading v.0.40-quota to a New Version

  • Remember that this is experimental software and review the changes in the repository.

  • cd into the mailinabox directory.

  • Execute git pull --tags to download the latest changes with tags.

  • Execute setup/start.sh with root privileges.

Todo

  • Allow Trash to have a grace percentage to allow users whose quota is full to delete messages.

Changes

v0.40-quota-0.13-alpha

  • Add a default-quota setting in settings.yaml.

  • Add input for setting quota when entering a new user in control panel.

  • Modify tools/mail.py to allow for setting and getting the default system quota.

  • Modify tools/mail.py to allow for getting a user's quota setting.

  • Modify the mail users list in control panel to display percentage of quota used.

v0.40-quota-0.12-alpha

  • Update README

v0.40-quota-0.11-alpha

  • Read latest version from this repository not the Mail-in-a-Box master repository

v0.40-quota-0.1-alpha

  • First experimental release of Mail-in-a-Box for quotas.
  • Quotas are working and there is basic support in the control panel and tools/mail.py.

Reference Documents

[BEGIN Official README]

Mail-in-a-Box

By @JoshData and contributors.

Mail-in-a-Box helps individuals take back control of their email by defining a one-click, easy-to-deploy SMTP+everything else server: a mail server in a box.

Please see https://mailinabox.email for the project's website and setup guide!


Our goals are to:

  • Make deploying a good mail server easy.
  • Promote decentralization, innovation, and privacy on the web.
  • Have automated, auditable, and idempotent configuration.
  • Not make a totally unhackable, NSA-proof server.
  • Not make something customizable by power users.

Additionally, this project has a Code of Conduct, which supersedes the goals above. Please review it when joining our community.

The Box

Mail-in-a-Box turns a fresh Ubuntu 18.04 LTS 64-bit machine into a working mail server by installing and configuring various components.

It is a one-click email appliance. There are no user-configurable setup options. It "just works".

The components installed are:

It also includes:

  • A control panel and API for adding/removing mail users, aliases, custom DNS records, etc. and detailed system monitoring.

For more information on how Mail-in-a-Box handles your privacy, see the security details page.

Installation

See the setup guide for detailed, user-friendly instructions.

For experts, start with a completely fresh (really, I mean it) Ubuntu 18.04 LTS 64-bit machine. On the machine...

Clone this repository:

$ git clone https://github.com/mail-in-a-box/mailinabox
$ cd mailinabox

Optional: Download Josh's PGP key and then verify that the sources were signed by him:

$ curl -s https://keybase.io/joshdata/key.asc | gpg --import
gpg: key C10BDD81: public key "Joshua Tauberer <jt@occams.info>" imported

$ git verify-tag v0.40
gpg: Signature made ..... using RSA key ID C10BDD81
gpg: Good signature from "Joshua Tauberer <jt@occams.info>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg:          There is no indication that the signature belongs to the owner.
Primary key fingerprint: 5F4C 0E73 13CC D744 693B  2AEA B920 41F4 C10B DD81

You'll get a lot of warnings, but that's OK. Check that the primary key fingerprint matches the fingerprint in the key details at https://keybase.io/joshdata and on his personal homepage. (Of course, if this repository has been compromised you can't trust these instructions.)

Checkout the tag corresponding to the most recent release:

$ git checkout v0.40

Begin the installation.

$ sudo setup/start.sh

For help, DO NOT contact Josh directly --- I don't do tech support by email or tweet (no exceptions).

Post your question on the discussion forum instead, where maintainers and Mail-in-a-Box users may be able to help you.

Contributing and Development

Mail-in-a-Box is an open source project. Your contributions and pull requests are welcome. See CONTRIBUTING to get started.

The Acknowledgements

This project was inspired in part by the "NSA-proof your email in 2 hours" blog post by Drew Crawford, Sovereign by Alex Payne, and conversations with @shevski, @konklone, and @GregElin.

Mail-in-a-Box is similar to iRedMail and Modoboa.

The History

  • In 2007 I wrote a relatively popular Mozilla Thunderbird extension that added client-side SPF and DKIM checks to mail to warn users about possible phishing: add-on page, source.
  • In August 2013 I began Mail-in-a-Box by combining my own mail server configuration with the setup in "NSA-proof your email in 2 hours" and making the setup steps reproducible with bash scripts.
  • Mail-in-a-Box was a semifinalist in the 2014 Knight News Challenge, but it was not selected as a winner.
  • Mail-in-a-Box hit the front page of Hacker News in April 2014, September 2014, May 2015, and November 2016.
  • FastCompany mentioned Mail-in-a-Box a roundup of privacy projects on June 26, 2015.