Adding Exchange ActiveSync configs to the Mozilla ISP DB?

Christian Rößner cr at sys4.de
Fri Nov 30 09:56:07 UTC 2012


Hi,

I am not sure, if I got the point of this topic and this is my first post here, so hopefully I can provide useful information.

>> Exchange does have the Autodiscovery service, which we already try in our code. The logic is as follows:
>> 
>> 1) Check hardcoded account settings for the domain (for unit tests)
>> 2) Check locally stored XML config files in Gaia for the domain
>> 4) Look on the domain for an XML config file at
>>    `http://autoconfig.<domain>/mail/config-v1.1.xml` and
>> `http://<domain>/.well-known/autoconfig/mail/config-v1.1.xml`
>> 5) Query the domain for ActiveSync Autodiscover at
>>    `https://<domain>/autodiscover/autodiscover.xml` and
>> `https://autodiscover.<domain>/autodiscover/autodiscover.xml`
>> 6) Check the Mozilla ISPDB for an XML config file for the domain
>> 7) Perform an MX lookup on the domain, and, if we get a different
>>    domain, check the Mozilla ISPDB for that domain too.
>> 
>> Unfortunately for us, many servers (even Microsoft-hosted ones) don't support Autodiscovery. In fact, it seems that every Hotmail domain other than hotmail.com doesn't support Autodiscovery. Thus, we need to have our own autoconfig files. For the time being, we're storing them locally (see step 2), but we might end up at a point where that's untenable if there are too many such domains, hence my email.
> 
> You are leaving out 2 steps of Microsoft Autodiscover. Is that intentional?
> 
> One is to allow a redirect from autodiscover.<domain>/autodiscover/autodiscover.xml  Although I guess in theory that should happen automatically, I've had issues with that so I do this step manually myself.
> 
> A second is to lookup a DNS SRV record to find the autodiscover domain. This of course is a long-standing missing feature of Mozilla core code, and requires a separate service to implement.
> 
> These are the methods that would typically be used by someone who has outsourced email to a server on a different domain.

I have written the code of automx (http://www.automx.org/en/), which "tries" to implement the autoconfig and the autodiscover protocols. I already have done full support for autoconfig. AutoDiscover makes problems with SRV records (at least with iOS devices). I never tried GET-redirect method. Even thunderbird does not support SRV, you can use redirect perfectly. So I see no missing feature here.

Just to give an example:

Testing Autoconfig ...
Connecting to http://autoconfig.250ok.de/mail/config-v1.1.xml?emailaddress=mail@250ok.de ...

  HTTP/1.1 302 Found
  Date: Fri, 30 Nov 2012 09:51:50 GMT
  Server: Apache/2.2.22
  X-Frame-Options: SAMEORIGIN
  Location: https://www.roessner-net.de/mail/config-v1.1.xml?emailaddress=mail@250ok.de
  Vary: Accept-Encoding
  Content-Length: 259
  Keep-Alive: timeout=5, max=100
  Connection: Keep-Alive
  Content-Type: text/html; charset=iso-8859-1
  HTTP/1.1 200 OK
  Date: Fri, 30 Nov 2012 09:51:50 GMT
  Server: Apache/2.2.22
  X-Frame-Options: SAMEORIGIN
  Content-Length: 1115
  Vary: Accept-Encoding
  Keep-Alive: timeout=5, max=100
  Connection: Keep-Alive
  Content-Type: text/xml
<?xml version='1.0' encoding='utf-8'?>
<clientConfig version="1.1">
  <emailProvider id="roessner-net.de">
    <domain>filter.250ok.de</domain>
    <displayName>R.N.S.</displayName>
    <displayShortName>R.N.S.</displayShortName>
    <outgoingServer type="smtp">
      <hostname>mail.roessner-net.de</hostname>
      <port>587</port>
      <socketType>STARTTLS</socketType>
      <authentication>password-cleartext</authentication>
      <username>mail</username>
      <useGlobalPreferredServer>yes</useGlobalPreferredServer>
    </outgoingServer>
    <incomingServer type="pop3">
      <hostname>mail.roessner-net.de</hostname>
      <port>110</port>
      <socketType>STARTTLS</socketType>
      <authentication>password-cleartext</authentication>
      <username>Christian-Test</username>
    </incomingServer>
    <incomingServer type="imap">
      <hostname>mail.roessner-net.de</hostname>
      <port>143</port>
      <socketType>STARTTLS</socketType>
      <authentication>password-cleartext</authentication>
      <username>mail.250ok.de</username>
    </incomingServer>
  </emailProvider>
</clientConfig>

Location is pointing to another domain. You can do so by setting CNAME in DNS or adding a little VirtualHost with redirect. Hope I don't miss the topic here.

-Christian Rößner

--
[*] sys4 AG

http://sys4.de, +49 (89) 30 90 46 64
Franziskanerstraße 15, 81669 München

Sitz der Gesellschaft: München, Amtsgericht München: HRB 199263
Vorstand: Patrick Ben Koetter, Axel von der Ohe, Marc Schiffbauer
Aufsichtsratsvorsitzender: Joerg Heidrich




More information about the tb-planning mailing list