Go to file
Joshua Tauberer dece359c90 validate certificates using the cryptography python package as much as possible, shelling out to openssl just once instead of four times per certificate
* Use `cryptography` instead of parsing openssl's output.
* When checking if we can reuse the primary domain certificate or a www-parent-domain certificate for a domain, avoid shelling out to openssl entirely.
2015-06-21 14:53:37 +00:00
conf ownCloud updated to version 8.0.4 2015-06-14 16:04:07 +00:00
management validate certificates using the cryptography python package as much as possible, shelling out to openssl just once instead of four times per certificate 2015-06-21 14:53:37 +00:00
ppa merge #406 - dovecot-lucene & packaging 2015-06-03 15:51:16 -04:00
setup validate certificates using the cryptography python package as much as possible, shelling out to openssl just once instead of four times per certificate 2015-06-21 14:53:37 +00:00
tests best guess at what clients are supported by the tls settings used 2015-05-22 17:36:55 -04:00
tools editconf.py: better error message if command line arguments are not valid 2015-04-11 15:25:11 -04:00
.gitignore adding externals and .env to gitignore 2014-07-07 07:06:36 -04:00
CHANGELOG.md validate certificates using the cryptography python package as much as possible, shelling out to openssl just once instead of four times per certificate 2015-06-21 14:53:37 +00:00
CONTRIBUTING.md adding CONTRIBUTING.md, see #23 2014-04-23 15:52:49 -04:00
LICENSE add CC0 1.0 Universal in LICENSE 2014-04-23 15:49:23 -04:00
README.md changelog entries and mention our forks of postgrey and dovecot in the README 2015-06-10 09:27:29 -04:00
Vagrantfile replace '-t 0' test with an environment variable since '-t 0' is false when standard input has been redirected and doesn't tell us whether or not we can use dialog for input, but Vagrant must be non-interactive 2014-08-25 07:54:11 -04:00
security.md security.md: add a section on DNSSEC specifically 2015-06-15 10:24:16 -04:00

README.md

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!


I am trying 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.

This setup is what has been powering my own personal email since September 2013.

The Box

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

It is a one-click email appliance (see the setup guide). 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.
  • Our own builds of postgrey and dovecot-lucene distributed via the Mail-in-a-Box PPA on Launchpad.

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

The Security

See the security guide for more information about the box's security configuration (TLS, password storage, etc).

I sign the release tags on git. To verify that a tag is signed by me, you can perform the following steps:

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

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

# Verify the tag.
$ git verify-tag v0.10
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

The key ID and fingerprint above should match my Keybase.io key and the fingerprint I publish on my homepage.

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, and May 2015.