3
edits
(→XML: Move <inputField> and <enable> outside <emailProvider>, because they apply to calendar etc., too.) |
Chris Caven (talk | contribs) (spelling) |
||
(6 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
Author: [[User:BenB|Ben Bucksch]]. Please do not change this doc without checking with the author. | Author: [[User:BenB|Ben Bucksch]]. Please do not change this doc without checking with the author. | ||
This page is the | This page is the authoritative specification of the config file that the Mozilla ISPDB and config services at ISPs return. | ||
It is XML, with a clearly defined format, to be stable and usable by other mail clients, too. Update Aug 2010: In fact, [http://projects.gnome.org/evolution/ Evolution] and [http://userbase.kde.org/KMail KMail] and [http://www.kontact.org Kontact] now use it, too. | It is XML, with a clearly defined format, to be stable and usable by other mail clients, too. Update Aug 2010: In fact, [http://projects.gnome.org/evolution/ Evolution] and [http://userbase.kde.org/KMail KMail] and [http://www.kontact.org Kontact] now use it, too. | ||
Line 108: | Line 108: | ||
<password>optional: the user's password</password> | <password>optional: the user's password</password> | ||
</outgoingServer> | </outgoingServer> | ||
<!-- Add this only when users (who already have an account) have to | |||
do something manually before the account can work with IMAP/POP or SSL. | |||
Note: Per XML, & (ampersand) needs to be escaped to & a m p ; | |||
(without spaces). | |||
Not yet implemented, see bug 586364. --> | |||
<enable | |||
visiturl="https://mail.google.com/mail/?ui=2&shva=1#settings/fwdandpop"> | |||
<instruction>Check 'Enable IMAP and POP' in Google settings page</instruction> | |||
<instruction lang="de">Schalten Sie 'IMAP und POP aktivieren' auf der Google Einstellungs-Seite an</instruction> | |||
</enable> | |||
<!-- A page where the ISP describes the configuration. | <!-- A page where the ISP describes the configuration. | ||
Line 126: | Line 137: | ||
</emailProvider> | </emailProvider> | ||
<!-- Syncronize the user's address book / contacts. Not | <!-- Syncronize the user's address book / contacts. Not implemented. Thunderbird uses RFC 6764 to do auto discovery. --> | ||
<!-- TODO: delete this section!! --> | |||
<addressBook type="carddav"> | <addressBook type="carddav"> | ||
<username>%EMAILADDRESS%</username> | <username>%EMAILADDRESS%</username> | ||
Line 143: | Line 155: | ||
</addressBook> | </addressBook> | ||
<!-- Syncronize the user's calendar. Not | <!-- Syncronize the user's calendar. Not implemented. Thunderbird uses RFC 6764 to do auto discovery. --> | ||
<!-- TODO: delete this section!! --> | |||
<calendar type="caldav"> | <calendar type="caldav"> | ||
<username>%EMAILADDRESS%</username> | <username>%EMAILADDRESS%</username> | ||
Line 150: | Line 163: | ||
</calendar> | </calendar> | ||
<!-- Upload files, allowing the user to share them. Not | <!-- Upload files, allowing the user to share them. Not implemented. | ||
This can be used for Thunderbird's FileLink feature, | This can be used for Thunderbird's FileLink feature, | ||
or to set up a file sync folder on the user's desktop. --> | or to set up a file sync folder on the user's desktop. --> | ||
<!-- TODO: delete this section!! Obsoleted by RFC 6764. --> | |||
<fileShare type="webdav"> | <fileShare type="webdav"> | ||
<username>%EMAILADDRESS%</username> | <username>%EMAILADDRESS%</username> | ||
Line 204: | Line 218: | ||
<inputField key="USERNAME" label="Screen name"></inputField> | <inputField key="USERNAME" label="Screen name"></inputField> | ||
<inputField key="GRANDMA" label="Grandma">Elise Bauer</inputField> | <inputField key="GRANDMA" label="Grandma">Elise Bauer</inputField> | ||
<clientConfigUpdate url="https://www.example.com/config/mozilla.xml" /> | <clientConfigUpdate url="https://www.example.com/config/mozilla.xml" /> | ||
Line 268: | Line 271: | ||
A server using OAuth2 auth looks this: | A server using OAuth2 auth looks this: | ||
<pre> | <pre> | ||
... | |||
<incomingServer type="imap"> | <incomingServer type="imap"> | ||
<hostname>imap.gmail.com</hostname> | <hostname>imap.gmail.com</hostname> | ||
Line 275: | Line 279: | ||
<authentication>OAuth2</authentication> | <authentication>OAuth2</authentication> | ||
<authentication>password-cleartext</authentication> | <authentication>password-cleartext</authentication> | ||
</incomingServer> | </incomingServer> | ||
</emailProvider> | |||
<oAuth2> | |||
<issuer>login.yahoo.com</issuer> | |||
<scope>mail-w</scope> | |||
<authURL>https://api.login.yahoo.com/oauth2/request_auth</authURL> | |||
<tokenURL>https://api.login.yahoo.com/oauth2/get_token</tokenURL> | |||
</oAuth2> | |||
</pre> | </pre> | ||
Line 287: | Line 293: | ||
Note that there are two `<authentication>` elements. This allows a fallback, in case a client does not support OAuth2 or does not have a client key for this OAuth2 issuer and therefore cannot authenticate with this issuer. | Note that there are two `<authentication>` elements. This allows a fallback, in case a client does not support OAuth2 or does not have a client key for this OAuth2 issuer and therefore cannot authenticate with this issuer. | ||
Scope: If we set up email, address book, calendar, and webdav, we do *not* want the user go have to go through 4 authentication processes. Yet, a provider might use different scopes for email and calendar, and that is in line with the OAuth2 spec. The solution is to combine several scopes, using [https://tools.ietf.org/html/rfc6749#section-3.3 spaces as separator], in a single auth request. [https://stackoverflow.com/questions/8449544/multiple-scope-values-to-oauth2/51437063#51437063 The order is important]. That's why we deliberately do not make the scope specific to a service or server, but to the entire configuration. We don't want the user to have to authenticate several times in a row. This is a requirement from the end user. | |||
= TODO = | = TODO = |
edits