Single node email tutorial

Tutorial for setting up a simple email provider.

This tutorial walks you through the initial process of creating and deploying a minimal email service provider. Please first complete the Quick Start Tutorial. This tutorial will pick up where that one left off.

Our goal

We are going to create a minimal LEAP provider offering email service.

Our goal is something like this:

$ leap list
    NODES       SERVICES                       TAGS
    wildebeest  couchdb, mx, soledad, webapp

Where ‘wildebeest’ is whatever name you chose for your node in the Quick Start Tutorial.

Add email services to the node

In order to add services to a node, edit the node’s JSON configuration file.

In our example, we would edit nodes/wildebeest.json:

{
  "ip_address": "XXX.XXX.XXX.XXX",
  "services": ["couchdb", "webapp", "mx", "soledad"]
}

Where “XXX.XXX.XXX.XXX” should be replaced by your IP provider.

Here, we added mx and soledad to the node’s services list. Briefly:

For more details, see the Services overview, or the individual pages for the mx and soledad services.

Deploy to the node

Now you should deploy to your node.

workstation$ leap deploy

Setup DNS

There are several important DNS entries that all email providers should have:

In order to take advantage of SPF and DKIM, run this command:

workstation$ leap compile zone

Then take the output of that command and merge it with the DNS zone file for your domain.

CAUTION: the output of leap compile zone is not a complete zone file since it is missing a serial number. You will need to manually merge it with your existing zone file.

Test it out

First, run:

workstation# leap test

Then fire up the bitmask client, register a new user with your provider, and try sending and receiving email.