我在试图创建一个Thunderbird扩展,其中一个引导/无重启类型(我的意思是,JavaScript代码是而不是从覆盖层运行。各种活动)。在发送邮件时获取Thunderbird扩展的发件人和收件人
在某些时候,当用户决定发送消息时,我想检查发件人和收件人(收件人,抄送,密送),以便对他们执行一些检查。
我已经设置和工作的事件监听器的数量,其中包括一个用于确认发送消息时正确触发的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。
在此期间,我得到一些提示从这个论坛:https://groups.google.com/forum/#!topic/mozilla.dev.apps.thunderbird/QH39UnH4YlE,https://开头groups.google.com/forum/#!topic/mozilla.dev.extensions/Lj93jF_2ZNU – superjos 2014-09-26 19:17:14