Mailserver Options
==================
mailserver
~~~~~~~~~~
mailserver.debug
----------------
Whether to enable verbose logging for mailserver related services. This
intended be used for development purposes only, you probably don't want
to enable this unless you're hacking on nixos-mailserver.
- type: ``boolean``
- default: ``False``
mailserver.domains
------------------
The domains that this mail server serves.
- type: ``list of string``
- default: ``[]``
- example: ``['example.com']``
mailserver.enable
-----------------
Whether to enable nixos-mailserver.
- type: ``boolean``
- default: ``False``
- example: ``True``
mailserver.enableImap
---------------------
Whether to enable IMAP with STARTTLS on port 143.
- type: ``boolean``
- default: ``True``
mailserver.enableImapSsl
------------------------
Whether to enable IMAP with TLS in wrapper-mode on port 993.
- type: ``boolean``
- default: ``True``
mailserver.enableManageSieve
----------------------------
Whether to enable ManageSieve, setting this option to true will open
port 4190 in the firewall.
The ManageSieve protocol allows users to manage their Sieve scripts on
a remote server with a supported client, including Thunderbird.
- type: ``boolean``
- default: ``False``
mailserver.enablePop3
---------------------
Whether to enable POP3 with STARTTLS on port on port 110.
- type: ``boolean``
- default: ``False``
mailserver.enablePop3Ssl
------------------------
Whether to enable POP3 with TLS in wrapper-mode on port 995.
- type: ``boolean``
- default: ``False``
mailserver.enableSubmission
---------------------------
Whether to enable SMTP with STARTTLS on port 587.
- type: ``boolean``
- default: ``True``
mailserver.enableSubmissionSsl
------------------------------
Whether to enable SMTP with TLS in wrapper-mode on port 465.
- type: ``boolean``
- default: ``True``
mailserver.extraVirtualAliases
------------------------------
Virtual Aliases. A virtual alias `"info@example.com" = "user1@example.com"` means that
all mail to `info@example.com` is forwarded to `user1@example.com`. Note
that it is expected that `postmaster@example.com` and `abuse@example.com` is
forwarded to some valid email address. (Alternatively you can create login
accounts for `postmaster` and (or) `abuse`). Furthermore, it also allows
the user `user1@example.com` to send emails as `info@example.com`.
It's also possible to create an alias for multiple accounts. In this
example all mails for `multi@example.com` will be forwarded to both
`user1@example.com` and `user2@example.com`.
- type: ``attribute set of ((Login Account) or non-empty (list of (Login Account)))``
- default: ``{}``
- example: ``{'abuse@example.com': 'user1@example.com', 'info@example.com': 'user1@example.com', 'multi@example.com': ['user1@example.com', 'user2@example.com'], 'postmaster@example.com': 'user1@example.com'}``
mailserver.forwards
-------------------
To forward mails to an external address. For instance,
the value {`"user@example.com" = "user@elsewhere.com";}`
means that mails to `user@example.com` are forwarded to
`user@elsewhere.com`. The difference with the
`extraVirtualAliases` option is that `user@elsewhere.com`
can't send mail as `user@example.com`. Also, this option
allows to forward mails to external addresses.
- type: ``attribute set of ((list of string) or string)``
- default: ``{}``
- example: ``{'user@example.com': 'user@elsewhere.com'}``
mailserver.fqdn
---------------
The fully qualified domain name of the mail server.
- type: ``string``
- example: ``mx.example.com``
mailserver.hierarchySeparator
-----------------------------
The hierarchy separator for mailboxes used by dovecot for the namespace 'inbox'.
Dovecot defaults to "." but recommends "/".
This affects how mailboxes appear to mail clients and sieve scripts.
For instance when using "." then in a sieve script "example.com" would refer to the mailbox "com" in the parent mailbox "example".
This does not determine the way your mails are stored on disk.
See https://wiki.dovecot.org/Namespaces for details.
- type: ``string``
- default: ``.``
mailserver.indexDir
-------------------
Folder to store search indices. If null, indices are stored
along with email, which could not necessarily be desirable,
especially when the fullTextSearch option is enable since
indices it creates are voluminous and do not need to be backed
up.
Be careful when changing this option value since all indices
would be recreated at the new location (and clients would need
to resynchronize).
Note the some variables can be used in the file path. See
https://doc.dovecot.org/configuration_manual/mail_location/#variables
for details.
- type: ``null or string``
- default: ``None``
- example: ``/var/lib/dovecot/indices``
mailserver.keyFile
------------------
Scheme 1)
Location of the key file
- type: ``path``
- example: ``/root/mail-server.key``
mailserver.lmtpSaveToDetailMailbox
----------------------------------
If an email address is delimited by a "+", should it be filed into a
mailbox matching the string after the "+"? For example,
user1+test@example.com would be filed into the mailbox "test".
- type: ``one of "yes", "no"``
- default: ``yes``
mailserver.localDnsResolver
---------------------------
Runs a local DNS resolver (kresd) as recommended when running rspamd. This prevents your log file from filling up with rspamd_monitored_dns_mon entries.
- type: ``boolean``
- default: