Version 2 (modified by anonymous, 14 years ago) (diff)


3.d Auto Reply To< ^Index^

4. how it works

You have now reached the more technical description of the extension. It's always good to know whats going on, so continue reading. Especially if you have problems describing a bug or requesting a feature, this might be helpful.

To make Virtual Identity compatible with most of the other extensions around it was required, that Virtual Identity doesn't changes too much in your mail client. While using Virtual Identity, there are three stages in which the extension is active and changes the behavior of Thunderbird/Seamonkey?.

  1. viewing a message
  2. starting Message-Compose Dialog
  3. sending / storing an email

viewing a message

If you view a message in the 3-pane base window (or as a separate Message) the extension tries to read and store the message-headers you possibly like to use later for the Smart Reply Feature. So, every time you select a different email, Virtual Identity reads the headers of those emails and stores them as parts of the email, to have them accessible once this message is used in the Message-Compose-Dialog. This is done in the functions contained in vI_getHeader.js

starting Message-Compose Dialog

If you load the Message-Compose Window the extension itself is initialized. Have a look in the partial flow-chart of the vIdentity.js to understand whats happening.

First the interface is adapted and the function, which usually sends the email is modified. After this some event-listeners are added to react, if you change for instance the recipients.

In the first stage of initialization the Identity Dropdown menu is replaced with an editable version. The old one is just hidden and is permanently kept synchronized to the current 'base' Identity of your Virtual Identity or to the current non-Virtual Identity. This ensures a high compatibility with Thunderbird/Seamonkey? itself but also with other extensions, cause they might rely on the fact, that the dropdown-menu contains a valid Identity which is known to the mail client.

If the Identity-dropdown-menu is cloned, smartIdentity is started. To understand the flow of Smart Identity have a look in the flow-chart.

sending / storing email

Sending and storing both uses the !genericSendMessage function with a different Send-Message type. Virtual Identity extends this function with its own one, which just creates a new Account and an Identity (stores the current Virtual Identity as if it was a permanent one). If the message is not only stored, but send somewhere, the extension stores the used Identities for every recipient (if activated). After this the !genericSendMessage is called in any case, and now the new Virtual Identity Account exists. If the !genericSendMessage Function terminates, the Account is removed (but see #12).

One problem existed in older versions, if you liked to reply to a newsgroup with a virtual Identity.

Usually every Account has an incoming server and some identities. Thinking of sending an email, it feels not relevant to know the incoming server, as long as you have a smtp-server for your mail it should be send. Thunderbird/Seamonkey? stores for newsgroup-account the newsserver as the incoming server, but uses it for receiving and sending news messages. Others than SMTP-servers newsservers are not stored outside the account, they are not re-used in the common mail-client use case.

To let Virtual Identity work, it has to use the use the same server, the only way to do this is to point to the one of a different Account. There is no indication that this should not work, but upcoming implementations or other extensions might not accept the handling of the incoming-servers this way - also if it's only for the short time of sending/storing an email.

3.d Auto Reply To< ^Index^