If you use Mailcow as an email solution, you may encounter the problem that Outlook clients cannot resolve the autodiscover correctly. This can have several causes, I will describe one of them here.
An important point when using Outlook clients with Mailcow is that unfortunately not all versions and editions are supported. We have tested and confirmed that Outlook 2016 does not currently work with Mailcow.
If Autodiscover is configured correctly from the DNS point of view (can be checked nicely via the „DNS?“ button in the Mailcow Admin Console), it could still be that the Outlook client only wants to configure an IMAP account and not an Active Sync account.
Since only in some Outlook versions the „OLCFG.exe“ described in the documentation is still available, unfortunately Autodiscover must work here.
The trick here is a certain entry in the data/web/inc/vars.local.inc.php in the mailcow-dockerized folder. If you go to the $autodiscover_config section in this file, you will find an entry ‚useEASforOutlook‘.
This should be set to ‚yes‘, then the configuration with Autodiscover as Active Sync mailbox with Outlook works. The entry ‚autodiscoverType‘ should of course also be set to ‚activesync‘. Here the complete section from the documentation:
$autodiscover_config = array(
// General autodiscover service type: "activesync" or "imap"
// emClient uses autodiscover, but does not support ActiveSync. mailcow excludes emClient from ActiveSync.
'autodiscoverType' => 'activesync',
// If autodiscoverType => activesync, also use ActiveSync (EAS) for Outlook desktop clients (>= Outlook 2013 on Windows)
// Outlook for Mac does not support ActiveSync
'useEASforOutlook' => 'yes',
// Please don't use STARTTLS-enabled service ports in the "port" variable.
// The autodiscover service will always point to SMTPS and IMAPS (TLS-wrapped services).
// The autoconfig service will additionally announce the STARTTLS-enabled ports, specified in the "tlsport" variable.
'imap' => array(
'server' => $mailcow_hostname,
'port' => array_pop(explode(':', getenv('IMAPS_PORT'))),
'tlsport' => array_pop(explode(':', getenv('IMAP_PORT'))),
),
'pop3' => array(
'server' => $mailcow_hostname,
'port' => array_pop(explode(':', getenv('POPS_PORT'))),
'tlsport' => array_pop(explode(':', getenv('POP_PORT'))),
),
'smtp' => array(
'server' => $mailcow_hostname,
'port' => array_pop(explode(':', getenv('SMTPS_PORT'))),
'tlsport' => array_pop(explode(':', getenv('SUBMISSION_PORT'))),
),
'activesync' => array(
'url' => 'https://'.$mailcow_hostname.($https_port == 443 ? '' : ':'.$https_port).'/Microsoft-Server-ActiveSync',
),
'caldav' => array(
'server' => $mailcow_hostname,
'port' => $https_port,
),
'carddav' => array(
'server' => $mailcow_hostname,
'port' => $https_port,
),
);