 9f0be1d8a8
			
		
	
	
		9f0be1d8a8
		
	
	
	
	
		
			
			[Web] Add system mails (send mails to all mailboxes via LMTP) [Web] Allow to add more administrators [Web] Fix domain administrator editing [Web] Remove some foreign keys [Web] Remove username from API [Web] Remove more .php extension from code [Web] More minor fixes
		
			
				
	
	
		
			99 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			99 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?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>
 |