Issue Description
AutoConfig
-
Should deliver a JMAP config. Currently there’s no JMAP at all. That prevents Parula from setting up a JMAP account. Stalwart is primarily JMAP, so why not advertize that? It should be the first = most preferred config. Thunderbird is written to ignore a “type” that it doesn’t understand, so no compat issues there.
-
Authentication should be
<authentication system="http">basic</authentication>, notauthentication>http-basic</authentication>. The latter was an outdated version of the spec - sorry for that. The system=“http” is in the latest version of the spec, not yet uploaded, but about to be published this or next week. Thunderbird ignores everything apart from IMAP, POP3 and SMTP right now, so no there are backwards compat problems with this change for TB. Parula reads these values and needs them as stated. Other clients can also use them, as the mechanism is designed to be generic and generally useful for all kinds of clients. -
For OAuth, use
<authentication>OAuth2</authentication>as you already do. Both for TCP- and HTTP-based protocols. -
<displayName>Pia Software</displayName>is the name of the email provider, i.e. the company, not the email address. Same for the<displayShortName>. An email client can always use the email address as account name, if it wants to, so putting the email address in there is not helpful. But e.g. Parula wants to use a pretty name for the company (and has logic to disambiguate when there are 2 accounts from the same company). If possible, both display name values should come from config fields in the Stalwart config, which reflects the name of the company or organisation. If that’s too difficult to add config fields in the admin UI, and also as default value for the field, please use the email domain (part after @).
Thanks for your support of the standard! Much appreciated.
Expected Behavior
<clientConfig version="1.1">
<emailProvider id="mail.pia.im">
<domain>mail.pia.im</domain>
<displayName>Pia Software</displayName>
<displayShortName>Pia</displayShortName>
<incomingServer type="jmap">
<hostname>mail.pia.im</hostname>
<port>443port>
<socketType>SSL</socketType>
<username>%EMAILADDRESS%</username>
<authentication>OAuth2</authentication>
</incomingServer>
<incomingServer type="imap">
<hostname>mail.pia.im</hostname>
<port>993</port>
<socketType>SSL</socketType>
<username>%EMAILADDRESS%</username>
<authentication>password-cleartext</authentication>
</incomingServer>
<incomingServer type="pop3">
<hostname>mail.pia.im</hostname>
<port>995</port>
<socketType>SSL</socketType>
<username>%EMAILADDRESS%</username>
<authentication>password-cleartext</authentication>
</incomingServer>
<outgoingServer type="smtp">
<hostname>mail.pia.im</hostname>
<port>465</port>
<socketType>SSL</socketType>
<username>%EMAILADDRESS%</username>
<authentication>password-cleartext</authentication>
</outgoingServer>
</emailProvider>
<calendar type="caldav">
<username>%EMAILADDRESS%</username>
<authentication system="http">basic</authentication>
<serverURL>https://mail.pia.im/dav/cal</serverURL>
</calendar>
<addressBook type="carddav">
<username>%EMAILADDRESS%</username>
<authentication system="http">basic</authentication>
<serverURL>https://mail.pia.im/dav/card</serverURL>
</addressBook>
<fileShare type="webdav">
<username>%EMAILADDRESS%</username>
<authentication system="http">basic</authentication>
<serverURL>https://mail.pia.im/dav/file</serverURL>
</fileShare>
<clientConfigUpdate url="https://autoconfig.mail.pia.im/mail/config-v1.1.xml"/>
</clientConig>
Actual Behavior
<clientConfig version="1.1">
<emailProvider id="mail.pia.im">
<domain>mail.pia.im</domain>
<displayName>%EMAILADDRESS%</displayName>
<displayShortName>mail.pia.im</displayShortName>
<incomingServer type="imap">
<hostname>mail.pia.im</hostname>
<port>993</port>
<socketType>SSL</socketType>
<username>%EMAILADDRESS%</username>
<authentication>password-cleartext</authentication>
</incomingServer>
<incomingServer type="pop3">
<hostname>mail.pia.im</hostname>
<port>995</port>
<socketType>SSL</socketType>
<username>%EMAILADDRESS%</username>
<authentication>password-cleartext</authentication>
</incomingServer>
<outgoingServer type="smtp">
<hostname>mail.pia.im</hostname>
<port>465</port>
<socketType>SSL</socketType>
<username>%EMAILADDRESS%</username>
<authentication>password-cleartext</authentication>
</outgoingServer>
</emailProvider>
<calendar type="caldav">
<username>%EMAILADDRESS%</username>
<authentication>http-basic</authentication>
<serverURL>https://mail.pia.im/dav/cal</serverURL>
</calendar>
<addressBook type="carddav">
<username>%EMAILADDRESS%</username>
<authentication>http-basic</authentication>
<serverURL>https://mail.pia.im/dav/card</serverURL>
</addressBook>
<fileShare type="webdav">
<username>%EMAILADDRESS%</username>
<authentication>http-basic</authentication>
<serverURL>https://mail.pia.im/dav/file</serverURL>
</fileShare>
<clientConfigUpdate url="https://autoconfig.mail.pia.im/mail/config-v1.1.xml"/>
</clientConfig>
Reproduction Steps
https://autoconfig.pia.im/mail/config-v1.1.xml
Stalwart Version
v0.16.x
Installation Method
Docker
Database Backend
RocksDB
Blob Storage
RocksDB
Search Engine
Internal
Directory Backend
Internal
Additional Context
I am the original author and maintainer of the AutoConfig protocol.
I have reviewed the documentation and FAQ and confirm that my issue is NOT addressed there.
on
I have searched this support forum (open and closed topics) and confirm this is not a duplicate.
on