Mox

Modern full-featured open source secure mail server

This project is funded by NLnet through these subgrants:

Options

programs.mox
programs.mox.enable

Whether to enable mox.

Type:
boolean
Default:
false
services.mox.configFile

Mox quickstart generates configuration files to quickly set up a mox instance. This, is by far the easiest and most reproducible way to get mox running. All output from quickstart is written to quickstart.log, including initial admin accounts and passwords. In this module, options hostname and user are passed to quickstart as arguments and the config file are generated in that context.

Type:
string
Default:
"/var/lib/mox/config/mox.conf"
services.mox.enable

Whether to enable Mox server.

Type:
boolean
Default:
false
services.mox.hostname

Hostname for the Mox Mail Server

Type:
string
Default:
"mail"
services.mox.openFirewall

Open firewall for the ports defined in ports

Type:
boolean
Default:
true
services.mox.package

The mox package to use.

Type:
package
Default:
pkgs.mox
services.mox.ports.http

The http port. Set to null if we should leave it unset.

Type:
null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
null
services.mox.ports.https

The https port. Set to null if we should leave it unset.

Type:
null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
null
services.mox.ports.smtp

The smtp port. Set to null if we should leave it unset.

Type:
null or 16 bit unsigned integer; between 0 and 65535 (both inclusive)
Default:
null
services.mox.user

Required Email user as (user@domain) to be created.

Type:
string

Examples

Mox server with optional hostname and user
{ ... }:

{
  services.mox.enable = true;
  services.mox.hostname = "mail";
  services.mox.user = "admin@example.com";
  services.mox.openFirewall = true;
  services.mox.ports.http = 80;
  services.mox.ports.https = 443;
  services.mox.ports.smtp = 25;
}