Monogramm / autodiscover-email-settings

:whale: :wrench: Provides Autodiscover capabilities for IMAP/POP/SMTP/LDAP services on Microsoft Outlook/Apple Mail and Autoconfig capabilities for Thunderbird
MIT License
116 stars 19 forks source link

Outlook cant do autodiscover #18

Open fuxx opened 2 years ago

fuxx commented 2 years ago

Describe the bug Hej @madmath03 :)

Thanks for this project, i am really looking forward to get it working :+1:

For my own domain voxellum.com i try to get the auto discovery working. So far only 1 out of 3 used clients work, which is Thunderbird. Outlook and Apple iOS's Mail does not autodetect the correct settings. Maybe the Apple client only works with the mobile config file which i can download, but i am not sure on that.

On Thunderbird it looks like that after the automatic discovery:

thunderbird

I tried to use the Outlook autodiscovery test tool which shows in my opinion the correct configuration, but the account setup never asks for the password, which it normally asks for if autoconfig works. For me it shows me manual protocol / service selection. Even after selecting IMAP it requires the entire manual setup, as shown in the next 2 screenshots. If i fill it out my account data manually my account works.

1 2

So far i have no idea left and have double checked everything i could, but i think after spending half a day on debugging that i can not find a way to get things working.

My current DNS setup, which include some extra entries, but the important ones from your documentation are present.

;; A Records
autoconfig.voxellum.com.    1   IN  A   116.202.134.15
autodiscover.voxellum.com.  1   IN  A   116.202.134.15
mx.voxellum.com.    1   IN  A   116.202.134.15

;; CNAME Records
imap.voxellum.com.  1   IN  CNAME   mx.voxellum.com.
mail.voxellum.com.  1   IN  CNAME   mx.voxellum.com.
pop3.voxellum.com.  1   IN  CNAME   mx.voxellum.com.
pop.voxellum.com.   1   IN  CNAME   mx.voxellum.com.
smtp.voxellum.com.  1   IN  CNAME   mx.voxellum.com.

;; MX Records
voxellum.com.   1   IN  MX  1 mx.voxellum.com.

;; SRV Records
_autodiscover._tcp.voxellum.com.    1   IN  SRV 0 0 443 autodiscover.voxellum.com.
_imaps._tcp.voxellum.com.   1   IN  SRV 0 0 993 imap.voxellum.com.
_imap._tcp.voxellum.com.    1   IN  SRV 0 1 143 imap.voxellum.com.
_ldap._tcp.voxellum.com.    1   IN  SRV 0 0 389 ldap.voxellum.com.
_pop3s._tcp.voxellum.com.   1   IN  SRV 0 1 995 pop3.voxellum.com.
_pop3._tcp.voxellum.com.    1   IN  SRV 0 1 110 pop3.voxellum.com.
_smtps._tcp.voxellum.com.   1   IN  SRV 0 1 587 smtp.voxellum.com.
_submission._tcp.voxellum.com.  1   IN  SRV 0 0 587 smtp.voxellum.com.

The current autodiscover URL is located at https://autodiscover.voxellum.com/

The auto configuration test tool of Outlook shows the following content which is correct, but seems not to be what Outlook wants:

autodiscovery


On the server-side is see that the autoconfiguration is send with a http status of 200. I double checked STARTTLS and SSL configurations and certificates with openssl and other tools to see if i maybe have a problem with the Lets Encrypt wildcard cert but everything was fine so far.

I would be very happy if you would have an idea what could be wrong in my setup or maybe you have another idea which could lead to success :-)

fuxx commented 2 years ago

@madmath03 are you alive?

xCykrix commented 2 years ago

I'm having this exact same issue and thought I was going crazy haha. I cannot get Outlook to auto-discover. Using https://testconnectivity.microsoft.com/tests/O365Ola/input shows that it can find the server, but it cannot "validate the settings" at the end. See results: RCATestResult.zip

To add the applicable information:

Certificate: LetsEncrypt SSL Registrar and DNS: Cloudflare

DNS:

;; A Records
autoconfig.mx.amethyst.live.    1   IN  A   144.76.69.43
autodiscover.mx.amethyst.live.  1   IN  A   144.76.69.43
mx.amethyst.live.   1   IN  A   144.76.69.43

;; CNAME Records
imap.mx.amethyst.live.  1   IN  CNAME   mx.amethyst.live.
pop3.mx.amethyst.live.  1   IN  CNAME   mx.amethyst.live.
smtp.mx.amethyst.live.  1   IN  CNAME   mx.amethyst.live.

;; MX Records
mx.amethyst.live.   1   IN  MX  10 mx.amethyst.live.

;; SRV Records
_autodiscover._tcp.mx.amethyst.live.    1   IN  SRV 0 0 443 autodiscover.amethyst.live.
_imaps._tcp.mx.amethyst.live.   1   IN  SRV 0 0 995 imap.mx.amethyst.live.
_pop3s._tcp.mx.amethyst.live.   1   IN  SRV 0 0 995 pop3.mx.amethyst.live.
_submission._tcp.mx.amethyst.live.  1   IN  SRV 0 0 587 smtp.mx.amethyst.live.

;; TXT Records
amethyst.live.  1   IN  TXT "mailconf=https://autoconfig.amethyst.live/mail/config-v1.1.xml"
mx.amethyst.live.   1   IN  TXT "mailconf=https://autoconfig.amethyst.live/mail/config-v1.1.xml"

My tidbit is in comparing against a known working auto-discover server is that the XML protocol tag should be all under one account tag, but it seems to give one account tag per protocol. Perhaps that could be a starting point? I also see that LoginName is being a bit weird but usually it appears fine from the check.

Known Good

<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
<Response xmlns="http://schemas.microsoft.com/exchange/autodiscover/outlook/responseschema/2006a">
<User>
<DisplayName>samuel.voeller@simplylunar.com</DisplayName>
</User>
<Account>
<AccountType>email</AccountType>
<Action>settings</Action>
<Protocol>
<Type>IMAP</Type>
<Server>mail.simplylunar.com</Server>
<Port>993</Port>
<DomainRequired>off</DomainRequired>
<SPA>off</SPA>
<SSL>on</SSL>
<AuthRequired>on</AuthRequired>
<LoginName>samuel.voeller@simplylunar.com</LoginName>
</Protocol>
<Protocol>
<Type>SMTP</Type>
<Server>mail.simplylunar.com</Server>
<Port>465</Port>
<DomainRequired>off</DomainRequired>
<SPA>off</SPA>
<SSL>on</SSL>
<AuthRequired>on</AuthRequired>
<LoginName>samuel.voeller@simplylunar.com</LoginName>
</Protocol>
</Account>
</Response>
</Autodiscover>

This XML

<Autodiscover xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
<Response xmlns="http://schemas.microsoft.com/exchange/autodiscover/responseschema/2006">
<User>
<DisplayName>Amethyst Email</DisplayName>
</User>
<Account>
<AccountType>email</AccountType>
<Action>settings</Action>
<ServiceHome>https://invite-to.amethyst.live</ServiceHome>
<Protocol>
<Type>IMAP</Type>
<TTL>1</TTL>
<Server>imap.mx.amethyst.live</Server>
<Port>995</Port>
<LoginName/>
<DomainRequired>on</DomainRequired>
<DomainName>mx.amethyst.live</DomainName>
<SPA>off</SPA>
<Encryption>SSL</Encryption>
<AuthRequired>on</AuthRequired>
</Protocol>
</Account>
<Account>
<AccountType>email</AccountType>
<Action>settings</Action>
<ServiceHome>https://invite-to.amethyst.live</ServiceHome>
<Protocol>
<Type>POP</Type>
<TTL>1</TTL>
<Server>pop3.mx.amethyst.live</Server>
<Port>995</Port>
<LoginName/>
<DomainRequired>on</DomainRequired>
<DomainName>mx.amethyst.live</DomainName>
<SPA>off</SPA>
<Encryption>SSL</Encryption>
<AuthRequired>on</AuthRequired>
</Protocol>
</Account>
<Account>
<AccountType>email</AccountType>
<Action>settings</Action>
<ServiceHome>https://invite-to.amethyst.live</ServiceHome>
<Protocol>
<Type>SMTP</Type>
<TTL>1</TTL>
<Server>stmp.mx.amethyst.live</Server>
<Port>587</Port>
<LoginName/>
<DomainRequired>on</DomainRequired>
<DomainName>mx.amethyst.live</DomainName>
<SPA>off</SPA>
<Encryption>TLS</Encryption>
<AuthRequired>on</AuthRequired>
</Protocol>
</Account>
</Response>
</Autodiscover>
xCykrix commented 2 years ago

@fuxx related to yours though. Autoconfig is used by thunderbird and auto discover for the other two. Just auto discover is problematic which is where our issue comes. If I don't see the author I'll likely fork and PR the fix so its at least there.

stale[bot] commented 2 years ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

HLFH commented 1 year ago

@madmath03 Could you reopen? It does not support for example Outlook 2021 for Mac, and autodiscovery at the moment as specified by @fuxx and @xCykrix.

madmath03 commented 1 year ago

Hello all,

I don't work at Monogramm anymore, I just happen to maintain some of the Open Source repos on my free time. I can reopen this issue, but I cannot provide any guarantee on fixing this.

If anyone has a working fix on a fork though, I will gladly merge a PR and update docker images.

burnbabyburn commented 1 year ago
  1. From O2016 on Disable Simpliefied Account Creation
    
    Windows Registry Editor Version 5.00

; REMOVE Office 365 Simplified Account Creation

[HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Outlook\Setup] "DisableOffice365SimplifiedAccountCreation"=dword:00000001


2. try [forked version](https://github.com/burnbabyburn/autodiscover-email-settings)

tested against [docker-mailserver](https://github.com/docker-mailserver/docker-mailserver)
madmath03 commented 1 year ago

@burnbabyburn could you provide a clean PR ? Can anybody else confirm that this fork fixes Outlook issues ?

burnbabyburn commented 1 year ago

@burnbabyburn could you provide a clean PR ? Can anybody else confirm that this fork fixes Outlook issues ?

K, will do AFAIR i just changed the xml schema and some xml properties and bumped the lib versions worked for my setup, as others milage will vary, i asked to test the fork :)

madmath03 commented 7 months ago

@burnbabyburn could you provide a clean PR ? Can anybody else confirm that this fork fixes Outlook issues ?

K, will do AFAIR i just changed the xml schema and some xml properties and bumped the lib versions worked for my setup, as others milage will vary, i asked to test the fork :)

I reverted the XML schema pqrt because I could not find any documentation about it, kept the restructured Autodiscover response and added properties for SSL based on the socket property.

I will keep this ticket open for some time, then close it if no more issues reported.