[英]Thunderbird extension: open EML file as draft
在這里提出第一個問題之后,我現在正在尋找一種方法來做同樣的事情,但是我不想以消息形式打開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);
我建議將eml文件注入到本地Drafts文件夾中,以獲取nsIMsgDBHdr,然后使用Ci.nsIMsgCompType.Draft, Ci.nsIMsgCompFormat.Default, yourMsgHdr.folder, yourMsgHdr'sURI
調用ComposeMessage
函數。
我認為關於如何將給定消息注入文件夾有幾個StackOverflow答案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.