A KDE Tool to Manage and Read E-Mail
KShowmail Shows Potential -- But It Can Delete the Wrong Messages
Mike Angelo -- 6 December 2003 (C) -- Page 1
You also can use KShowmail to list locally the mail on the POP3 server. The list shows the message number, message size, subject, sender, date, and so forth. KShowmail also can show the e-mail headers, display entire messages, or remove mail from the POP3 server -- all from your local computer. (Please see Figure 1, below.)
If you have only one computer and normally have your e-mail reader set to delete messages from the POP3 server when you download your mail, you likely would have no reason to use KShowmail. However, if you would like to be able to check your e-mail from any of several different computers or if you have your e-mail reader set to leave messages on the POP3 server when you check your mail, then KShowmail can be a very handy e-mail tool for you.
Unfortunately, however, there appears to be a bug in KShowmail that can result in the wrong messages being deleted from the POP3 server account. So far, we have tested KShowmail on SUSE Linux 9.0 Professional with the version that SUSE packages and distributes with SUSE 9.0. That version of KShowmail is 3.0.5 running in KDE 3.1.4.
MozillaQuest Magazine discovered this problem Wednesday while conducting evaluation tests of SUSE Linux 9.0 Professional. Incidentally, we have not finished our SUSE 9.0 evaluation yet -- however, so far SUSE 9.0 Professional looks like a darn nice distribution and a darn nice desktop Linux.
Since discovering the wrongful message deletion problem, we have engaged in extensive e-mail discussions with KShowmail author Eggert Ehmke. We also have been discussing this with the SUSE people too.
In these discussions, Eggert Ehmke told MozillaQuest Magazine: the problem is not SUSE related.
SUSE spokesperson Martina Krahmer told MozillaQuest Magazine: We have carefully checked this and found that the package was not damaged in its functionality by SUSE. In fact, the changes made by SUSE have provided assurance that the program can be compiled.
From the discussions with Eggert Ehmke, it appears this problem might occur only in certain circumstances and use conditions. So, if you use KShowmail you might want to check to see if the message deletion function is working correctly for you. If not, you still can use all the other handy functions and features of KShowmail.
The incorrect mail deletion problem seems to involve the e-mail message-index list displayed in KShowmail getting out of synchronization with the e-mail message list for the corresponding POP3 server account. The e-mail message list for KShowmail is the bottom panel in Figure 1, below.
Eggert Ehmke: the local list can only deviate from the server index if between refresh and delete the server index has changed. This can happen, but should not under normal circumstances.
If you have not already tried KShowmail, you ought to try it. It's part of the KDE collection of applications that comes with many GNU-Linux distributions. It's also freely available for downloading. (Links in the Resources section at end of this article.) Just be very careful if you decide to try the message deletion feature.
As we were about to go to press with this story, Eggert Ehmke let us know that he thinks he has a fix for the message deletion bug. Of course, once Eggert has fixed the bug you will need to update your copy of KShowmail with the patched version. You can check back here for an update when the bug is fixed.
There is a bug report about this message deletion problem. You can check the bug report for the latest status of the bug. Or if you would like to help fix this problem, you can add your comments to the bug report. (Links in the Resources section at end of this article on page 2.)
About E-Mail Indexing and Identification
If you look at a list of e-mail messages in a POP3 mail server account, you will notice the messages are indexed in such a way that each message has an index or list number. The numbers start at "1" for the oldest message in the POP 3 account and run consecutively up to the newest message in the POP3 account. Thus, if there are 759 messages in the POP3 server account, the oldest message is indexed as number "1" and the newest message is indexed as number "759"
As messages are deleted or added (delivered) to the POP3 account, the index/list numbers are shuffled so that the numbers continue to start at "1" for the oldest message in the POP 3 account and run consecutively up to the newest message in the POP3 account. Thus, if
This is the re-indexing to which Eggert refers.
E-Mail Lists Synchronization and the Message Deletion Bug
If the message list indexing on the POP3 server account and the local KShowmail message-list display-panel get out of synchronization with each other, then the message selected for deletion in KShowmail is not the message that will be deleted in the POP3 server account. That's because KShowmail uses message list/index numbers to tell the POP3 server which messages to delete.
For example, let's add a third message to the two discussed above. Let's say that before any deletions,
However, let's also say that the KShowmail list does not re-synchronize with the POP3 server account list.
KShowmail will delete message number "2" on the POP3 server account, which now is the John Doe message, rather than the Jane FOO message. Thus in this scenario, the message selected in KShowmail is not deleted on the POP3 server. But a message NOT selected for deletion, the John Doe message, incorrectly gets deleted.
If the user hits the refresh button before selecting messages in the KShowmail list just before selecting messages for deletion, the KShowmail and POP3 server account lists should be in sync -- and everything should work OK.
However, if the user deletes some messages via KShowmail and then deletes another message or more messages without hitting the refresh button, the KShowmail list and the POP3 server account list might be out of sync. The result then is deletion of the wrong e-mail messages.
In our e-mail discussions, Eggert Ehmke mentioned that this situation occurs only when there is a large number of messages in the POP3 account. According to Eggert Ehmke, when there is a large number of messages in the POP3 account the user can delete more messages before re-indexing of the KShowmail message list is completed -- thus throwing the KShowmail and POP3 account message lists indexing out of sync with each other.
At press time, Eggert Ehmke let us know that he now has a patch in which KShowmail user actions are disabled until re-indexing is completed.
Is Netscape Losing the Browser Wars?