instance-smtp-schema.json 1.73 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "extends": "./schema-definitions.json#",
  "required": ["tcpv4-port"],
  "properties": {
    "tcpv4-port": {
      "allOf": [{
        "$ref": "#/definitions/tcpv4port"
      }, {
        "description": "Start allocating ports at this value, going upward"
      }]
    },
    "postmaster": {
      "description": "Mail address to send technical mails to. Non-empty value required for smptd relay service to be deployed. Values will be put in alias-dict as 'postmaster' key (alias-dict takes precedence)",
      "default": "",
      "type": "string"
    },
    "alias-dict": {
      "description": "Mail alias support",
      "default": {},
      "patternProperties": {
        ".*": {
          "description": "List of addresses alias expands to",
          "type": "array"
        }
      },
      "type": "object"
    },
    "relay": {
      "description": "Forward outgoing mails to a specific relay. If enabled, relay must support TLS-encrypted SASL authentication.",
      "dependencies": {
        "host": ["sasl-credential"]
      },
      "properties": {
        "host": {
36
          "description": "Host name or address of relay, with optional port (ex: '[example.com]:submission'). Enclosing hostname with [] prevents MX lookup.",
37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
          "type": "string"
        },
        "sasl-credential": {
          "description": "SASL credential, in the login:password form",
          "type": "string"
        }
      },
      "default": {},
      "type": "object"
    },
    "divert": {
      "description": "Intercept all mails and send them to given addresses instead of original recipient",
      "type": "array",
      "items": {
        "type": "string"
      },
      "uniqueItems": true
    }
  }
}