XSMTP Technical Documentation

De Trustedbird Client Wiki
English | Français

> Documentation > Add-on: XSMTP > Technical Documentation


Specifications

The standard reference for the implementation of this functionality is RFC 2822

Architecture

Synthetic presentation of the architecture of the extension

This functionality is developed as a Thunderbird extension.

  • Addition of the headers when a message is composed

Architecture

  • show the headers in the window which lists the messages

Architecture

The operation of this extension rests on:

  • Addition of an observer to the "compose" window so managing the insertion of the headers XSMTP at the time of the events of sending or recording of a message.
  • Addition of a listener on the window which list the messages in order to get and sort the headers XSMTP.

GUI files

  • The file messengercomposeXSMTPOverlay.xul overlay messengercompose.xul. It diplays the button XSMTP, allowing the opening of the dialogue box in which headers can be enter and uses the following javascript libraries:
    • messengercomposeXSMTPOverlay.js: control the recording and the addition of the headers XSMTP to the body of the message sent or recorded. It contains the observer of the action of sending or recording.
    • daterfc.js: with the preceding library, it control the insertion of the fields of dates to RFC format.
    • xsmtpHeaders.js : charge XSMTP headers at the time of the opening of recorded messages. This if no modification is made on those.

Sample of field control

  • The file messengercomposeXSMTP.xul allows the recording of the headers and uses the javascript libraries:
    • messengercomposeXSMTP.js : control the format of the headings.
    • xsmtpHeaders.js : load the headers XSMTP at the time of the opening of recorded messages. This in order to modify or to add the headings wanted.
  • The file messengerXSMTPOverlay.xul overlay messenger.xul. It puts up the value of the headers XSMTP in the columns corresponding and allows their sorting. It uses the following javascript libraries:
    • messengerXSMTPOverlay.js: get the values of each header, and add them with the corresponding column for the message concerned. It contains the listener carrying out sorts it columns.

XSMTP columns value

XPCOM files

This extension requires the modification of the file mozilla/mailnews/base/src/nsMsgDBView.cpp. (this file allows to sort the column XSMTP in the main window of Thunderbird)