The documentation for FiltaQuilla's more complex features is lacking. To try to help that, here is some example code.
sender:jslr[0-9][0-9]\.fr
recipients:/work-(.+)@abc\.com/i
subject:Case \d+ Dispatched
Per this page, some common headers are:
/somename/.test( message.getStringProperty('sender') );
/somename/.test( message.getStringProperty('replyTo') );
let tags = message.getStringProperty('keywords');
(/pro/.test(tags) && !(/done/.test(tags));
let sentDate = new Date(message.date/1000); (sentDate.getHours() >= 12 && sentDate.getHours() < 18)Example from here:
logger = 'MESSAGE : ' + message.getStringProperty('subject') + '\n';
let evohdr = message.getStringProperty('x-evolution');
logger += 'THUNDERBIRD FLAGS BEFORE : ' + message.flags + '\n';
evostatus = evohdr.substring(evohdr.length - 4, evohdr.length);
logger += 'EVOLUTION HEXA : ' + evostatus + '\nSTATUS : \n';
var hexevostatus = parseInt(evostatus, 16);
var flags = message.flags;
deleted = false;
if (hexevostatus & 1<<0) {
logger += ' * is answered\n';
flags = flags | 1<<1
}
if (hexevostatus & 1<<1) {
logger += ' * is deleted\n';
deleted = true;
}
if (hexevostatus & 1<<3) {
logger += ' * is marked as important\n';
flags = flags | 1<<2
}
if (hexevostatus & 1<<4) {
logger += ' * is read\n';
flags = flags | 1<<0
}
if (hexevostatus & 1<<5) {
logger += ' * has attachment(s)\n';
flags = flags | 1<<28
}
if (hexevostatus & 1<<7) {
logger += ' * is junk\n';
message.setStringProperty('junkscore', 100);
message.setStringProperty('junkscoreorigin','user');
}
if (hexevostatus & 1<<11) {
logger += ' * has been marked as not junk (no action)\n';
}
if (hexevostatus & 1<<12) {
logger += ' * has been forwarded\n';
flags = flags | 1<<12
}
message.flags = flags;
logger += 'THUNDERBIRD FLAGS SET TO : ' + flags + '\n';
logger +='WILL DELETE ? : ' + deleted;
Cc["@mozilla.org/consoleservice;1"]
.getService(Ci.nsIConsoleService)
.logStringMessage(logger);
for (let index = 0; index < msgHdrs.length; index++)
{
let hdr = msgHdrs.queryElementAt(index, Ci.nsIMsgDBHdr);
hdr.subject = "[Hello, world] " + hdr.subject;
}
From here:
msgHdrs.queryElementAt(0, Ci.nsIMsgDBHdr).folder.deleteMessages(msgHdrs, msgWindow, true, false, null, false);