Thunderbird Webui (lite)
<%
// TODO: support arbitrary levels of nesting
var pos = params.split(",");
var response = "";
if (pos.length != 2 ) {
response = "Invalid folder request.";
} else {
//' Find the account
var acctMgr =
Components.classes["@mozilla.org/messenger/account-manager;1"]
.getService(Components.interfaces.nsIMsgAccountManager)
;
var account = acctMgr.accounts.QueryElementAt(
pos[0], Components.interfaces.nsIMsgAccount
);
//' Navigate to the selected subfolder
var rootFolder = account.incomingServer.rootFolder;
var subFolders = rootFolder.subFolders;
for (var i = 0; i < pos[1]; i++) {
var folder = subFolders.getNext().QueryInterface(Components.interfaces.nsIMsgFolder);
}
response = "Folder: " + folder.prettiestName + " (" + rootFolder.prettiestName + ")
\n";
//' Retrieve last X messages
response += "Unread: " + folder.getNumUnread(true) + " of " + folder.getTotalMessages(true) + "
\n";
response += '\n';
var messageList = folder.messages; //.QueryInterface(Components.interfaces.nsIMsgHdr);
while (messageList.hasMoreElements()) {
var msg = messageList.getNext(); //.QueryInterface(Components.interfaces.nsIMsgHdr);
msg.QueryInterface(Components.interfaces.nsIMsgDBHdr);
response += '- ' + msg.subject + '
\n';
//'http://mxr.mozilla.org/comm-central/source/mailnews/base/public/nsIMsgHdr.idl
}
response += '
\n';
}
response;
%>