【发布时间】:2014-09-23 07:57:44
【问题描述】:
我正在尝试创建一个 Thunderbird 扩展,它是自举/无重启类型之一(我的意思是,javascript 代码不是从叠加层运行。相反,侦听器会触发各种事件)。
在某些时候,当用户决定发送邮件时,我想检查发件人和收件人(收件人、抄送、密送),以便对他们执行一些检查。
我已经设置了许多事件侦听器并开始工作,其中一个用于compose-send-message 事件,当用户确认发送消息时会正确触发。
在那里,我无法找到如何获取发件人电子邮件地址以及所有收件人电子邮件地址。我都试过了:
let fields = components.classes["@mozilla.org/messengercompose/composefields;1"].
createInstance(components.interfaces.nsIMsgCompFields)
并与:
let params = components.classes["@mozilla.org/messengercompose/composeparams;1"].
createInstance(components.interfaces.nsIMsgComposeParams);
let fields = params.composeFields;
但无论如何 fields.hasRecipients 返回 false,例如fields.to 为空(或为空,无法准确回忆)。看起来它们不是由 TB 设置的。
当然,我四处搜索,也在与覆盖扩展相关的 TB 线程中搜索,但没有运气。有一个 SO 线程 here,它似乎并没有完全回答这个问题,因为它只是关于发件人。
其他参考:SO again、MozillaZine、TB stdlib。
【问题讨论】: