Расширение Thunderbird: открыть файл EML как черновик

После моего первого вопроса здесь я ищу способ сделать то же самое, но вместо того, чтобы открывать EML как сообщение, я хочу открыть его как черновик.

По сути, я хочу загрузить сгенерированный файл EML в окно создания, чтобы я мог напрямую отправить его.

Я уже нашел некоторый код, но не могу найти правильную документацию о том, как его использовать.

var filePath = new FileUtils.File(getPath(params));           
var uri = io.newFileURI(filePath);  

var msgComposeService = Components.classes["@mozilla.org/messengercompose;1"].getService(Components.interfaces.nsIMsgComposeService);
var  messenger = Components.classes["@mozilla.org/messenger;1"].createInstance(Components.interfaces.nsIMessenger);

var hdr = messenger.msgHdrFromURI(uri.spec);
var identity = getIdentityForHeader(hdr, Components.interfaces.nsIMsgCompType.Draft);
var msgWindow = Components.classes["@mozilla.org/messenger/msgwindow;1"].createInstance(Components.interfaces.nsIMsgWindow);
msgComposeService.OpenComposeWindow(null,null,uri,Components.interfaces.nsIMsgCompType.Draft,Components.interfaces.nsIMsgCompFormat.Default,identity,msgWindow);

person user2019256    schedule 28.01.2013    source источник


Ответы (1)


Я бы предложил внедрить файл eml в локальную папку Drafts, чтобы получить nsIMsgDBHdr, а затем вызвать функцию ComposeMessage с помощью Ci.nsIMsgCompType.Draft, Ci.nsIMsgCompFormat.Default, yourMsgHdr.folder, yourMsgHdr'sURI.

Я думаю, что есть несколько ответов StackOverflow о том, как вставить данное сообщение в папку.

person Jonathan Protzenko    schedule 31.01.2013
comment
И как вы вставляете данное сообщение в папку? Я не могу найти ответ на stackoverflow. - person user2019256; 14.02.2013