FoxyFy Mail — Documentation
FoxyFy Mail is configured through a single JSON files. This file defines global parameters and per-host settings.

Config File Location
- /etc/ffs/ffs.mail.conf
FFM Global Parameters (ffm.conf)
Parameter | Type | Example | Description |
|---|---|---|---|
license | string * | "X123ABE4RF" | License key for FFM. |
max_data_size | int (opt.) | 5242880 | Sets maximum message size for SMTP. |
max_cmds | int (opt.) | 50 | Sets max. commands per session (bot protection). |
drop_url | string (opt.) | https://www.spamhaus.org/drop/drop.txt | |
hostname | string * | mail.mydomain.com | The hostname of your mailserver. |
cert | string * | "/etc/ffs/certs/mail.mydomain.com/fullchain.pem" | TLS certificate file path. |
keys | string * | "/etc/ffs/certs/mydomain.com/privkey.pem" | TLS private key file path. |
hosts | array * | "hosts": [ { "domain": "mydomain.com", "mailboxes": [ { "login": "info", "pwd": "3gx46n0oray" } ] } ] | Array of virtual hosts and mailboxes. |
️ FFM Hosts Configuration (aka virtual hosts)
Parameter | Type | Example | Description |
|---|---|---|---|
domain | string * | "mydomain.com" | Domain name served by this vhost. |
mailboxes | array * | [ { "login": "info", "pwd": "3gx46n0oray", "pwd_hash": "3gx46n0oray" } ] | <login>: Mailbox name; will result in <login>@<domain>. <pwd>: Password. <pwd_hash>: Bcrypt of the <pwd> – can be set in FFS CP. |
️ DNS wizard & health check
Parameter | Type |
|---|---|
-dhs | FoxyFy Mail’s built-in DNS wizard reads your ffm.conf, generates DKIM keys, and prints ready-to-use DNS records for every mail domain. |
-dhs-check | FFM runs live lookups for A/AAAA, MX, SPF, DMARC and DKIM and shows exactly what’s configured for each domain – including the actual record values – clearly marking what’s correct, what’s missing, and which MX entries still point to the wrong host. |
DNS settings – Example

Hot Reloading
- ffs.conf & ffs.mail.conf reload when modified.
- TLS certificates reload automatically when updated.
Defaults & effective behavior
- Auto-creates vhost directories if missing.
FFM – Example Config
{
"max_data_size": 5242880,
"max_cmds": 50,
"drop_url": "https://www.spamhaus.org/drop/drop.txt",
"hostname": mail.mydomain.com,
"cert": "/etc/ffs/certs/mail.mydomain.com/fullchain.pem",
"key": "/etc/ffs/certs/mail.mydomain.com/privkey.pem",
"hosts": [
{
"domain": "mydomain.com",
"mailboxes": [
{
"login": "info",
"pwd": "3gx46n0oray"
}
]
}
]
}
