iobroker.imap 0.0.4 → 0.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +52 -6
- package/admin/blockly.js +19 -19
- package/admin/i18n/de/translations.json +13 -1
- package/admin/i18n/en/translations.json +13 -1
- package/admin/i18n/es/translations.json +13 -1
- package/admin/i18n/fr/translations.json +13 -1
- package/admin/i18n/it/translations.json +13 -1
- package/admin/i18n/nl/translations.json +13 -1
- package/admin/i18n/pl/translations.json +13 -1
- package/admin/i18n/pt/translations.json +13 -1
- package/admin/i18n/ru/translations.json +13 -1
- package/admin/i18n/uk/translations.json +13 -1
- package/admin/i18n/zh-cn/translations.json +13 -1
- package/admin/img/copy.png +0 -0
- package/admin/img/flag.png +0 -0
- package/admin/img/info.png +0 -0
- package/admin/img/move.png +0 -0
- package/admin/img/storage.png +0 -0
- package/admin/jsonConfig.json +98 -14
- package/io-package.json +51 -5
- package/lib/Connection.js +1575 -0
- package/lib/helper.js +589 -83
- package/lib/imap_event.js +775 -0
- package/lib/translator.js +606 -60
- package/main.js +871 -231
- package/package.json +7 -6
- package/lib/listener.js +0 -424
package/README.md
CHANGED
|
@@ -2,29 +2,45 @@
|
|
|
2
2
|
|
|
3
3
|
# ioBroker.imap
|
|
4
4
|
|
|
5
|
+
**Infos:** </br>
|
|
6
|
+
[](https://github.com/Lucky-ESA/ioBroker.imap/blob/main/LICENSE)
|
|
5
7
|
[](https://www.npmjs.com/package/iobroker.imap)
|
|
6
8
|
[](https://www.npmjs.com/package/iobroker.imap)
|
|
7
|
-

|
|
8
|
-
</br>
|
|
10
|
+

|
|
11
|
+

|
|
12
|
+

|
|
13
|
+
</br>
|
|
14
|
+
**Version:** </br>
|
|
15
|
+

|
|
9
16
|
|
|
10
17
|
[](https://nodei.co/npm/iobroker.imap/)
|
|
11
18
|
|
|
12
|
-
**Tests:**
|
|
19
|
+
**Tests:** </br>
|
|
20
|
+

|
|
21
|
+
[](https://github.com/Lucky-ESA/ioBroker.imap/actions/workflows/codeql.yml)
|
|
22
|
+

|
|
13
23
|
|
|
14
24
|
## imap adapter for ioBroker
|
|
15
25
|
|
|
16
|
-
|
|
26
|
+
- Monitor your email accounts via IMAP (Internet Message Access Protocol)
|
|
27
|
+
|
|
28
|
+
## Requirements
|
|
29
|
+
|
|
30
|
+
- Node >= 16
|
|
31
|
+
- ~150 MB free ram
|
|
17
32
|
|
|
18
33
|
## Tested with
|
|
19
34
|
|
|
20
35
|
- 1und1
|
|
21
|
-
- gmail
|
|
36
|
+
- gmail [app-password](https://support.google.com/mail/answer/185833?hl=de)
|
|
22
37
|
- vodafone
|
|
23
38
|
- strato
|
|
24
39
|
|
|
25
40
|
## Description and Questions
|
|
26
41
|
|
|
27
|
-
|
|
42
|
+
🇬🇧 [Description](/docs/en/README.md)</br>
|
|
43
|
+
🇩🇪 [Beschreibung & Fragen](https://forum.iobroker.net/topic/63400/test-adapter-iobroker-imap-v0-0-1-github)
|
|
28
44
|
|
|
29
45
|
## Changelog
|
|
30
46
|
|
|
@@ -32,6 +48,36 @@ imap to receive your emails
|
|
|
32
48
|
Placeholder for the next version (at the beginning of the line):
|
|
33
49
|
### **WORK IN PROGRESS**
|
|
34
50
|
-->
|
|
51
|
+
### 0.0.7 (2023-04-25)
|
|
52
|
+
|
|
53
|
+
- (Lucky-ESA) Fix correct counter for seen and unseen
|
|
54
|
+
- (Lucky-ESA) Added capabilities
|
|
55
|
+
- (Lucky-ESA) Criteria change without restart
|
|
56
|
+
- (Lucky-ESA) Added outlook.office365.com oauth2 login
|
|
57
|
+
- (Lucky-ESA) Added Connection.js from Module to Adapter
|
|
58
|
+
- (Lucky-ESA) Bug fixes
|
|
59
|
+
|
|
60
|
+
### 0.0.6 (2023-03-17)
|
|
61
|
+
|
|
62
|
+
- (Lucky-ESA) Added trigger move or copy emails
|
|
63
|
+
- (Lucky-ESA) Added JSON for multiple IMAP accounts
|
|
64
|
+
- (Lucky-ESA) Bug fixes
|
|
65
|
+
|
|
66
|
+
### 0.0.5 (2023-03-15)
|
|
67
|
+
|
|
68
|
+
- (Lucky-ESA) Added: Limited reconnected (5 max)
|
|
69
|
+
- (Lucky-ESA) Added: into datapoints
|
|
70
|
+
- (Lucky-ESA) Added: Password entry not possible without an active instance
|
|
71
|
+
- (Lucky-ESA) Added: Added description to readme
|
|
72
|
+
- (Lucky-ESA) Added: Added move or copy
|
|
73
|
+
- (Lucky-ESA) Added: Set flag with datapoints
|
|
74
|
+
- (Lucky-ESA) Fix: debug output without attachments
|
|
75
|
+
- (Lucky-ESA) Fix: wrong json_table
|
|
76
|
+
- (Lucky-ESA) Fix: value null
|
|
77
|
+
- (Lucky-ESA) Change: Reconnected change info level to debug level
|
|
78
|
+
- (Lucky-ESA) Change: correct dp roles
|
|
79
|
+
- (Lucky-ESA) Change: delete attachments (too much RAM usage)
|
|
80
|
+
|
|
35
81
|
### 0.0.4 (2023-03-03)
|
|
36
82
|
|
|
37
83
|
- (Lucky-ESA) Fix json_table
|
package/admin/blockly.js
CHANGED
|
@@ -111,18 +111,18 @@ Blockly.Words["imap_tooltip_flags"] = {
|
|
|
111
111
|
uk: "Прапори доступні (Seen,Answered,Flagged,Deleted або Draft)",
|
|
112
112
|
"zh-cn": "可用的滞留(见、Answered、Flag、注释、手或空洞无见)",
|
|
113
113
|
};
|
|
114
|
-
Blockly.Words["
|
|
115
|
-
en: "
|
|
116
|
-
de: "
|
|
117
|
-
ru: "
|
|
118
|
-
pt: "Número
|
|
119
|
-
nl: "
|
|
120
|
-
fr: "Numéro
|
|
121
|
-
it: "Numero
|
|
122
|
-
es: "Número de
|
|
123
|
-
pl: "Liczba
|
|
124
|
-
uk: "
|
|
125
|
-
"zh-cn": "
|
|
114
|
+
Blockly.Words["imap_uid"] = {
|
|
115
|
+
"en": "UID number",
|
|
116
|
+
"de": "UID-Nummer",
|
|
117
|
+
"ru": "UID номер",
|
|
118
|
+
"pt": "Número do UID",
|
|
119
|
+
"nl": "UID nummer",
|
|
120
|
+
"fr": "Numéro UID",
|
|
121
|
+
"it": "Numero UID",
|
|
122
|
+
"es": "Número de UID",
|
|
123
|
+
"pl": "Liczba UID",
|
|
124
|
+
"uk": "UID номер",
|
|
125
|
+
"zh-cn": "IDID编号"
|
|
126
126
|
};
|
|
127
127
|
Blockly.Words["imap_choose"] = {
|
|
128
128
|
en: "select mailbox",
|
|
@@ -776,10 +776,10 @@ Blockly.Sendto.blocks["imap_flag"] =
|
|
|
776
776
|
" </value>" +
|
|
777
777
|
' <value name="FLAGTYPE">' +
|
|
778
778
|
' <shadow type="text">' +
|
|
779
|
-
' <field name="TEXT">
|
|
779
|
+
' <field name="TEXT">Seen</field>' +
|
|
780
780
|
" </shadow>" +
|
|
781
781
|
" </value>" +
|
|
782
|
-
' <value name="
|
|
782
|
+
' <value name="UIDNO">' +
|
|
783
783
|
' <shadow type="math_number">' +
|
|
784
784
|
' <field name="NUM">0</field>' +
|
|
785
785
|
" </shadow>" +
|
|
@@ -820,7 +820,7 @@ Blockly.Blocks["imap_flag"] = {
|
|
|
820
820
|
|
|
821
821
|
this.appendValueInput("FLAG").appendField(Blockly.Translate("imap_flags"));
|
|
822
822
|
this.appendValueInput("FLAGTYPE").appendField(Blockly.Translate("imap_flagtype"));
|
|
823
|
-
this.appendValueInput("
|
|
823
|
+
this.appendValueInput("UIDNO").appendField(Blockly.Translate("imap_uid"));
|
|
824
824
|
|
|
825
825
|
this.appendDummyInput("LOG")
|
|
826
826
|
.appendField(Blockly.Translate("imap_log"))
|
|
@@ -851,12 +851,12 @@ Blockly.JavaScript["imap_flag"] = function (block) {
|
|
|
851
851
|
var value_name = block.getFieldValue("IMAPNAME");
|
|
852
852
|
var value_flag = Blockly.JavaScript.valueToCode(block, "FLAG", Blockly.JavaScript.ORDER_ATOMIC);
|
|
853
853
|
var value_flagtype = Blockly.JavaScript.valueToCode(block, "FLAGTYPE", Blockly.JavaScript.ORDER_ATOMIC);
|
|
854
|
-
var
|
|
854
|
+
var value_uid = Blockly.JavaScript.valueToCode(block, "UIDNO", Blockly.JavaScript.ORDER_ATOMIC);
|
|
855
855
|
|
|
856
856
|
var logText;
|
|
857
857
|
if (logLevel) {
|
|
858
858
|
logText =
|
|
859
|
-
"console." + logLevel + '("imap: " + ' + value_flag + " + " +
|
|
859
|
+
"console." + logLevel + '("imap: " + ' + value_flag + " + " + value_uid + " + " + value_name + ");\n";
|
|
860
860
|
} else {
|
|
861
861
|
logText = "";
|
|
862
862
|
}
|
|
@@ -866,8 +866,8 @@ Blockly.JavaScript["imap_flag"] = function (block) {
|
|
|
866
866
|
dropdown_instance +
|
|
867
867
|
'", "getFlags", {flag: ' +
|
|
868
868
|
value_flag +
|
|
869
|
-
",
|
|
870
|
-
|
|
869
|
+
", uid: " +
|
|
870
|
+
value_uid +
|
|
871
871
|
", flagtype: " +
|
|
872
872
|
value_flagtype +
|
|
873
873
|
", name: '" +
|
|
@@ -50,5 +50,17 @@
|
|
|
50
50
|
"tls_option": "tls-Option",
|
|
51
51
|
"TLS_OPTION": "Options-Objekt, das an tls.connect() übergeben werden soll",
|
|
52
52
|
"auto_tls": "Auto-TLS",
|
|
53
|
-
"AUTO_TLS": "Auf 'always' setzen, um immer Verbindungs-Upgrades über STARTTLS zu versuchen, 'required', nur wenn ein Upgrade erforderlich ist, oder 'nerver', um nie ein Upgrade zu versuchen."
|
|
53
|
+
"AUTO_TLS": "Auf 'always' setzen, um immer Verbindungs-Upgrades über STARTTLS zu versuchen, 'required', nur wenn ein Upgrade erforderlich ist, oder 'nerver', um nie ein Upgrade zu versuchen.",
|
|
54
|
+
"Tab oauth": "Autorisierung oauth2",
|
|
55
|
+
"Tab oauth2": "Login-oauth2-Daten",
|
|
56
|
+
"provider": "Anbieter",
|
|
57
|
+
"PROVIDER": "Anbieter",
|
|
58
|
+
"name": "Name",
|
|
59
|
+
"NAME": "Name",
|
|
60
|
+
"clientid": "Kunden ID",
|
|
61
|
+
"CLIENTID": "Kunden ID",
|
|
62
|
+
"secureid": "Geheime ID",
|
|
63
|
+
"SECUREID": "Geheime ID",
|
|
64
|
+
"pathid": "Verzeichnis-ID",
|
|
65
|
+
"PATHID": "Verzeichnis-ID"
|
|
54
66
|
}
|
|
@@ -50,5 +50,17 @@
|
|
|
50
50
|
"tls_option": "tls option",
|
|
51
51
|
"TLS_OPTION": "Options object to pass to tls.connect()",
|
|
52
52
|
"auto_tls": "auto tls",
|
|
53
|
-
"AUTO_TLS": "Set to 'always' to always attempt connection upgrades via STARTTLS, 'required' only if upgrading is required, or 'never' to never attempt upgrading."
|
|
53
|
+
"AUTO_TLS": "Set to 'always' to always attempt connection upgrades via STARTTLS, 'required' only if upgrading is required, or 'never' to never attempt upgrading.",
|
|
54
|
+
"Tab oauth": "Authorize oauth2",
|
|
55
|
+
"Tab oauth2": "Login oauth2 data",
|
|
56
|
+
"provider": "Provider",
|
|
57
|
+
"PROVIDER": "Provider",
|
|
58
|
+
"name": "Name",
|
|
59
|
+
"NAME": "Name",
|
|
60
|
+
"clientid": "Client ID",
|
|
61
|
+
"CLIENTID": "Client ID",
|
|
62
|
+
"secureid": "Secret ID",
|
|
63
|
+
"SECUREID": "Secret ID",
|
|
64
|
+
"pathid": "Directory ID",
|
|
65
|
+
"PATHID": "Directory ID"
|
|
54
66
|
}
|
|
@@ -50,5 +50,17 @@
|
|
|
50
50
|
"tls_option": "opción tls",
|
|
51
51
|
"TLS_OPTION": "Objeto de opciones para pasar a tls.connect()",
|
|
52
52
|
"auto_tls": "auto tls",
|
|
53
|
-
"AUTO_TLS": "Establézcalo en 'siempre' para intentar siempre actualizaciones de conexión a través de STARTTLS, 'requerido' solo si se requiere una actualización, o 'nunca' para nunca intentar actualizar."
|
|
53
|
+
"AUTO_TLS": "Establézcalo en 'siempre' para intentar siempre actualizaciones de conexión a través de STARTTLS, 'requerido' solo si se requiere una actualización, o 'nunca' para nunca intentar actualizar.",
|
|
54
|
+
"Tab oauth": "Autorizar oauth2",
|
|
55
|
+
"Tab oauth2": "Iniciar sesión oauth2 datos",
|
|
56
|
+
"provider": "Proveedor",
|
|
57
|
+
"PROVIDER": "Proveedor",
|
|
58
|
+
"name": "Nombre",
|
|
59
|
+
"NAME": "Nombre",
|
|
60
|
+
"clientid": "Identificación del cliente",
|
|
61
|
+
"CLIENTID": "Identificación del cliente",
|
|
62
|
+
"secureid": "identificación secreta",
|
|
63
|
+
"SECUREID": "identificación secreta",
|
|
64
|
+
"pathid": "Id. de directorio",
|
|
65
|
+
"PATHID": "Id. de directorio"
|
|
54
66
|
}
|
|
@@ -50,5 +50,17 @@
|
|
|
50
50
|
"tls_option": "option tls",
|
|
51
51
|
"TLS_OPTION": "Objet Options à passer à tls.connect()",
|
|
52
52
|
"auto_tls": "tl automatique",
|
|
53
|
-
"AUTO_TLS": "Définissez sur « toujours » pour toujours tenter des mises à niveau de connexion via STARTTLS, « nécessaire » uniquement si la mise à niveau est requise, ou « jamais » pour ne jamais tenter de mise à niveau."
|
|
53
|
+
"AUTO_TLS": "Définissez sur « toujours » pour toujours tenter des mises à niveau de connexion via STARTTLS, « nécessaire » uniquement si la mise à niveau est requise, ou « jamais » pour ne jamais tenter de mise à niveau.",
|
|
54
|
+
"Tab oauth": "Autoriser oauth2",
|
|
55
|
+
"Tab oauth2": "Données de connexion oauth2",
|
|
56
|
+
"provider": "Fournisseur",
|
|
57
|
+
"PROVIDER": "Fournisseur",
|
|
58
|
+
"name": "Nom",
|
|
59
|
+
"NAME": "Nom",
|
|
60
|
+
"clientid": "identité du client",
|
|
61
|
+
"CLIENTID": "identité du client",
|
|
62
|
+
"secureid": "ID secret",
|
|
63
|
+
"SECUREID": "ID secret",
|
|
64
|
+
"pathid": "ID de répertoire",
|
|
65
|
+
"PATHID": "ID de répertoire"
|
|
54
66
|
}
|
|
@@ -50,5 +50,17 @@
|
|
|
50
50
|
"tls_option": "opzione tls",
|
|
51
51
|
"TLS_OPTION": "Oggetto opzioni da passare a tls.connect()",
|
|
52
52
|
"auto_tls": "auto tl",
|
|
53
|
-
"AUTO_TLS": "Impostare su 'sempre' per tentare sempre gli aggiornamenti della connessione tramite STARTTLS, 'necessario' solo se l'aggiornamento è necessario o 'mai' per non tentare mai l'aggiornamento."
|
|
53
|
+
"AUTO_TLS": "Impostare su 'sempre' per tentare sempre gli aggiornamenti della connessione tramite STARTTLS, 'necessario' solo se l'aggiornamento è necessario o 'mai' per non tentare mai l'aggiornamento.",
|
|
54
|
+
"Tab oauth": "Autorizza oauth2",
|
|
55
|
+
"Tab oauth2": "Dati di accesso oauth2",
|
|
56
|
+
"provider": "Fornitore",
|
|
57
|
+
"PROVIDER": "Fornitore",
|
|
58
|
+
"name": "Nome",
|
|
59
|
+
"NAME": "Nome",
|
|
60
|
+
"clientid": "Identificativo cliente",
|
|
61
|
+
"CLIENTID": "Identificativo cliente",
|
|
62
|
+
"secureid": "ID segreto",
|
|
63
|
+
"SECUREID": "ID segreto",
|
|
64
|
+
"pathid": "ID rubrica",
|
|
65
|
+
"PATHID": "ID rubrica"
|
|
54
66
|
}
|
|
@@ -50,5 +50,17 @@
|
|
|
50
50
|
"tls_option": "tls-optie",
|
|
51
51
|
"TLS_OPTION": "Options-object om door te geven aan tls.connect()",
|
|
52
52
|
"auto_tls": "auto tls",
|
|
53
|
-
"AUTO_TLS": "Stel in op 'altijd' om altijd verbindingsupgrades via STARTTLS te proberen, 'vereist' alleen als een upgrade vereist is, of 'nooit' om nooit een upgrade uit te voeren."
|
|
53
|
+
"AUTO_TLS": "Stel in op 'altijd' om altijd verbindingsupgrades via STARTTLS te proberen, 'vereist' alleen als een upgrade vereist is, of 'nooit' om nooit een upgrade uit te voeren.",
|
|
54
|
+
"Tab oauth": "Autoriseren oauth2",
|
|
55
|
+
"Tab oauth2": "Inloggen oauth2-gegevens",
|
|
56
|
+
"provider": "Aanbieder",
|
|
57
|
+
"PROVIDER": "Aanbieder",
|
|
58
|
+
"name": "Naam",
|
|
59
|
+
"NAME": "Naam",
|
|
60
|
+
"clientid": "klant identificatie",
|
|
61
|
+
"CLIENTID": "klant identificatie",
|
|
62
|
+
"secureid": "Geheime ID",
|
|
63
|
+
"SECUREID": "Geheime ID",
|
|
64
|
+
"pathid": "Directory-ID",
|
|
65
|
+
"PATHID": "Directory-ID"
|
|
54
66
|
}
|
|
@@ -50,5 +50,17 @@
|
|
|
50
50
|
"tls_option": "opcja tls",
|
|
51
51
|
"TLS_OPTION": "Obiekt opcji do przekazania do tls.connect()",
|
|
52
52
|
"auto_tls": "auto tls",
|
|
53
|
-
"AUTO_TLS": "Ustaw „zawsze”, aby zawsze próbować aktualizować połączenia przez STARTTLS, „wymagane” tylko wtedy, gdy aktualizacja jest wymagana, lub „nigdy”, aby nigdy nie podejmować prób aktualizacji."
|
|
53
|
+
"AUTO_TLS": "Ustaw „zawsze”, aby zawsze próbować aktualizować połączenia przez STARTTLS, „wymagane” tylko wtedy, gdy aktualizacja jest wymagana, lub „nigdy”, aby nigdy nie podejmować prób aktualizacji.",
|
|
54
|
+
"Tab oauth": "Autoryzuj oauth2",
|
|
55
|
+
"Tab oauth2": "Dane logowania oauth2",
|
|
56
|
+
"provider": "Dostawca",
|
|
57
|
+
"PROVIDER": "Dostawca",
|
|
58
|
+
"name": "Nazwa",
|
|
59
|
+
"NAME": "Nazwa",
|
|
60
|
+
"clientid": "Identyfikator klienta",
|
|
61
|
+
"CLIENTID": "Identyfikator klienta",
|
|
62
|
+
"secureid": "Tajny identyfikator",
|
|
63
|
+
"SECUREID": "Tajny identyfikator",
|
|
64
|
+
"pathid": "Identyfikator katalogu",
|
|
65
|
+
"PATHID": "Identyfikator katalogu"
|
|
54
66
|
}
|
|
@@ -50,5 +50,17 @@
|
|
|
50
50
|
"tls_option": "opção tls",
|
|
51
51
|
"TLS_OPTION": "Objeto de opções para passar para tls.connect()",
|
|
52
52
|
"auto_tls": "auto tls",
|
|
53
|
-
"AUTO_TLS": "Defina como 'always' para sempre tentar atualizações de conexão via STARTTLS, 'required' apenas se a atualização for necessária ou 'nunca' para nunca tentar atualizar."
|
|
53
|
+
"AUTO_TLS": "Defina como 'always' para sempre tentar atualizações de conexão via STARTTLS, 'required' apenas se a atualização for necessária ou 'nunca' para nunca tentar atualizar.",
|
|
54
|
+
"Tab oauth": "Autorizar oauth2",
|
|
55
|
+
"Tab oauth2": "Dados de login oauth2",
|
|
56
|
+
"provider": "Fornecedor",
|
|
57
|
+
"PROVIDER": "Fornecedor",
|
|
58
|
+
"name": "Nome",
|
|
59
|
+
"NAME": "Nome",
|
|
60
|
+
"clientid": "ID do Cliente",
|
|
61
|
+
"CLIENTID": "ID do Cliente",
|
|
62
|
+
"secureid": "ID secreto",
|
|
63
|
+
"SECUREID": "ID secreto",
|
|
64
|
+
"pathid": "ID do diretório",
|
|
65
|
+
"PATHID": "ID do diretório"
|
|
54
66
|
}
|
|
@@ -50,5 +50,17 @@
|
|
|
50
50
|
"tls_option": "tls-опция",
|
|
51
51
|
"TLS_OPTION": "Объект параметров для передачи в tls.connect()",
|
|
52
52
|
"auto_tls": "автоматический TLS",
|
|
53
|
-
"AUTO_TLS": "Установите «всегда», чтобы всегда пытаться обновить подключение через STARTTLS, «обязательно», только если обновление требуется, или «никогда», чтобы никогда не пытаться обновить."
|
|
53
|
+
"AUTO_TLS": "Установите «всегда», чтобы всегда пытаться обновить подключение через STARTTLS, «обязательно», только если обновление требуется, или «никогда», чтобы никогда не пытаться обновить.",
|
|
54
|
+
"Tab oauth": "Авторизовать oauth2",
|
|
55
|
+
"Tab oauth2": "Войти данные oauth2",
|
|
56
|
+
"provider": "Провайдер",
|
|
57
|
+
"PROVIDER": "Провайдер",
|
|
58
|
+
"name": "Имя",
|
|
59
|
+
"NAME": "Имя",
|
|
60
|
+
"clientid": "ID клиента",
|
|
61
|
+
"CLIENTID": "ID клиента",
|
|
62
|
+
"secureid": "Секретный идентификатор",
|
|
63
|
+
"SECUREID": "Секретный идентификатор",
|
|
64
|
+
"pathid": "Идентификатор каталога",
|
|
65
|
+
"PATHID": "Идентификатор каталога"
|
|
54
66
|
}
|
|
@@ -50,5 +50,17 @@
|
|
|
50
50
|
"tls_option": "параметр tls",
|
|
51
51
|
"TLS_OPTION": "Об’єкт параметрів для передачі в tl.connect()",
|
|
52
52
|
"auto_tls": "авто tls",
|
|
53
|
-
"AUTO_TLS": "Установіть значення «завжди», щоб завжди намагатися оновити з’єднання через STARTTLS, «обов’язково», лише якщо потрібне оновлення, або «ніколи», щоб ніколи не намагатися оновлення."
|
|
53
|
+
"AUTO_TLS": "Установіть значення «завжди», щоб завжди намагатися оновити з’єднання через STARTTLS, «обов’язково», лише якщо потрібне оновлення, або «ніколи», щоб ніколи не намагатися оновлення.",
|
|
54
|
+
"Tab oauth": "Авторизувати oauth2",
|
|
55
|
+
"Tab oauth2": "Дані входу oauth2",
|
|
56
|
+
"provider": "Провайдер",
|
|
57
|
+
"PROVIDER": "Провайдер",
|
|
58
|
+
"name": "Ім'я",
|
|
59
|
+
"NAME": "Ім'я",
|
|
60
|
+
"clientid": "ID клієнта",
|
|
61
|
+
"CLIENTID": "ID клієнта",
|
|
62
|
+
"secureid": "Секретний ідентифікатор",
|
|
63
|
+
"SECUREID": "Секретний ідентифікатор",
|
|
64
|
+
"pathid": "Ідентифікатор каталогу",
|
|
65
|
+
"PATHID": "Ідентифікатор каталогу"
|
|
54
66
|
}
|
|
@@ -50,5 +50,17 @@
|
|
|
50
50
|
"tls_option": "选项",
|
|
51
51
|
"TLS_OPTION": "要传递给 tls.connect() 的选项对象",
|
|
52
52
|
"auto_tls": "自动传输",
|
|
53
|
-
"AUTO_TLS": "设置为“始终”以始终尝试通过 STARTTLS 进行连接升级,设置为“必需”仅在需要升级时设置,或设置为“从不”以从不尝试升级。"
|
|
53
|
+
"AUTO_TLS": "设置为“始终”以始终尝试通过 STARTTLS 进行连接升级,设置为“必需”仅在需要升级时设置,或设置为“从不”以从不尝试升级。",
|
|
54
|
+
"Tab oauth": "授权oauth2",
|
|
55
|
+
"Tab oauth2": "登录oauth2数据",
|
|
56
|
+
"provider": "供应商",
|
|
57
|
+
"PROVIDER": "供应商",
|
|
58
|
+
"name": "姓名",
|
|
59
|
+
"NAME": "姓名",
|
|
60
|
+
"clientid": "客户端编号",
|
|
61
|
+
"CLIENTID": "客户端编号",
|
|
62
|
+
"secureid": "密码",
|
|
63
|
+
"SECUREID": "密码",
|
|
64
|
+
"pathid": "目录编号",
|
|
65
|
+
"PATHID": "目录编号"
|
|
54
66
|
}
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/admin/jsonConfig.json
CHANGED
|
@@ -90,7 +90,6 @@
|
|
|
90
90
|
"title": "password",
|
|
91
91
|
"tooltip": "PASSWORD",
|
|
92
92
|
"filter": false,
|
|
93
|
-
"visible": true,
|
|
94
93
|
"sort": false,
|
|
95
94
|
"default": "",
|
|
96
95
|
"style": {
|
|
@@ -188,19 +187,6 @@
|
|
|
188
187
|
"width": 200
|
|
189
188
|
}
|
|
190
189
|
},
|
|
191
|
-
{
|
|
192
|
-
"type": "text",
|
|
193
|
-
"attr": "token",
|
|
194
|
-
"width": 200,
|
|
195
|
-
"title": "token",
|
|
196
|
-
"tooltip": "TOKEN",
|
|
197
|
-
"filter": false,
|
|
198
|
-
"sort": false,
|
|
199
|
-
"default": "",
|
|
200
|
-
"style": {
|
|
201
|
-
"width": 200
|
|
202
|
-
}
|
|
203
|
-
},
|
|
204
190
|
{
|
|
205
191
|
"type": "text",
|
|
206
192
|
"attr": "tlsoption",
|
|
@@ -231,6 +217,21 @@
|
|
|
231
217
|
"style": {
|
|
232
218
|
"width": 100
|
|
233
219
|
}
|
|
220
|
+
},
|
|
221
|
+
{
|
|
222
|
+
"type": "selectSendTo",
|
|
223
|
+
"attr": "token",
|
|
224
|
+
"width": 200,
|
|
225
|
+
"title": "token",
|
|
226
|
+
"tooltip": "TOKEN",
|
|
227
|
+
"filter": false,
|
|
228
|
+
"sort": false,
|
|
229
|
+
"jsonData": "{\"token\":{\"tokens\":${JSON.stringify(globalData.oauth_token)}}}",
|
|
230
|
+
"command": "getTokenList",
|
|
231
|
+
"alsoDependsOn": ["oauth_token"],
|
|
232
|
+
"style": {
|
|
233
|
+
"width": 200
|
|
234
|
+
}
|
|
234
235
|
}
|
|
235
236
|
]
|
|
236
237
|
}
|
|
@@ -278,6 +279,89 @@
|
|
|
278
279
|
]
|
|
279
280
|
}
|
|
280
281
|
}
|
|
282
|
+
},
|
|
283
|
+
"tab3": {
|
|
284
|
+
"type": "panel",
|
|
285
|
+
"label": "Tab oauth",
|
|
286
|
+
"items": {
|
|
287
|
+
"_headerAlexa": {
|
|
288
|
+
"type": "header",
|
|
289
|
+
"text": "Info oauth2",
|
|
290
|
+
"size": 2
|
|
291
|
+
},
|
|
292
|
+
"oauth_token": {
|
|
293
|
+
"sm": 12,
|
|
294
|
+
"md": 12,
|
|
295
|
+
"lg": 12,
|
|
296
|
+
"noDelete": false,
|
|
297
|
+
"type": "table",
|
|
298
|
+
"style": {
|
|
299
|
+
"textAlign": "center"
|
|
300
|
+
},
|
|
301
|
+
"items": [
|
|
302
|
+
{
|
|
303
|
+
"type": "select",
|
|
304
|
+
"attr": "provider",
|
|
305
|
+
"width": "25%",
|
|
306
|
+
"title": "provider",
|
|
307
|
+
"tooltip": "PROVIDER",
|
|
308
|
+
"filter": false,
|
|
309
|
+
"sort": false,
|
|
310
|
+
"options": [
|
|
311
|
+
{ "label": "none", "value": "" },
|
|
312
|
+
{ "label": "office365", "value": "office365" }
|
|
313
|
+
],
|
|
314
|
+
"default": "none",
|
|
315
|
+
"style": {
|
|
316
|
+
"textAlign": "center"
|
|
317
|
+
}
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
"type": "text",
|
|
321
|
+
"attr": "name",
|
|
322
|
+
"width": "25%",
|
|
323
|
+
"title": "name",
|
|
324
|
+
"tooltip": "NAME",
|
|
325
|
+
"filter": true,
|
|
326
|
+
"sort": true,
|
|
327
|
+
"default": ""
|
|
328
|
+
},
|
|
329
|
+
{
|
|
330
|
+
"type": "text",
|
|
331
|
+
"attr": "clientid",
|
|
332
|
+
"width": "25%",
|
|
333
|
+
"title": "clientid",
|
|
334
|
+
"tooltip": "CLIENTID",
|
|
335
|
+
"filter": true,
|
|
336
|
+
"sort": true,
|
|
337
|
+
"default": ""
|
|
338
|
+
},
|
|
339
|
+
{
|
|
340
|
+
"type": "password",
|
|
341
|
+
"attr": "secureid",
|
|
342
|
+
"width": "25%",
|
|
343
|
+
"title": "secureid",
|
|
344
|
+
"tooltip": "SECUREID",
|
|
345
|
+
"visible": true,
|
|
346
|
+
"filter": true,
|
|
347
|
+
"sort": true,
|
|
348
|
+
"default": ""
|
|
349
|
+
},
|
|
350
|
+
{
|
|
351
|
+
"type": "text",
|
|
352
|
+
"attr": "pathid",
|
|
353
|
+
"width": "25%",
|
|
354
|
+
"title": "pathid",
|
|
355
|
+
"disabled": "data.provider != \"office365\"",
|
|
356
|
+
"hidden": "data.provider != \"office365\"",
|
|
357
|
+
"tooltip": "PATHID",
|
|
358
|
+
"filter": true,
|
|
359
|
+
"sort": true,
|
|
360
|
+
"default": ""
|
|
361
|
+
}
|
|
362
|
+
]
|
|
363
|
+
}
|
|
364
|
+
}
|
|
281
365
|
}
|
|
282
366
|
}
|
|
283
367
|
}
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,47 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "imap",
|
|
4
|
-
"version": "0.0.
|
|
4
|
+
"version": "0.0.7",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.0.7": {
|
|
7
|
+
"en": "Fix correct counter for seen and unseen\nAdded capabilities\nCriteria change without restart\nAdded outlook.office365.com oauth2 login\nAdded Connection.js from Module to Adapter\nBug fixes",
|
|
8
|
+
"de": "Fix korrekter Zähler für gesehen und unsichtbar\nZusätzliche Fähigkeiten\nÄnderung der Kriterien ohne Neustart\nAusblick.office365.com oauth2 login\nHinzugefügt Connection.js von Modul zu Adapter\nFehlerbehebungen",
|
|
9
|
+
"ru": "Исправьте правильный счетчик для видимых и невидимых\nДобавленные возможности\nКритерии меняются без перезапуска\nДобавлен Outlook.office365.com oauth2 логин\nДобавлено Connection.js из модуля к адаптеру\nИсправления ошибок",
|
|
10
|
+
"pt": "Corrigir o contador correto para visto e invisível\nRecursos adicionados\nAlteração de critérios sem reinício\nAdicionado outlook.office365.com oauth2 login\nAdicionado Connection.js do módulo ao adaptador\nCorreções de bugs",
|
|
11
|
+
"nl": "Vertaling:\nVermogens\nCriteria verandert zonder rust\nVertaling:\nToegevoegd Connection\nBug repareert",
|
|
12
|
+
"fr": "Fixer le compteur correct pour vu et invisible\nCapacités ajoutées\nChangement de critères sans redémarrage\nAjout du login Outlook.office365.com oauth2\nAjout de Connection.js de Module à Adaptateur\nCorrections",
|
|
13
|
+
"it": "Fissare corretto contatore per visto e invisibile\nCapacità aggiuntive\nCambiamento dei criteri senza riavvio\nAggiunto Outlook.office365.com oauth2 login\nAggiunto Connection.js dal modulo all'adattatore\nCorrezioni di bug",
|
|
14
|
+
"es": "Fijar el contador correcto para visto y no visto\nCapacidades adicionales\nLos criterios cambian sin reiniciar\nAñadido Outlook.office365.com oauth2 login\nAñadido Connection.js del módulo al adaptador\nCorrección de errores",
|
|
15
|
+
"pl": "Fix koryguje pole widzenia i niespodzianek\nZadaniowe możliwości\nPrzemiana kryzysowa bez restartu\nAdded outlook.office365.com oauth2 login\nAdded Connection.js from Module to Adapter\nBug",
|
|
16
|
+
"uk": "Фіксувати правильну лічильник для видимих і невидимих\nДодаткові можливості\nЗміни критерії без перезапуску\nEnglish, Українська, Français..\nДодано Connection.js від Module до адаптера\nВиправлення помилок",
|
|
17
|
+
"zh-cn": "Fix 纠正被发现和无见的反击\n增加能力\n2. 标准改变,而不恢复原状\n增加前景\nA. 添加了Anection.js from Module to Adapter\nBug fix"
|
|
18
|
+
},
|
|
19
|
+
"0.0.6": {
|
|
20
|
+
"en": "Added trigger move or copy emails\nAdded JSON for multiple IMAP accounts\nBug fixes",
|
|
21
|
+
"de": "Trigger-Bewegung oder Kopie-E-Mails hinzugefügt\nJSON für mehrere IMAP-Konten hinzugefügt\nFehlerbehebungen",
|
|
22
|
+
"ru": "Добавлены триггеры или копировать электронные письма\nДобавлен JSON для нескольких учетных записей IMAP\nИсправления ошибок",
|
|
23
|
+
"pt": "Adicionado movimento do gatilho ou copiar e-mails\nAdicionado JSON para múltiplas contas IMAP\nCorreções de bugs",
|
|
24
|
+
"nl": "Verplaatsing of mails\n_\nBug repareert",
|
|
25
|
+
"fr": "Ajout d'un déménagement ou d'une copie des courriels\nJSON ajouté pour plusieurs comptes IMAP\nCorrections",
|
|
26
|
+
"it": "Aggiunta di attivazione spostare o copiare e-mail\nAggiunto JSON per più account IMAP\nCorrezioni di bug",
|
|
27
|
+
"es": "Añadido movimiento de gatillo o copiar correos electrónicos\nAñadido JSON para múltiples cuentas de IMAP\nCorrección de errores",
|
|
28
|
+
"pl": "Added trigger move lub copy mail\nAdded JSON dla wielu kont IMAP\nBug",
|
|
29
|
+
"uk": "Доданий тригер переміщення або копіювання електронних листів\nДодано JSON для декількох облікових записів IMAP\nВиправлення помилок",
|
|
30
|
+
"zh-cn": "增购机或邮票\n增聘联合办多管方案账户\nBug fix"
|
|
31
|
+
},
|
|
32
|
+
"0.0.5": {
|
|
33
|
+
"en": "(Lucky-ESA) Added: Added move or copy\n(Lucky-ESA) Added: Set flag with datapoints",
|
|
34
|
+
"de": "(Lucky-ESA) Hinzugefügt: hinzugefügt verschieben oder kopieren\n(Lucky-ESA) Hinzugefügt: Flagge mit Datenpunkten festlegen",
|
|
35
|
+
"ru": "(Lucky-ESA) Добавлена: Добавлен ход или копия\n(Lucky-ESA) Добавлена: Установите флаг с точками данных",
|
|
36
|
+
"pt": "(Lucky-ESA) Adicionado: Adicionado movimento ou cópia\n(Lucky-ESA) Adicionado: Definir bandeira com datapoints",
|
|
37
|
+
"nl": "(Lucky-ESA) Toegevoegd\n(Lucky-ESA) Toegevoegd: Zet vlag met datapoints",
|
|
38
|
+
"fr": "(Lucky-ESA) Ajouté : Ajout d'un mouvement ou d'une copie\n(Lucky-ESA) Ajouté : Définir le drapeau avec des points de données",
|
|
39
|
+
"it": "(Lucky-ESA) Aggiunto: Aggiunto movimento o copia\n(Lucky-ESA) Aggiunto: Impostare la bandiera con i datapoint",
|
|
40
|
+
"es": "(Lucky-ESA) Añadido: Añadido movimiento o copia\n(Lucky-ESA) Añadido: Establecer bandera con puntos de datos",
|
|
41
|
+
"pl": "(Lucky-ESA) (ang.). Addition: Added movement or copy copy copy copy copy\n(Lucky-ESA) (ang.). Added: Ustanowić flagę z punktami danych",
|
|
42
|
+
"uk": "(Lucky-ESA) Доданий: Додано переміщення або копіювання\n(Lucky-ESA) Доданий: Настроювання прапора з точками даних",
|
|
43
|
+
"zh-cn": "(Lucky-ESA) 增 编:\n(Lucky-ESA) 增加: 数据点的旗帜"
|
|
44
|
+
},
|
|
6
45
|
"0.0.4": {
|
|
7
46
|
"en": "Fix json_table",
|
|
8
47
|
"de": "Json_table",
|
|
@@ -43,7 +82,6 @@
|
|
|
43
82
|
"zh-cn": "初步释放"
|
|
44
83
|
}
|
|
45
84
|
},
|
|
46
|
-
"title": "imap",
|
|
47
85
|
"titleLang": {
|
|
48
86
|
"en": "imap",
|
|
49
87
|
"de": "imap",
|
|
@@ -97,6 +135,11 @@
|
|
|
97
135
|
"adminUI": {
|
|
98
136
|
"config": "json"
|
|
99
137
|
},
|
|
138
|
+
"docs": {
|
|
139
|
+
"en": [
|
|
140
|
+
"docs/en/README.md"
|
|
141
|
+
]
|
|
142
|
+
},
|
|
100
143
|
"dependencies": [
|
|
101
144
|
{
|
|
102
145
|
"js-controller": ">=3.3.22"
|
|
@@ -110,13 +153,16 @@
|
|
|
110
153
|
},
|
|
111
154
|
"native": {
|
|
112
155
|
"hosts": [],
|
|
113
|
-
"icons": []
|
|
156
|
+
"icons": [],
|
|
157
|
+
"oauth_token": []
|
|
114
158
|
},
|
|
115
159
|
"encryptedNative": [
|
|
116
|
-
"password"
|
|
160
|
+
"password",
|
|
161
|
+
"secureid"
|
|
117
162
|
],
|
|
118
163
|
"protectedNative": [
|
|
119
|
-
"password"
|
|
164
|
+
"password",
|
|
165
|
+
"secureid"
|
|
120
166
|
],
|
|
121
167
|
"objects": [],
|
|
122
168
|
"instanceObjects": [
|