【问题标题】:Thunderbird extension: open EML file as draftThunderbird 扩展:以草稿形式打开 EML 文件
【发布时间】:2013-01-28 19:02:39
【问题描述】:

在我的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);

【问题讨论】:

    标签: javascript xul thunderbird thunderbird-addon


    【解决方案1】:

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

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

    【讨论】:

    • 你如何将给定的消息注入到文件夹中?我似乎无法在 stackoverflow 上找到答案。
    猜你喜欢
    • 2012-06-14
    • 1970-01-01
    • 2017-09-19
    • 2021-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-30
    • 2011-12-16
    相关资源
    最近更新 更多