javascript - 在 Thunderbird 扩展中获取选定的消息数据

标签 javascript xpcom thunderbird thunderbird-addon

我需要在 Thunderbird 扩展中获取一些电子邮件数据。我在 MDN ( https://developer.mozilla.org/en-US/docs/XPCOM_Interface_Reference/nsIMsgMessageService ) 上找到了这个示例:

var content = "";
  var MessageURI = GetFirstSelectedMessage();
  var MsgService = messenger.messageServiceFromURI(MessageURI);
  var MsgStream =  Components.classes["@mozilla.org/network/sync-stream-listener;1"].createInstance();
  var consumer = MsgStream.QueryInterface(Components.interfaces.nsIInputStream);
  var ScriptInput = Components.classes["@mozilla.org/scriptableinputstream;1"].createInstance();
  var ScriptInputStream = ScriptInput.QueryInterface(Components.interfaces.nsIScriptableInputStream);
  ScriptInputStream.init(consumer);
  try {
    MsgService.streamMessage(MessageURI, MsgStream, msgWindow, null, false, null);
  } catch (ex) {
    alert("error: "+ex)
  }
  ScriptInputStream .available();
  while (ScriptInputStream .available()) {
    content = content + ScriptInputStream .read(512);
  }
  alert(content);

但是,当我运行它时,出现以下错误:

Timestamp: 2013.06.21. 14:47:21
Error: ReferenceError: GetFirstSelectedMessage is not defined
Source File: chrome://edus_extension/content/messengerOverlay.js
Line: 90

这个“GetFirstSelectedMessage”函数是什么?如何在不使用它的情况下获取消息 URI?

最佳答案

该文档看起来相当过时。我建议:

  • 使用 gFolderDisplay.selectedMessage(尝试在错误控制台中输入 top.opener.gFolderDisplay.selectedMessage),
  • 阅读一些最近使用 ServicesMailServices 的代码,以简化您的代码。

话虽如此,我不知道您想要实现什么目标,但是:

祝你好运,一旦您获得工作示例,请将其添加到 MDN wiki!

干杯,

乔纳森

关于javascript - 在 Thunderbird 扩展中获取选定的消息数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17235419/

相关文章:

javascript - 如何从 nsIDOMWindow 获取 Tab?

firefox-addon - Firefox 引导扩展 : Get native HWND handle of the browser window

imap - Mozilla Thunderbird 如何使用 IMAP 主机和端口的 RDF 数据库

pgp - 禁用 Thunderbird 7 8's "附加我的公钥”

javascript - 使用formidable和vue js上传多个文件

javascript - 等待 promise 内的函数完成

javascript - 如何使用 D3 将 JSON 数据更改为 Javascript 对象数组

javascript - 这个对象的类型是什么?它在哪里记录?

upload - 将下载的电子邮件放回 POP3 服务器

javascript - 为什么我必须绑定(bind)这个函数参数?