问题标签 [thunderbird-addon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
286 浏览

javascript - Thunderbird 附加组件开发基础知识

我正在尝试遵循 https://developer.mozilla.org/en-US/docs/Extensions/Thunderbird/Creating_a_Custom_Column上的教程

但在新列中显示发件人的电子邮件地址,而不是回复值。

我尝试了我能想到的一切,但没有任何效果。

如何从 MsgHdr 获取可用属性的列表?我设法找到诸如“replyTo”、“主题”甚至“发件人”之类的属性,这些属性为我提供了发件人的显示名称,但我正在寻找发件人的电子邮件地址。

另外,如何在 javascript 调试器中调试它?例如,我安装了 Venkman,但无法在交互式会话中获得对 gDBView 的引用。

谢谢

0 投票
1 回答
121 浏览

thunderbird - Thunderbird 消除了任何扩展的尝试

我可能是个彻头彻尾的白痴,所以如果我是,请多多包涵。

我一直在尝试为 Thunderbird 创建一个扩展。
我很快在谷歌上搜索了一份官方文档,并尽可能地密切关注它。这样,我最终得到了一个简单的测试结果,根据文档,它可以工作。

所以我打开了Thunderbird,什么都没有。
我再次关闭它,然后去看看我做错了什么。但是,Thunderbird 已经完全删除了我的文件夹。

我又做了几次,结果相同。

这是我的文件夹设置的样子:

在我上次尝试时,这些文件的内容实际上是从文档中复制/粘贴的,只有更改的文件名(代码和实际文件中的)、扩展 ID(代码和文件夹名称中的)和最大版本标签.

我到底在这里想念什么?

0 投票
0 回答
218 浏览

javascript - 使用 cfx 制作 Thunderbird 插件

我正在尝试制作一个 Thunderbird 插件,该插件将调用外部代码以生成一组数据以附加到出站电子邮件,标记为某种自定义类型,因此可以告诉收件人邮件使用我们的应用程序来处理此类入站附件。无论实施细节如何,我都遇到了第一个障碍。

在简单地尝试并放弃了 C 中的 XPCOM 组件后,我发现这个页面告诉我从我下载并安装附加 SDK 的地方转到这里。它使用一个命令cfx来创建骨架插件并测试它们。它有一个实验参数--app,允许您加载 Thunderbird 而不是默认的 Firefox。但是,它似乎没有加载插件。从文档中,我看到几乎最简单的情况是 main.js 简单地包含

尽管 Thunderbird 确​​实使用临时测试配置文件打开,但使用cfx run --app=thunderbird它启动它不会在我能看到的任何地方出现“Hello World”。在 firefox 中运行它会打开 firefox 并输出

这是输出我想要它输出的东西,但是以一种相当可疑的方式!

所以两个问题;AddOn-SDK 是 Thunderbird 扩展的方法吗?为什么即使在 Firefox 中它看起来也不起作用?

版本;Firefox 是 25.0.1,Thunderbird 是 24.1.1,AddOn-SDK 是 1.14,Python 是 2.6.6(后来发现 3.3 和 2.7 不兼容)。平台为 Windows 7。

0 投票
1 回答
2319 浏览

thunderbird - 让 Tunderbird 更像 Apple/Gmail(多行邮件列表)

有什么方法可以让 Thunderbird 像 Gmail 或 Apple 邮件一样显示邮件列表?(第一行:发件人和日期/时间,第二行:主题)

0 投票
0 回答
105 浏览

attachment - 无法删除 Thunderbird AddOn 中的附件

我尝试SomeAddOnName.MessengerCompose.filePathCurrent使用以下说明删除我知道他在 var 中的路径的特定附件:

gMsgCompose.compFields.attachments但无论我在邮件作曲家做什么,它都不起作用并且仍然是空的。

有谁知道我必须做什么?

谢谢

0 投票
2 回答
537 浏览

c++ - char* 在从 C DLL 返回到 js-ctypes 时丢失

我正在开发一个 Thunderbird 扩展,它将通过 C++/CLR 中介调用现有的 C# 代码。我遇到了一个可以仅使用 C++/CLR DLL 或直接 C DLL 复制的障碍。

我的功能是

如果我返回 p,我会返回“Hello World”。如果我返回 q,我会得到垃圾或挂起。在调试器中检查 p 和 q 表明它们都包含相同的数据。

我正在使用这个 js 调用函数;

在 Mozilla 调试器中,str 被标识为 CData 类型的对象,并且深入挖掘表明它在每种情况下都包含一个字符串,尽管我无法看到该字符串是什么。

js-ctype 的文档说,如果 CData 直接引用了某些内容,那么它将保持活动状态。但在我看来,这并没有正确发生。

如果我指定一个大的“静态”缓冲区,例如

然后使用 strcpy_s 将文本复制到该缓冲区并返回 r 然后字符串通过。如果我使用的是直接 C 的 DLL 项目。但如果我尝试使用 C++/CLR DLL 项目,我需要使用它才能获取现有的 C# 代码,然后尝试写入硬编码缓冲区导致程序坠毁。

所以我看到了三种前进的方式;

  • 让运行时创建的字符串在从 C++/CLR 切换回 js-ctypes 时保持不变,
  • 获取 C++/CLR 以允许我更改静态缓冲区 - 而不会导致多个实例出现问题,
  • 让 JS 提供 C++/CLR 可以填充的缓冲区。

有谁知道如何让其中一个工作?

0 投票
1 回答
1395 浏览

dictionary - 为 Thunderbird 拼写检查添加新语言

我想将波斯语添加到 Mozilla Thunderbird 拼写检查中。可用词典页面不包含我最喜欢的语言,但它在FirefoxOpen Office词典中可用。我在这里找到的唯一相关结果没有描述如何将字典添加到 Thunderbird 字典页面。

谁能告诉我如何为 Mozilla Thunderbird 词典贡献一本新词典,因为它们出现在上述页面中?

0 投票
0 回答
101 浏览

preferences - 从扩展修改 Mozilla 首选项

这很难研究,因为所有的关键字都非常通用......

我刚刚编写的一个 Thunderbird 扩展保证了 Thunderbird 的主要首选项对话框的更改,因为一个特定的设置与扩展的功能发生冲突,并且如果选择/设置后者会使后者无用。

我想做一件或两件更好的事情:

1)取消勾选复选框并更改单选按钮的状态。

2) 一起禁用复选框或单选按钮。

我找到了以下代码片段,它可能符合我的意图(至少对于上面的第 1 点):

如果是这样,我仍然无法找出我想要更改的首选项的 ID。DOM-Inspector 扩展显然不能在打开的首选项对话框窗口上工作......所以我怎么知道要设置哪个首选项?

以及如何覆盖首选项对话框以停用小部件?这是可能吗?或者我可以以编程方式停用小部件(一旦我有他们的 ID?)

0 投票
2 回答
524 浏览

xul - Mozilla Thunderbird 插件 - 将图标添加到邮件标题

我想在 MOZILLA THUNDERBIRD 中的回复按钮旁边添加一个图标/按钮。我应该在 XUL 文件中写什么,以便显示消息标题中的图标?

在此处输入图像描述

0 投票
2 回答
1671 浏览

javascript - Mozilla 雷鸟“FiltaQuilla”;JavaScript 和正则表达式

我有 Thunderbird 的 FiltaQuilla 插件(http://mesquilla.com/extensions/filtaquilla/),因为我想让自己能够移动与日期范围匹配的消息,并且消息的主题行可以匹配任何单词我指定。使用 JavaScript 正则表达式找到匹配项。这个想法是,如果找到以下五个短语中的任何一个,则电子邮件将被放置在另一个文件夹中。

这是我要设置的过滤器:

它已经移动了一堆电子邮件,但留下了不应该的电子邮件。以下是该脚本不应留下的电子邮件主题行:

  • 回复:CST205-01_SP14 继续加油!
  • 回复:招聘 CST 205

你能帮助调整我的脚本以避免留下这些信息吗?