// --------------- Konfiguration ab hier ----------------------
let response = "Darf ich Sie bitten, mir Ihre Post nochmals in korrektem Deutsch zu schicken? Leider lässt mein Eingangsfilter keine Nachrichten mit Gender* durch.
Mit den besten Grüßen,
NAME"
let folderForGenderMails = "Genderstern-Nachrichten";
let inboxFolder = "Posteingang";
// --------------- Konfiguration Ende -------------------------
Components.utils.import("resource:///modules/gloda/mimemsg.js");
let acctmgr = Cc["@mozilla.org/messenger/account-manager;1"]
.getService(Ci.nsIMsgAccountManager);
let copyService = Cc["@mozilla.org/messenger/messagecopyservice;1"]
.getService(Ci.nsIMsgCopyService);
let regex = /(er|nt|or|ad|nd|nt|är|at|e|st|eut|g)\*(i|I)n/i
// move mails
for (let index = 0; index < msgHdrs.length; index++)
{
let hdr = msgHdrs.queryElementAt(index, Ci.nsIMsgDBHdr);
let author = hdr.author;
let folders = acctmgr.allFolders;
let length = folders.length;
MsgHdrToMimeMessage(hdr, null, function (hdr, aMimeMessage) {
if(hdr.folder.name != inboxFolder ){
return;
}
let body = aMimeMessage.coerceBodyToPlaintext(hdr.folder)
let listener = Components.classes["@mozilla.org/network/sync-stream-listener;1"].createInstance(Components.interfaces.nsISyncStreamListener);
let uri = hdr.folder.getUriForMsg(hdr);
messenger.messageServiceFromURI(uri).streamMessage(uri, listener, null, null, false, "");
// check for genderstar
if(body.match(regex) == null && hdr.subject.match(regex) == null) {
return;
}
//end
for (let i = 0; i < length; i++) {
let folder = folders.queryElementAt(i, Ci.nsIMsgFolder);
if (folder.name == folderForGenderMails) {
let messages = Cc["@mozilla.org/array;1"].createInstance(Ci.nsIMutableArray);
messages.appendElement(hdr, false);
copyService.CopyMessages(hdr.folder, messages, folder, true,
null, msgWindow, false);
}
}
Components.utils.import("resource:///modules/mailServices.js");
let accounts = MailServices.accounts;
// Set the data of the message
let compFields = Components.classes["@mozilla.org/messengercompose/composefields;1"].createInstance(Components.interfaces.nsIMsgCompFields);
compFields.from = accounts.defaultAccount.defaultIdentity.email;
compFields.to = author;
if(hdr.subject.match(regex) == null){
compFields.subject = "Re: " + hdr.subject;
} else {
compFields.subject = "Re:" + hdr.subject.replace("*", "/");
}
compFields.body = response;
if(!compFields.attachments.hasMoreElements()){
compFields.body = compFields.body + "\r\n";
}
// send Mail
let msgComposeParams = Components.classes["@mozilla.org/messengercompose/composeparams;1"].createInstance(Components.interfaces.nsIMsgComposeParams);
msgComposeParams.composeFields = compFields;
let messengerComposer = Components.classes["@mozilla.org/messengercompose/compose;1"].createInstance(Components.interfaces.nsIMsgCompose);
let msgSend = Components.classes["@mozilla.org/messengercompose/send;1"].createInstance(Components.interfaces.nsIMsgSend);
messengerComposer.initialize(msgComposeParams);
messengerComposer.SendMsg(msgSend.nsMsgDeliverNow,
accounts.defaultAccount.defaultIdentity,
accounts.defaultAccount.key,
null,
null);
}, true);
}