Thunderbird扩展:打开EML文件作为草稿

时间:2013-01-28 19:02:40

标签: javascript xul thunderbird thunderbird-addon

在我的first question之后,我现在正在寻找一种相同的方式,但我不想将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);

1 个答案:

答案 0 :(得分:0)

我建议将eml文件注入本地Drafts文件夹,以便获取nsIMsgDBHdr,然后使用ComposeMessage调用Ci.nsIMsgCompType.Draft, Ci.nsIMsgCompFormat.Default, yourMsgHdr.folder, yourMsgHdr'sURI函数。

我认为有关如何将给定消息注入文件夹的几个StackOverflow答案。