我正在开发一个Mozilla Thunderbird插件,需要获取用户的电子邮件地址。
问题:如何检索此地址?
我将在JavaScript中使用它。
您应该首先记住,一个用户可以有多个电子邮件地址(来自多个帐户,甚至来自一个帐户的多个身份),并且您必须决定对哪一个感兴趣。
注意:可能存在下面描述的更简单的方法,例如现有Thunderbird代码中的助手功能。你可以尝试在通讯中心搜索它
你必须为你感兴趣的身份获取nsIMsgIdentity
。它有一个email
属性,电子邮件地址是一个字符串。
获取所有标识的一种方法应该是通过nsIMsgAccountManager
的allIdentities
(没有测试它)。
使用以下代码获取nsIMsgAccountManager
:
Components.utils.import("resource:///modules/mailServices.js");
let accountManager = MailServices.accounts
如果您有nsIMsgIdentity
的nsIArray
,则可以使用以下代码对它们进行循环:
for (let identity in fixIterator(identities, Components.interfaces.nsIMsgIdentity)) {
}
可能有用的参考资料:
一些有趣的界面概述:https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Account_interfaces
某些帐户示例代码:https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Account_examples