Javascript Thunderbid扩展名:打开eml文件

Javascript Thunderbid扩展名:打开eml文件,javascript,xul,thunderbird,thunderbird-addon,Javascript,Xul,Thunderbird,Thunderbird Addon,我已经创建了一个扩展,它执行以下操作: 当我使用命令行thunderbird-MyCustomParam1 12345运行Thinderbird时,我的扩展将打开一个compose窗口,并将参数12345添加到该窗口中 我使用的一些代码: //在调用代码中 变量args={ 参数1:12345, }; args.wrappedJSObject=args; var-watcher=Components.classes[@mozilla.org/embedcomp/windowwatcher;1]

我已经创建了一个扩展,它执行以下操作:

当我使用命令行thunderbird-MyCustomParam1 12345运行Thinderbird时,我的扩展将打开一个compose窗口,并将参数12345添加到该窗口中

我使用的一些代码:

//在调用代码中 变量args={ 参数1:12345, }; args.wrappedJSObject=args; var-watcher=Components.classes[@mozilla.org/embedcomp/windowwatcher;1] .getServiceComponents.interfaces.nsIWindowWatcher; watcher.openWindownull、url、windowName、功能、参数; //窗口中的代码 var args=window.arguments[0]。wrappedJSObject; 当然,使用正确的url和功能

现在我想做同样的事情,但是对于消息窗口和选择的am eml文件

您可以从以下命令行打开eml文件:Thunderbird test.eml这将在新窗口中打开邮件

我想要的是:

Thunderbird test.eml-MycustomParam1 1234应该打开邮件,并将参数1234添加到屏幕,这样我就可以在文档窗口中访问它,就像示例1一样

所以基本上我想要类似watcher.openWindow的东西,但是要有一个给定的eml文件


有什么想法吗?

您可以在中看到这是如何完成的,它是为文件/打开保存的消息菜单项调用的。基本上,您必须获取eml文件,然后在打开消息窗口之前更改查询字符串:

uri.QueryInterfaceMonents.interfaces.nsIURL; uri.query=type=application/x-message-display; watcher.openWindownull,chrome://messenger/content/messageWindow.xul,_blank, 全部,chrome,对话框=否,状态,工具栏,uri;
这个很好用。但是当我有html邮件时,它会以纯文本的形式打印邮件。有没有一种方法可以指定在打开文件时它是HTML邮件?回答上面评论中的问题: