簡體   English   中英

Thunderbird擴展:打開EML文件作為草稿

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM