Draft
This page is not complete.
This content covers features introduced in Thunderbird 3
This page contains a list of the interfaces that you'll will most likely use when writing extensions that work with email or other accounts. See Account examples for examples and code snippets.
nsIMsgAccountManager
nsIMsgAccountManager
is the service through which all accounts, identities, and servers can be retrieved. It is also responsible for the startup and shutdown handling of these objects, as well as the creation and destruction of accounts.
nsIMsgAccount
nsIMsgAccount
is the interface that represents an account. Accounts only contain a single server and at least one identity, although they are associated with preferences that extensions may use as a base. In general, only nsIMsgAccountManager
will be creating these.
nsIMsgIncomingServer
nsIMsgIncomingServer
is the interface that represents a server. Servers are one of the primary interfaces to the backend (the others being nsIMsgFolder
and nsIMsgDatabase
), and represent the basic connection to an external message source. Many of the attributes are ultimately shortcuts to various preferences (the preference key is the unique identifier for servers) and several are mostly used to impact UI choices. Most server implementations will also have another interface for protocol-specific attributes and methods.
nsIMsgIdentity
nsIMsgIdentity
is the interface that represents an identity. Identities are primarily composition configurations: options such as the email address or the compose drafts folder is stored here.
nsIMsgProtocolInfo
nsIMsgProtocolInfo
is the interface that represents permissible actions by protocol level. Most of the attributes are currently limited to account creation concerns, although some do impact UI choices.