Code: Select all
function checkSubFolders(aFolder) {
if (!aFolder.hasSubFolders) {
return;
}
var enumerator = aFolder.subFolders;
while (enumerator.hasMoreElements()) {
var folder = enumerator.getNext().QueryInterface(Components.interfaces.nsIMsgFolder);
//writeFile(file, account.incomingServer.prettyName + " " + folder.prettyName + '\n', false);
var enumerator1 = folder.messages;
// writeFile(file,enumerator1.length + '\n', false);
// while (enumerator1.hasMoreElements()) {
// var headerParser = Components.classes["@mozilla.org/messenger/headerparser;1"].getService(Components.interfaces.nsIMsgHeaderParser);
// var msgHdr = enumerator1.getNext().QueryInterface(Components.interfaces.nsIMsgDBHdr);
// var from = msgHdr.mime2DecodedAuthor;
// var to = msgHdr.mime2DecodedRecipients;
// var date = new Date(msgHdr.dateInSeconds * 1000).toLocaleString();
// var fromName = headerParser.extractHeaderAddressName(from);
// var fromMailboxes = headerParser.extractHeaderAddressMailboxes(from);
// writeFile(file, account.incomingServer.prettyName + " " + folder.prettyName + " " + fromName + " " + fromMailboxes +'\n', false);
// checkSubFolders(folder);
// }
checkSubFolders(folder);
}
}
function writeFile(nsiFile, data, overwrite) {
//overwrite is true false, if false then it appends
//nsiFile must be nsiFile
if (overwrite) {
var openFlags = FileUtils.MODE_WRONLY | FileUtils.MODE_CREATE | FileUtils.MODE_TRUNCATE;
} else {
var openFlags = FileUtils.MODE_WRONLY | FileUtils.MODE_CREATE | FileUtils.MODE_APPEND;
} //data is data you want to write to file
//if file doesnt exist it is created
var ostream = FileUtils.openFileOutputStream(nsiFile, openFlags);
ostream.write(data,data.length);
ostream.close();
}
var acctMgr = Components.classes['@mozilla.org/messenger/account-manager;1'].getService(Components.interfaces.nsIMsgAccountManager);
var accounts = acctMgr.accounts;
var file = Components.classes['@mozilla.org/file/local;1'].createInstance(Components.interfaces.nsIFile);
file.initWithPath('d:\\ttt.txt');
for (var i = 0; i < accounts.length; i++) {
var account = accounts.queryElementAt(i, Components.interfaces.nsIMsgAccount);
//writeFile(file,account.incomingServer.prettyName + "\n",false);
//console.log(account.incomingServer.prettyName);
checkSubFolders(account.incomingServer.rootFolder);
}
How do i pull the size.