Dovecot also supports SNI, so you can put a couple of cert / key for each domain you hosts.
I use this kind of config myself:
ssl_cert = </path_to/default_crt.pem
ssl_key = </path_to/default_key.pem
!include conf.d/dovecot-crt*.conf
and for example dovecot-crt_imap_domain1_td.conf like this:
local_name imap.domain1.td {
ssl_cert = </path_to/imap.domain1.td_crt.pem
ssl_key = </path_to/imap.domain1.td_key.pem
}
dovecot-crt_imap_domain2_td.conf:
local_name imap.domain2.td {
ssl_cert = </path_to/imap.domain2.td_crt.pem
ssl_key = </path_to/imap.domain2.td_key.pem
}
This way thunderbird can request the correct certificate, and this allows user to connect / configure accounts using imap.domain1.td or imap.domain2.td depending on the email address without receiving cert errors.