[Mail] Offer complete Autodiscover (Outlook)
-
Hey,
Currently the Autodiscover is "kinda" half baked in Cloudron. It only offers "/.well-known/autoconfig/mail/config-v1.1.xml", which is a good start, but only works for "well made" E-Mail Clients like Thunderbird and it kinds. Normal clients don't check it.
For Outlook and Apple Mail
- Add the following syntax to /Autodiscover/Autodiscover.xml
<?xml version="1.0" encoding="utf-8" ?> <Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006"> <Response xmlns="{{schema}}"> <User> <DisplayName>{{email}}</DisplayName> </User> <Account> <AccountType>email</AccountType> <Action>settings</Action> <Protocol> <Type>IMAP</Type> <TTL>1</TTL> <Server>{{imap.host}}</Server> <Port>{{imap.port}}</Port> <LoginName>{{email}}</LoginName> <DomainRequired>on</DomainRequired> <DomainName>{{domain}}</DomainName> <SPA>off</SPA> <SSL>on</SSL> <AuthRequired>on</AuthRequired> </Protocol> </Account> <Account> <AccountType>email</AccountType> <Action>settings</Action> <Protocol> <Type>SMTP</Type> <TTL>1</TTL> <Server>{{smtp.host}}</Server> <Port>{{smtp.port}}</Port> <LoginName>{{email}}</LoginName> <DomainRequired>on</DomainRequired> <DomainName>{{domain}}</DomainName> <SPA>off</SPA> <SSL>on</SSL> <AuthRequired>on</AuthRequired> </Protocol> </Account> </Response> </Autodiscover>
- Add the SRV Record to the DNS Setup
- service: _autodiscover
- Protocol: _tcp
- Value: [example.example]
- Port: 443
- Priority: 5
- Weight: 0
- TTL: 3600 (or whatever you like)
For iOS (kinda workaround, harder to realize then the above)
iOS is kinda shitty in it. Here is the best. You should add a button for every accessible mailbox to the cp for the users which redirects to the following part. This way, user can easily add the Mail with just one click.
/email.mobileconfig?email=EMAIL_ADDRESS
This file should have the following syntax
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>HasRemovalPasscode</key> <false/> <key>PayloadContent</key> <array> <dict> <key>EmailAccountDescription</key> <string>{{email}}</string> <key>EmailAccountName</key> <string>{{email}}</string> <key>EmailAccountType</key> <string>EmailTypeIMAP</string> <key>EmailAddress</key> <string>{{email}}</string> <key>IncomingMailServerAuthentication</key> <string>EmailAuthPassword</string> <key>IncomingMailServerHostName</key> <string>{{imap.host}}</string> <key>IncomingMailServerPortNumber</key> <integer>{{imap.port}}</integer> <key>IncomingMailServerUseSSL</key> <true/> <key>IncomingMailServerUsername</key> <string>{{email}}</string> <key>OutgoingMailServerAuthentication</key> <string>EmailAuthPassword</string> <key>OutgoingMailServerHostName</key> <string>{{smtp.host}}</string> <key>OutgoingMailServerPortNumber</key> <integer>{{smtp.port}}</integer> <key>OutgoingMailServerUseSSL</key> <true/> <key>OutgoingMailServerUsername</key> <string>{{email}}</string> <key>OutgoingPasswordSameAsIncomingPassword</key> <true/> <key>PayloadDescription</key> <string>Configure Email Settings</string> <key>PayloadDisplayName</key> <string>{{email}}</string> <key>PayloadIdentifier</key> <string>com.tiliq.autodiscover.com.apple.mail.managed.7A981A9E-D5D0-4EF8-87FE-39FD6A506FAC</string> <key>PayloadType</key> <string>com.apple.mail.managed</string> <key>PayloadUUID</key> <string>7A981A9E-D5D0-4EF8-87FE-39FD6A506FAC</string> <key>PayloadVersion</key> <real>1</real> <key>SMIMEEnablePerMessageSwitch</key> <false/> <key>SMIMEEnabled</key> <false/> <key>disableMailRecentsSyncing</key> <false/> </dict> </array> <key>PayloadDescription</key> <string>Configure Email Settings</string> <key>PayloadDisplayName</key> <string>{{email}}</string> <key>PayloadIdentifier</key> <string>com.tiliq.autodiscover</string> <key>PayloadOrganization</key> <string>{{domain}}</string> <key>PayloadRemovalDisallowed</key> <false/> <key>PayloadType</key> <string>Configuration</string> <key>PayloadUUID</key> <string>48C88203-4DB9-49E8-B593-4831903605A0</string> <key>PayloadVersion</key> <integer>1</integer> </dict> </plist>
For the current implantation
The well known path is good. But you should also add the following CNAME Record to the domain.- Name: autoconfig
- Value: [example.example]
- TTL: 3600 (or whatever)
I hope I could at least give some help.