Thunderbird:Backend Hacking Guide For Newbies: Difference between revisions

Line 199: Line 199:
* ...  
* ...  


=== Components of Thunderbird ===  
=== Major Thunderbird Components ===  
 
Currently, Thunderbird supports four different incoming (IMAP, POP3, NNTP, RSS) and one outgoing messaging protocols (SMTP). Each incoming protocol provide its own <code>IncomingServer</code> component implementation.
 
Each message channel is represented by an <code>Account</code> component, and all accounts are managed by <code>AccountManager</code>. Depending on its type, each account also has an associated <code>IncomingServer</code>.
 
<code>Identity</code> contains all the personal outgoing mail information
for a given person. Although all account types can have multiple associated identities by design, NNTP and RSS do not need this entity. ''(?is this a true statement?)''
 
<code>AddressBook</code> is the central repository of the user's contacts.
MORE INFO NEEDED HERE ABOUT ITS RELATION TO OTHER ENTITIES
 
<code>Folder</code> is the logical entity of message contents. Every account has a root folder, which has several subfolders (each potentially with their own subfolders, ad infinitum) which are actual folders on the hosting operating system.
 
<code>Database</code> component, on the other hand, is the physical store of message headers in '''Mork''' format. This store is the '''msf''' file, e.g. Inbox.msf or mozilla.dev.apps.thunderbird.msf.
 
[[Image:Tb-system-overview.png | TB Class diagram ]]
 
 
 
* MIME
* MIME
* IMAP
* IMAP
270

edits