|
@@ -1,5 +1,5 @@
|
|
|
<?php
|
|
|
-require_once $_SERVER['DOCUMENT_ROOT'] . '/inc/prerequisites.inc.php';
|
|
|
+require_once 'inc/prerequisites.inc.php';
|
|
|
|
|
|
if (empty($mailcow_hostname)) {
|
|
|
exit();
|
|
@@ -12,158 +12,163 @@ if (!isset($_SESSION['mailcow_cc_role']) || $_SESSION['mailcow_cc_role'] != 'use
|
|
|
error_reporting(0);
|
|
|
|
|
|
header('Content-Type: application/x-apple-aspen-config');
|
|
|
-header('Content-Disposition: attachment; filename="Mailcow.mobileconfig"');
|
|
|
+header('Content-Disposition: attachment; filename="'.$UI_TEXTS['main_name'].'.mobileconfig"');
|
|
|
|
|
|
$email = $_SESSION['mailcow_cc_username'];
|
|
|
$domain = explode('@', $_SESSION['mailcow_cc_username'])[1];
|
|
|
-$identifier = implode('.', array_reverse(explode('.', $domain))) . '.iphoneprofile.mailcow';
|
|
|
+$identifier = implode('.', array_reverse(preg_split( '/(@|\.)/', $email))) . '.appleprofile.'.preg_replace('/[^a-zA-Z0-9]+/', '', $UI_TEXTS['main_name']);
|
|
|
|
|
|
try {
|
|
|
$stmt = $pdo->prepare("SELECT `name` FROM `mailbox` WHERE `username`= :username");
|
|
|
$stmt->execute(array(':username' => $email));
|
|
|
$MailboxData = $stmt->fetch(PDO::FETCH_ASSOC);
|
|
|
+ $displayname = empty($MailboxData['name']) ? $email : $MailboxData['name'];
|
|
|
}
|
|
|
catch(PDOException $e) {
|
|
|
- die("Failed to determine name from SQL");
|
|
|
-}
|
|
|
-if (!empty($MailboxData['name'])) {
|
|
|
- $displayname = $MailboxData['name'];
|
|
|
-}
|
|
|
-else {
|
|
|
$displayname = $email;
|
|
|
}
|
|
|
|
|
|
+if (isset($_GET['only_email'])) {
|
|
|
+ $onlyEmailAccount = true;
|
|
|
+ $description = 'IMAP';
|
|
|
+} else {
|
|
|
+ $onlyEmailAccount = false;
|
|
|
+ $description = 'IMAP, CalDAV, CardDAV';
|
|
|
+}
|
|
|
+
|
|
|
echo '<?xml version="1.0" encoding="UTF-8"?>' . "\n";
|
|
|
?>
|
|
|
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
|
|
|
<plist version="1.0">
|
|
|
-<dict>
|
|
|
- <key>PayloadContent</key>
|
|
|
- <array>
|
|
|
- <dict>
|
|
|
- <key>CalDAVAccountDescription</key>
|
|
|
- <string><?php echo $domain; ?></string>
|
|
|
- <key>CalDAVHostName</key>
|
|
|
- <string><?php echo $autodiscover_config['caldav']['server']; ?></string>
|
|
|
- <key>CalDAVPort</key>
|
|
|
- <real><?php echo $autodiscover_config['caldav']['port']; ?></real>
|
|
|
- <key>CalDAVPrincipalURL</key>
|
|
|
- <string>/SOGo/dav/<?php echo $email; ?></string>
|
|
|
- <key>CalDAVUseSSL</key>
|
|
|
- <true/>
|
|
|
- <key>CalDAVUsername</key>
|
|
|
- <string><?php echo $email; ?></string>
|
|
|
- <key>PayloadDescription</key>
|
|
|
- <string>Configures CalDAV account.</string>
|
|
|
- <key>PayloadDisplayName</key>
|
|
|
- <string>CalDAV (<?php echo $domain; ?>)</string>
|
|
|
- <key>PayloadIdentifier</key>
|
|
|
- <string><?php echo $identifier; ?>.CalDAV</string>
|
|
|
- <key>PayloadOrganization</key>
|
|
|
- <string></string>
|
|
|
- <key>PayloadType</key>
|
|
|
- <string>com.apple.caldav.account</string>
|
|
|
- <key>PayloadUUID</key>
|
|
|
- <string>FC898573-EBA8-48AF-93BD-BFA0C9778FA7</string>
|
|
|
- <key>PayloadVersion</key>
|
|
|
- <integer>1</integer>
|
|
|
- </dict>
|
|
|
- <dict>
|
|
|
- <key>EmailAccountDescription</key>
|
|
|
- <string><?php echo $domain; ?></string>
|
|
|
- <key>EmailAccountType</key>
|
|
|
- <string>EmailTypeIMAP</string>
|
|
|
- <key>EmailAccountName</key>
|
|
|
- <string><?php echo $displayname; ?></string>
|
|
|
- <key>EmailAddress</key>
|
|
|
- <string><?php echo $email; ?></string>
|
|
|
- <key>IncomingMailServerAuthentication</key>
|
|
|
- <string>EmailAuthPassword</string>
|
|
|
- <key>IncomingMailServerHostName</key>
|
|
|
- <string><?php echo $autodiscover_config['imap']['server']; ?></string>
|
|
|
- <key>IncomingMailServerPortNumber</key>
|
|
|
- <integer><?php echo $autodiscover_config['imap']['port']; ?></integer>
|
|
|
- <key>IncomingMailServerUseSSL</key>
|
|
|
- <true/>
|
|
|
- <key>IncomingMailServerUsername</key>
|
|
|
- <string><?php echo $email; ?></string>
|
|
|
- <key>OutgoingMailServerAuthentication</key>
|
|
|
- <string>EmailAuthPassword</string>
|
|
|
- <key>OutgoingMailServerHostName</key>
|
|
|
- <string><?php echo $autodiscover_config['smtp']['server']; ?></string>
|
|
|
- <key>OutgoingMailServerPortNumber</key>
|
|
|
- <integer><?php echo $autodiscover_config['smtp']['port']; ?></integer>
|
|
|
- <key>OutgoingMailServerUseSSL</key>
|
|
|
- <true/>
|
|
|
- <key>OutgoingMailServerUsername</key>
|
|
|
- <string><?php echo $email; ?></string>
|
|
|
- <key>OutgoingPasswordSameAsIncomingPassword</key>
|
|
|
- <true/>
|
|
|
- <key>PayloadDescription</key>
|
|
|
- <string>Configures email account.</string>
|
|
|
- <key>PayloadDisplayName</key>
|
|
|
- <string>IMAP Account (<?php echo $domain; ?>)</string>
|
|
|
- <key>PayloadIdentifier</key>
|
|
|
- <string><?php echo $identifier; ?>.email</string>
|
|
|
- <key>PayloadOrganization</key>
|
|
|
- <string></string>
|
|
|
- <key>PayloadType</key>
|
|
|
- <string>com.apple.mail.managed</string>
|
|
|
- <key>PayloadUUID</key>
|
|
|
- <string>00294FBB-1016-413E-87B9-652D856D6875</string>
|
|
|
- <key>PayloadVersion</key>
|
|
|
- <integer>1</integer>
|
|
|
- <key>PreventAppSheet</key>
|
|
|
- <false/>
|
|
|
- <key>PreventMove</key>
|
|
|
- <false/>
|
|
|
- <key>SMIMEEnabled</key>
|
|
|
- <false/>
|
|
|
- </dict>
|
|
|
- <dict>
|
|
|
- <key>CardDAVAccountDescription</key>
|
|
|
- <string><?php echo $domain; ?></string>
|
|
|
- <key>CardDAVHostName</key>
|
|
|
- <string><?php echo $autodiscover_config['carddav']['server']; ?></string>
|
|
|
- <key>CardDAVPort</key>
|
|
|
- <integer><?php echo $autodiscover_config['carddav']['port']; ?></integer>
|
|
|
- <key>CardDAVPrincipalURL</key>
|
|
|
- <string>/SOGo/dav/<?php echo $email; ?></string>
|
|
|
- <key>CardDAVUseSSL</key>
|
|
|
- <true/>
|
|
|
- <key>CardDAVUsername</key>
|
|
|
- <string><?php echo $email; ?></string>
|
|
|
- <key>PayloadDescription</key>
|
|
|
- <string>Configures CardDAV accounts</string>
|
|
|
- <key>PayloadDisplayName</key>
|
|
|
- <string>CardDAV (<?php echo $domain; ?>)</string>
|
|
|
- <key>PayloadIdentifier</key>
|
|
|
- <string><?php echo $identifier; ?>.carddav</string>
|
|
|
- <key>PayloadOrganization</key>
|
|
|
- <string></string>
|
|
|
- <key>PayloadType</key>
|
|
|
- <string>com.apple.carddav.account</string>
|
|
|
- <key>PayloadUUID</key>
|
|
|
- <string>0797EF2B-B1F1-4BC7-ABCD-4580862252B4</string>
|
|
|
- <key>PayloadVersion</key>
|
|
|
- <integer>1</integer>
|
|
|
- </dict>
|
|
|
- </array>
|
|
|
- <key>PayloadDescription</key>
|
|
|
- <string>IMAP, CalDAV, CardDAV</string>
|
|
|
- <key>PayloadDisplayName</key>
|
|
|
- <string><?php echo $domain; ?> Mailcow</string>
|
|
|
- <key>PayloadIdentifier</key>
|
|
|
- <string><?php echo $identifier; ?></string>
|
|
|
- <key>PayloadOrganization</key>
|
|
|
- <string></string>
|
|
|
- <key>PayloadRemovalDisallowed</key>
|
|
|
- <false/>
|
|
|
- <key>PayloadType</key>
|
|
|
- <string>Configuration</string>
|
|
|
- <key>PayloadUUID</key>
|
|
|
- <string>5EE248C5-ACCB-42D8-9199-8F8ED08D5624</string>
|
|
|
- <key>PayloadVersion</key>
|
|
|
- <integer>1</integer>
|
|
|
-</dict>
|
|
|
+ <dict>
|
|
|
+ <key>PayloadContent</key>
|
|
|
+ <array>
|
|
|
+ <dict>
|
|
|
+ <key>EmailAccountDescription</key>
|
|
|
+ <string><?=$email?></string>
|
|
|
+ <key>EmailAccountType</key>
|
|
|
+ <string>EmailTypeIMAP</string>
|
|
|
+ <key>EmailAccountName</key>
|
|
|
+ <string><?=$displayname?></string>
|
|
|
+ <key>EmailAddress</key>
|
|
|
+ <string><?=$email?></string>
|
|
|
+ <key>IncomingMailServerAuthentication</key>
|
|
|
+ <string>EmailAuthPassword</string>
|
|
|
+ <key>IncomingMailServerHostName</key>
|
|
|
+ <string><?=$autodiscover_config['imap']['server']?></string>
|
|
|
+ <key>IncomingMailServerPortNumber</key>
|
|
|
+ <integer><?=$autodiscover_config['imap']['port']?></integer>
|
|
|
+ <key>IncomingMailServerUseSSL</key>
|
|
|
+ <true/>
|
|
|
+ <key>IncomingMailServerUsername</key>
|
|
|
+ <string><?=$email?></string>
|
|
|
+ <key>OutgoingMailServerAuthentication</key>
|
|
|
+ <string>EmailAuthPassword</string>
|
|
|
+ <key>OutgoingMailServerHostName</key>
|
|
|
+ <string><?=$autodiscover_config['smtp']['server']?></string>
|
|
|
+ <key>OutgoingMailServerPortNumber</key>
|
|
|
+ <integer><?=$autodiscover_config['smtp']['port']?></integer>
|
|
|
+ <key>OutgoingMailServerUseSSL</key>
|
|
|
+ <true/>
|
|
|
+ <key>OutgoingMailServerUsername</key>
|
|
|
+ <string><?=$email?></string>
|
|
|
+ <key>OutgoingPasswordSameAsIncomingPassword</key>
|
|
|
+ <true/>
|
|
|
+ <key>PayloadDescription</key>
|
|
|
+ <string>Configures email account.</string>
|
|
|
+ <key>PayloadDisplayName</key>
|
|
|
+ <string>IMAP Account (<?=$email?>)</string>
|
|
|
+ <key>PayloadIdentifier</key>
|
|
|
+ <string><?=$identifier?>.email</string>
|
|
|
+ <key>PayloadOrganization</key>
|
|
|
+ <string></string>
|
|
|
+ <key>PayloadType</key>
|
|
|
+ <string>com.apple.mail.managed</string>
|
|
|
+ <key>PayloadUUID</key>
|
|
|
+ <string><?=getGUID()?></string>
|
|
|
+ <key>PayloadVersion</key>
|
|
|
+ <integer>1</integer>
|
|
|
+ <key>PreventAppSheet</key>
|
|
|
+ <false/>
|
|
|
+ <key>PreventMove</key>
|
|
|
+ <false/>
|
|
|
+ <key>SMIMEEnabled</key>
|
|
|
+ <false/>
|
|
|
+ </dict>
|
|
|
+ <?php if($onlyEmailAccount === false): ?>
|
|
|
+ <dict>
|
|
|
+ <key>CalDAVAccountDescription</key>
|
|
|
+ <string><?=$email?></string>
|
|
|
+ <key>CalDAVHostName</key>
|
|
|
+ <string><?=$autodiscover_config['caldav']['server']?></string>
|
|
|
+ <key>CalDAVPort</key>
|
|
|
+ <real><?=$autodiscover_config['caldav']['port']?></real>
|
|
|
+ <key>CalDAVPrincipalURL</key>
|
|
|
+ <string>/SOGo/dav/<?=$email?></string>
|
|
|
+ <key>CalDAVUseSSL</key>
|
|
|
+ <true/>
|
|
|
+ <key>CalDAVUsername</key>
|
|
|
+ <string><?=$email?></string>
|
|
|
+ <key>PayloadDescription</key>
|
|
|
+ <string>Configures CalDAV account.</string>
|
|
|
+ <key>PayloadDisplayName</key>
|
|
|
+ <string>CalDAV (<?=$email?>)</string>
|
|
|
+ <key>PayloadIdentifier</key>
|
|
|
+ <string><?=$identifier?>.CalDAV</string>
|
|
|
+ <key>PayloadOrganization</key>
|
|
|
+ <string></string>
|
|
|
+ <key>PayloadType</key>
|
|
|
+ <string>com.apple.caldav.account</string>
|
|
|
+ <key>PayloadUUID</key>
|
|
|
+ <string><?=getGUID()?></string>
|
|
|
+ <key>PayloadVersion</key>
|
|
|
+ <integer>1</integer>
|
|
|
+ </dict>
|
|
|
+ <dict>
|
|
|
+ <key>CardDAVAccountDescription</key>
|
|
|
+ <string><?=$email?></string>
|
|
|
+ <key>CardDAVHostName</key>
|
|
|
+ <string><?=$autodiscover_config['carddav']['server']?></string>
|
|
|
+ <key>CardDAVPort</key>
|
|
|
+ <integer><?=$autodiscover_config['carddav']['port']?></integer>
|
|
|
+ <key>CardDAVPrincipalURL</key>
|
|
|
+ <string>/SOGo/dav/<?=$email?></string>
|
|
|
+ <key>CardDAVUseSSL</key>
|
|
|
+ <true/>
|
|
|
+ <key>CardDAVUsername</key>
|
|
|
+ <string><?=$email?></string>
|
|
|
+ <key>PayloadDescription</key>
|
|
|
+ <string>Configures CardDAV accounts</string>
|
|
|
+ <key>PayloadDisplayName</key>
|
|
|
+ <string>CardDAV (<?=$email?>)</string>
|
|
|
+ <key>PayloadIdentifier</key>
|
|
|
+ <string><?=$identifier?>.carddav</string>
|
|
|
+ <key>PayloadOrganization</key>
|
|
|
+ <string></string>
|
|
|
+ <key>PayloadType</key>
|
|
|
+ <string>com.apple.carddav.account</string>
|
|
|
+ <key>PayloadUUID</key>
|
|
|
+ <string><?=getGUID()?></string>
|
|
|
+ <key>PayloadVersion</key>
|
|
|
+ <integer>1</integer>
|
|
|
+ </dict>
|
|
|
+ <?php endif; ?>
|
|
|
+ </array>
|
|
|
+ <key>PayloadDescription</key>
|
|
|
+ <string><?=$description?></string>
|
|
|
+ <key>PayloadDisplayName</key>
|
|
|
+ <string><?=$email?></string>
|
|
|
+ <key>PayloadIdentifier</key>
|
|
|
+ <string><?=$identifier?></string>
|
|
|
+ <key>PayloadOrganization</key>
|
|
|
+ <string><?=$UI_TEXTS['main_name']?></string>
|
|
|
+ <key>PayloadRemovalDisallowed</key>
|
|
|
+ <false/>
|
|
|
+ <key>PayloadType</key>
|
|
|
+ <string>Configuration</string>
|
|
|
+ <key>PayloadUUID</key>
|
|
|
+ <string><?=getGUID()?></string>
|
|
|
+ <key>PayloadVersion</key>
|
|
|
+ <integer>1</integer>
|
|
|
+ </dict>
|
|
|
</plist>
|