---
gitea: none
include_toc: true
---
[Return to the list of application services.](../README.md)
# dovecot
## Synopsis
[Postfix and Dovecot as mail servers (IMAP and submission).](https://www.dovecot.org/)
This application service provides email server. Two servers are used: Dovecot as IMAP server and Postfix as submission server. In addition, an auto-detection file of the email configuration is set up.
## Basic variables
### General
#### Mail configuration
Configure IMAP servers and submission to access email accounts and send emails.
##### Mail domain
This family is a leadership.
| Parameter | Comments |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **[general.mail.domain.mail_domains](dictionaries/31_dovecot.xml)**
mandatory, multiple
**Type:** [`domainname`](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | Final destination email address.
These domain names are the domain names for emails (user@*example.net*) and for auto configuration of email clients (https://*example.net*/.well-known/autoconfig/mail/config-v1.1.xml).
**Example:** example.net |
| **[general.mail.domain.imap_domainname](dictionaries/31_dovecot.xml)**
mandatory
**Type:** [`domainname`](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | External IMAP server address.
Matches TLS connection’s SNI name, if it’s sent by the client. For some email clients, use in DNS configuration a line like "_submissions._tcp IN SRV 1 587 *imap.example.net*.".
**Example:** imap.example.net |
| **[general.mail.domain.submission_domainname](dictionaries/31_dovecot.xml)**
mandatory
**Type:** [`domainname`](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | External submission server address.
Matches TLS connection’s SNI name, if it’s sent by the client. For some email clients, add in DNS configuration a line like "_imaps._tcp IN SRV 0 1 993 *submission.example.net*.".
**Example:** submission.example.net |
| Parameter | Comments |
|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **[general.mail.mail_crt_provider](dictionaries/31_dovecot.xml)**
mandatory
**Type:** [`choice`](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | Type of certificate autority signing external IMAP and submission domain certificates.
The certificate can be self-signed (therefore invalid by default for the client) or obtained via the Let's Encrypt service (generally valid for the client).
**Choices:**
- `self-signed` ← default
- `letsencrypt` |
## Variables for expert
### General
#### OpenLDAP directory
##### Client
| Parameter | Comments |
|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------|
| **[general.ldap.client.ldapclient_family](dictionaries/31_dovecot.xml)**
mandatory
**Type:** [`unix_user`](https://forge.cloud.silique.fr/risotto/rougail/src/branch/main/doc/variable/README.md#le-type-de-la-variable) | Restrict service configuration for a LDAP family.
"all" for all families.
**Default:** all |
## Requirements services
### Mandatories
- LocalDNS: [nsd-local](../nsd-local/README.md)
- SMTP: [postfix-relay](../postfix-relay/README.md)
- LDAP: [openldap](../openldap/README.md)
- ReverseProxy: [nginx-reverse-proxy](../nginx-reverse-proxy/README.md)
- OAuth2: [lemonldap](../lemonldap/README.md)
### Optionals
- Journald: [vector](../vector/README.md)
**bold**: provider is mandatory
## Example
Zone names are provided as examples. Think about adapting with the value of provider_zone in configuration file.
```
dovecot:
applicationservice: dovecot
provider_zone: imap
zones_name:
- ldap
- localdns
- oauth2
- reverseproxy
- smtp
values:
general.mail.domain.mail_domains:
- example.net
general.mail.domain.imap_domainname:
'0': imap.example.net
general.mail.domain.submission_domainname:
'0': submission.example.net
```
## Dependances
- [base-fedora-36](../base-fedora-36/README.md)
- [base-fedora](../base-fedora/README.md)
- [systemd](../systemd/README.md)
- [base-machine](../base-machine/README.md)
- [base](../base/README.md)
- [dns-local](../dns-local/README.md)
- [pki-tls](../pki-tls/README.md)
- [journald](../journald/README.md)
- [resolved](../resolved/README.md)
- [relay-lmtp-client](../relay-lmtp-client/README.md)
- [relay-mail-client](../relay-mail-client/README.md)
- [ldap-client](../ldap-client/README.md)
- [oauth2-client](../oauth2-client/README.md)
- [nginx-https](../nginx-https/README.md)
- [nginx-common](../nginx-common/README.md)
- [reverse-proxy-client](../reverse-proxy-client/README.md)
## Useful for service
[roundcube](../roundcube/README.md): Roundcube, a webmail.