blob: 5b0af43c05116d0d214b98bbb40d41a2a0307f58 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
---
title: Account examples
slug: Mozilla/Thunderbird/Account_examples
tags:
- Extensions
- thunderbird
translation_of: Mozilla/Thunderbird/Account_examples
---
<div class="blockIndicator draft">
<p><strong>Brouillon</strong><br>
Cette page n'est pas complète</p>
</div>
<div class="blockIndicator standardNote">
<p>Ce contenu couvre les fonctionnalités introduites dans <a href="https://developer.mozilla.org/en-US/docs/Mozilla/Thunderbird/Releases/3">Thunderbird 3</a></p>
</div>
<p>Cet article fournit des exemples d'accès et de manipulation des comptes Thunderbird. Les <a class="internal" href="/en-US/docs/Thunderbird/Account_interfaces" title="en/Thunderbird/Account interfaces">interfaces de compte</a> fournissent une vue d'ensemble des interfaces associées. Voir <a class="internal" href="/en-US/docs/Extensions/Thunderbird/An_overview_of_the_Thunderbird_interface" title="En/Extensions/Thunderbird/An overview of the Thunderbird interface">Présention des composants Thunderbird </a>pour une description générale de l'interface utilisateur de Thunderbird et des interfaces de programmation associées.</p>
<h2 id="Itérer_sur_tous_les_comptes_connus">Itérer sur tous les comptes connus</h2>
<pre class="brush: js notranslate">var acctMgr = Components.classes["@mozilla.org/messenger/account-manager;1"]
.getService(Components.interfaces.nsIMsgAccountManager);
var accounts = acctMgr.accounts;
if (accounts.queryElementAt) {
// Gecko 17+
for (var i = 0; i < accounts.length; i++) {
var account = accounts.queryElementAt(i, Components.interfaces.nsIMsgAccount);
// Faire quelque chose avec le compte
}
} else {
// Gecko < 17
for (var i = 0; i < accounts.Count(); i++) {
var account = accounts.QueryElementAt(i, Components.interfaces.nsIMsgAccount);
// Faire quelque chose avec le compte
}
}
</pre>
<h2 id="Introspectez_les_détails_de_certains_comptes_noms_paramètres_etc.">Introspectez les détails de certains comptes (noms, paramètres, etc.)</h2>
<pre class="brush: js notranslate">var acctMgr = Components.classes["@mozilla.org/messenger/account-manager;1"]
.getService(Components.interfaces.nsIMsgAccountManager);
var accounts = acctMgr.accounts;
for (var i = 0; i < accounts.length; i++) {
var account = accounts.queryElementAt(i, Components.interfaces.nsIMsgAccount);
Application.console.log(account.key);
// account.incomingServer est un nsIMsgIncomingServer
// account.identities est un nsISupportsArray de nsIMsgIdentity objects
// vous pouvez le parcourir comme acctMgr.accounts ci-dessus
// account.defaultIdentity est un nsIMsgIdentity
}
</pre>
<h2 id="Parcourir_les_dossiers_dun_compte">Parcourir les dossiers d'un compte</h2>
<pre class="brush: js notranslate">var acctMgr = Components.classes["@mozilla.org/messenger/account-manager;1"]
.getService(Components.interfaces.nsIMsgAccountManager);
var accounts = acctMgr.accounts;
for (var i = 0; i < accounts.length; i++) {
var account = accounts.queryElementAt(i, Components.interfaces.nsIMsgAccount);
var rootFolder = account.incomingServer.rootFolder; // nsIMsgFolder
Application.console.log(rootFolder.prettiestName);
if (rootFolder.hasSubFolders) {
var subFolders = rootFolder.subFolders; // nsIMsgFolder
while(subFolders.hasMoreElements()) {
var folder = subFolders.getNext().QueryInterface(Components.interfaces.nsIMsgFolder);
Application.console.log(folder.prettiestName);
}
}
}</pre>
|