| <?php | 
 | require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/vars.inc.php'; | 
 | $default_autodiscover_config = $autodiscover_config; | 
 | if(file_exists('inc/vars.local.inc.php')) { | 
 |   include_once 'inc/vars.local.inc.php'; | 
 | } | 
 | $autodiscover_config = array_merge($default_autodiscover_config, $autodiscover_config); | 
 |  | 
 | error_reporting(0); | 
 |  | 
 | if (empty($mailcow_hostname)) { | 
 |   exit(); | 
 | } | 
 |  | 
 | $domain_dot = strpos($_SERVER['HTTP_HOST'], '.'); | 
 | $domain_port = strpos($_SERVER['HTTP_HOST'], ':'); | 
 | if ($domain_port === FALSE) { | 
 |   $domain = substr($_SERVER['HTTP_HOST'], $domain_dot+1); | 
 |   $port = 443; | 
 | } | 
 | else { | 
 |   $domain = substr($_SERVER['HTTP_HOST'], $domain_dot+1, $domain_port-$domain_dot-1); | 
 |   $port = substr($_SERVER['HTTP_HOST'], $domain_port+1); | 
 | } | 
 |  | 
 | header('Content-Type: application/xml'); | 
 | ?> | 
 | <?= '<?xml version="1.0"?>'; ?> | 
 | <clientConfig version="1.1"> | 
 |     <emailProvider id="<?=$mailcow_hostname; ?>"> | 
 |       <domain>%EMAILDOMAIN%</domain> | 
 |       <displayName>A mailcow mail server</displayName> | 
 |       <displayShortName>mail server</displayShortName> | 
 |  | 
 |       <incomingServer type="imap"> | 
 |          <hostname><?=$autodiscover_config['imap']['server']; ?></hostname> | 
 |          <port><?=$autodiscover_config['imap']['port']; ?></port> | 
 |          <socketType>SSL</socketType> | 
 |          <username>%EMAILADDRESS%</username> | 
 |          <authentication>password-cleartext</authentication> | 
 |       </incomingServer> | 
 |       <incomingServer type="imap"> | 
 |          <hostname><?=$autodiscover_config['imap']['server']; ?></hostname> | 
 |          <port><?=$autodiscover_config['imap']['tlsport']; ?></port> | 
 |          <socketType>STARTTLS</socketType> | 
 |          <username>%EMAILADDRESS%</username> | 
 |          <authentication>password-cleartext</authentication> | 
 |       </incomingServer> | 
 |  | 
 | <?php | 
 | $records = dns_get_record('_pop3s._tcp.' . $domain, DNS_SRV); // check if POP3 is announced as "not provided" via SRV record | 
 | if (count($records) == 0 || $records[0]['target'] != '') { ?> | 
 |       <incomingServer type="pop3"> | 
 |          <hostname><?=$autodiscover_config['pop3']['server']; ?></hostname> | 
 |          <port><?=$autodiscover_config['pop3']['port']; ?></port> | 
 |          <socketType>SSL</socketType> | 
 |          <username>%EMAILADDRESS%</username> | 
 |          <authentication>password-cleartext</authentication> | 
 |       </incomingServer> | 
 | <?php } ?> | 
 | <?php | 
 | $records = dns_get_record('_pop3._tcp.' . $domain, DNS_SRV); // check if POP3 is announced as "not provided" via SRV record | 
 | if (count($records) == 0 || $records[0]['target'] != '') { ?> | 
 |       <incomingServer type="pop3"> | 
 |          <hostname><?=$autodiscover_config['pop3']['server']; ?></hostname> | 
 |          <port><?=$autodiscover_config['pop3']['tlsport']; ?></port> | 
 |          <socketType>STARTTLS</socketType> | 
 |          <username>%EMAILADDRESS%</username> | 
 |          <authentication>password-cleartext</authentication> | 
 |       </incomingServer> | 
 | <?php } ?> | 
 |  | 
 |       <outgoingServer type="smtp"> | 
 |          <hostname><?=$autodiscover_config['smtp']['server']; ?></hostname> | 
 |          <port><?=$autodiscover_config['smtp']['port']; ?></port> | 
 |          <socketType>SSL</socketType> | 
 |          <username>%EMAILADDRESS%</username> | 
 |          <authentication>password-cleartext</authentication> | 
 |       </outgoingServer> | 
 |       <outgoingServer type="smtp"> | 
 |          <hostname><?=$autodiscover_config['smtp']['server']; ?></hostname> | 
 |          <port><?=$autodiscover_config['smtp']['tlsport']; ?></port> | 
 |          <socketType>STARTTLS</socketType> | 
 |          <username>%EMAILADDRESS%</username> | 
 |          <authentication>password-cleartext</authentication> | 
 |       </outgoingServer> | 
 |  | 
 |       <enable visiturl="https://<?=$mailcow_hostname; ?><?php if ($port != 443) echo ':'.$port; ?>/admin.php"> | 
 |          <instruction>If you didn't change the password given to you by the administrator or if you didn't change it in a long time, please consider doing that now.</instruction> | 
 |          <instruction lang="de">Sollten Sie das Ihnen durch den Administrator vergebene Passwort noch nicht geändert haben, empfehlen wir dies nun zu tun. Auch ein altes Passwort sollte aus Sicherheitsgründen geändert werden.</instruction> | 
 |       </enable> | 
 |  | 
 |     </emailProvider> | 
 |  | 
 |     <webMail> | 
 |       <loginPage url="https://<?=$mailcow_hostname; ?><?php if ($port != 443) echo ':'.$port; ?>/SOGo/" /> | 
 |     </webMail> | 
 | </clientConfig> |