email: autoconfig for autoconfiguration (example: via thunderbird)
-
This works with a service subdomain + SRV record and is AFAIK not implemented in Cloudron yet.
Ressources:
- https://docs.microsoft.com/en-us/openspecs/exchange_server_protocols/ms-oxdisco/d912502b-c0e2-41a1-8b0e-f714ba523e08
- https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Autoconfiguration
- https://help.directadmin.com/item.php?id=661
- http://web.archive.org/web/20120828065248/http://moens.ch/2012/05/31/providing-email-client-autoconfiguration-information/
-
This is in our TODO list: https://git.cloudron.io/cloudron/box/issues/556 . I have added @subven suggestion there now.
-
I had autoconfig setup for business emails before cloudron. Here is the process I used:
Let's say you have the following domains:
test.com: The domain for which you want to have email autoconfig
my.test.com: The URL of your cloudron server that manages your email and will broadcast the autoconfig configuration.setup DNS entries in the test.com DNS
// entry for outlook (never tested since I only use thunderbird)
_autodiscover._tcp 600 IN SRV 0 0 443 my.test.com
// entry for thunderbird and others
autoconfig 600 IN CNAME my.test.com
smtp 600 IN CNAME my.test.com
imap 600 IN CNAME my.test.com// autoconfig.test.com does not need an SSL certificate
// smtp.test.com, imap.test.com must have an active SSL certificateCreate the mail directory and autoconfig file
in the webroot for autoconfig.test.com create the file
mail/config-v1.1.xml
Content of mail/config-v1.1.xml
// Here is a sample:
<?xml version="1.0" encoding="UTF-8"?> <clientConfig version="1.1"> <emailProvider id="my.test.com"> <domain>test.com</domain> <domain>another-domain.com</domain> <displayName>test.com</displayName> <displayShortName>Test</displayShortName> <incomingServer type="imap"> <hostname>imap.test.com</hostname> <port>993</port> <socketType>SSL</socketType> <authentication>password-cleartext</authentication> <username>%EMAILADDRESS%</username> </incomingServer> <outgoingServer type="smtp"> <hostname>smtp.test.com</hostname> <port>587</port> <socketType>STARTTLS</socketType> <authentication>password-cleartext</authentication> <username>%EMAILADDRESS%</username> </outgoingServer> </emailProvider> </clientConfig>
Nginx config
since autoconfig does not require any SSL certificate you can setup any autoconfig request to match the same config file. For cloudron it might be better to have one config file per domain?
server { listen 80; server_name autoconfig.*; root /var/www/autoconfig.test.com; access_log /var/log/nginx/autoconfig.test.com/access.log; error_log /var/log/nginx/autoconfig.test.com/error.log warn; location / { try_files $uri $uri/; } }
Aside note
in theory you should be able to not use imap.test.com and smtp.test.com, in practice though, I had trouble with thunderbird not recognizing the autoconfig without those 2 domains setup (it was 1 year ago, maybe it changed since)
Hope it helps! I'll be happy to assist implementing if interested
-
I have put instructions how to setup autoconfig for Thunderbird and Outlook here - https://cloudron.io/documentation/email/#autodiscover . I tested Thunderbird and that works well. I couldn't test Outlook because it seems old Outlook is not downloadable anymore and Outlook 365 uses some undocumented autodiscover.json method these days.
-
Hello, I have followed the instructions in the cloudron documentation and successfully set up autoconfig for my primary domain (domain1.com). Thanks for that!
I am also hosting other domains (domain2.com, domain3.com), on my cloudron server and was wondering how I could set autoconfig for them as well.
Do I create a similar config-v1.1.xml files on autoconfig.domain2.com, autoconfig.domain3.com etc or can I somehow edit the autoconfig.domain1.com/mail/config-v1.1.xml to include the additional domains?
-
@hakunamatata they would be separate. Hence the use of the first method may be better for a multi-domain setup.
-
@hakunamatata said in email: autoconfig for autoconfiguration (example: via thunderbird):
Do I create a similar config-v1.1.xml files on autoconfig.domain2.com, autoconfig.domain3.com etc or can I somehow edit the autoconfig.domain1.com/mail/config-v1.1.xml to include the additional domains?
My understanding is that you have to create separate configs i.e your former suggestion. After all, there is no way of knowing domain2's autoconfig is in domain1.
-
@robi said in email: autoconfig for autoconfiguration (example: via thunderbird):
This looks like it should simply be a checkbox in the UI, and Cloudron manages the ~yellowtent/boxdata/well-known/<domains> hierarchy.
Yes, correct. Except I broke this because I completely forgot about autoconfig well known support and only implemented mastodon and matrix Will get it fixed for 6.1.2.
-
@hakunamatata I have automated the mail autoconfig for all domains. It's part of 6.1.2. Should be out next week.
https://git.cloudron.io/cloudron/box/-/commit/ef68cb70c07f2abd524879aef70930b572f48917
-
Super! Thanks everyone!
-
@girish my server updated to 6.1.2 last night and the autoconfig doesn't seem to be working. /home/yellowtent/boxdata/well-known/ is empty.
-
@hakunamatata yes, it's migrated to the database now. The email auto configuration is also automatic. You can find settings in domains -> advanced
-
@girish I have an app installed on the bare domain as per the docs, however autoconfig is still not working on my end.
Is there supposed to be a setting that I need to enable in domains > advanced ? Because I don't see anything related to this in the settings.
-
@hakunamatata Can you try this
curl -v https://domain.com/.well-known/autoconfig/mail/config-v1.1.xml
. If that returns a 404, can you go the bare domain app's Location view and click save (no need to make any changes) and then run the curl again? -
@girish said in email: autoconfig for autoconfiguration (example: via thunderbird):
curl -v https://domain.com/.well-known/autoconfig/mail/config-v1.1.xml
That seems to have done the trick. Thanks!