iobroker.imap 0.2.2 → 0.3.0
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 +68 -60
- package/admin/blockly.js +1 -1
- package/admin/i18n/de/translations.json +4 -4
- package/admin/i18n/en/translations.json +4 -4
- package/admin/jsonConfig.json +17 -1
- package/io-package.json +14 -14
- package/lib/helper.js +40 -6
- package/lib/imap_event.js +154 -58
- package/lib/translator.js +78 -0
- package/main.js +235 -214
- package/package.json +6 -8
- package/admin/index_m.html +0 -40
- package/lib/Connection.js +0 -1583
package/README.md
CHANGED
|
@@ -24,24 +24,24 @@
|
|
|
24
24
|
|
|
25
25
|
## imap adapter for ioBroker
|
|
26
26
|
|
|
27
|
-
-
|
|
28
|
-
-
|
|
29
|
-
-
|
|
27
|
+
- Monitor your email accounts via IMAP (Internet Message Access Protocol)
|
|
28
|
+
- Receive notification of new emails or updates (e. g. marked unseen)
|
|
29
|
+
- Simple login with password and username (without xoauth2 or xoauth).
|
|
30
30
|
|
|
31
31
|
## Requirements
|
|
32
32
|
|
|
33
|
-
-
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
33
|
+
- Node 18 or 20
|
|
34
|
+
- JS-Controller >= 5.0.19
|
|
35
|
+
- Admin >= 6.13.16
|
|
36
|
+
- ~150 MB free ram
|
|
37
37
|
|
|
38
38
|
## Tested with
|
|
39
39
|
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
40
|
+
- 1und1
|
|
41
|
+
- gmail [app-password](https://support.google.com/mail/answer/185833?hl=de)
|
|
42
|
+
- vodafone
|
|
43
|
+
- strato
|
|
44
|
+
- outlook (e. g. [outlook 2Factor authentication](https://mcuiobroker.gitbook.io/jarvis-infos/tipps/allgemein/microsoft-windows/2-fach-authentifizierung))
|
|
45
45
|
|
|
46
46
|
## Description
|
|
47
47
|
|
|
@@ -58,98 +58,106 @@
|
|
|
58
58
|
-->
|
|
59
59
|
|
|
60
60
|
## Changelog
|
|
61
|
+
### 0.3.0 (2024-12-07)
|
|
62
|
+
|
|
63
|
+
- (Lucky-ESA) Mailbox folder delete added
|
|
64
|
+
- (Lucky-ESA) Mailbox folder create added
|
|
65
|
+
- (Lucky-ESA) Change Mailbox Folder name added
|
|
66
|
+
- (Lucky-ESA) IMAP package changed
|
|
67
|
+
- (Lucky-ESA) Migration to ESLint9
|
|
68
|
+
|
|
61
69
|
### 0.2.2 (2024-11-07)
|
|
62
70
|
|
|
63
|
-
-
|
|
64
|
-
-
|
|
71
|
+
- (Lucky-ESA) New design for settings page added
|
|
72
|
+
- (Lucky-ESA) Crash if uid is empty for new emails
|
|
65
73
|
|
|
66
74
|
### 0.2.1 (2024-09-16)
|
|
67
75
|
|
|
68
|
-
-
|
|
69
|
-
-
|
|
70
|
-
-
|
|
76
|
+
- (Lucky-ESA) Update dependencies
|
|
77
|
+
- (Lucky-ESA) Changed Log info to debug
|
|
78
|
+
- (Lucky-ESA) Fixed blockly setFlag crash
|
|
71
79
|
|
|
72
80
|
### 0.2.0 (2024-06-15)
|
|
73
81
|
|
|
74
|
-
-
|
|
75
|
-
-
|
|
76
|
-
-
|
|
82
|
+
- (Lucky-ESA) Updated Blockly definitions
|
|
83
|
+
- (Lucky-ESA) JS-Controller >= 5.0.19 required
|
|
84
|
+
- (Lucky-ESA) Admin >=6.13.16 required
|
|
77
85
|
|
|
78
86
|
### 0.1.3 (2024-03-06)
|
|
79
87
|
|
|
80
|
-
-
|
|
81
|
-
-
|
|
82
|
-
-
|
|
88
|
+
- (Lucky-ESA) Fixed setFlag
|
|
89
|
+
- (Lucky-ESA) Fixed sendTo error during instance deletion ([#57](https://github.com/Lucky-ESA/ioBroker.imap/issues/57))
|
|
90
|
+
- (Lucky-ESA) Mass email shift intercepted
|
|
83
91
|
|
|
84
92
|
### 0.1.2 (2024-01-24)
|
|
85
93
|
|
|
86
|
-
-
|
|
87
|
-
-
|
|
88
|
-
-
|
|
94
|
+
- (Lucky-ESA) Added missing translate
|
|
95
|
+
- (Lucky-ESA) Updated package
|
|
96
|
+
- (Lucky-ESA) Bug fixes
|
|
89
97
|
|
|
90
98
|
### 0.1.1 (2023-09-11)
|
|
91
99
|
|
|
92
|
-
-
|
|
100
|
+
- (Lucky-ESA) Delete wrong error parse message
|
|
93
101
|
|
|
94
102
|
### 0.1.0 (2023-09-06)
|
|
95
103
|
|
|
96
|
-
-
|
|
97
|
-
-
|
|
98
|
-
-
|
|
99
|
-
-
|
|
100
|
-
-
|
|
104
|
+
- (Lucky-ESA) Added RAM consumption - Instance Settings
|
|
105
|
+
- (Lucky-ESA) Added german documention
|
|
106
|
+
- (Lucky-ESA) Added Mailparser options
|
|
107
|
+
- (Lucky-ESA) Added counter history
|
|
108
|
+
- (Lucky-ESA) Bug fixes
|
|
101
109
|
|
|
102
110
|
### 0.0.9 (2023-07-26)
|
|
103
111
|
|
|
104
|
-
-
|
|
105
|
-
-
|
|
112
|
+
- (Lucky-ESA) Fixed RAM consumption of new emails
|
|
113
|
+
- (Lucky-ESA) Added counter attachments in JSON
|
|
106
114
|
|
|
107
115
|
### 0.0.8 (2023-07-13)
|
|
108
116
|
|
|
109
|
-
-
|
|
110
|
-
-
|
|
117
|
+
- (Lucky-ESA) Fix refresh crash
|
|
118
|
+
- (Lucky-ESA) Added MB threshold
|
|
111
119
|
|
|
112
120
|
### 0.0.7 (2023-04-25)
|
|
113
121
|
|
|
114
|
-
-
|
|
115
|
-
-
|
|
116
|
-
-
|
|
117
|
-
-
|
|
118
|
-
-
|
|
119
|
-
-
|
|
122
|
+
- (Lucky-ESA) Fix correct counter for seen and unseen
|
|
123
|
+
- (Lucky-ESA) Added capabilities
|
|
124
|
+
- (Lucky-ESA) Criteria change without restart
|
|
125
|
+
- (Lucky-ESA) Added outlook.office365.com oauth2 login
|
|
126
|
+
- (Lucky-ESA) Added Connection.js from Module to Adapter
|
|
127
|
+
- (Lucky-ESA) Bug fixes
|
|
120
128
|
|
|
121
129
|
### 0.0.6 (2023-03-17)
|
|
122
130
|
|
|
123
|
-
-
|
|
124
|
-
-
|
|
125
|
-
-
|
|
131
|
+
- (Lucky-ESA) Added trigger move or copy emails
|
|
132
|
+
- (Lucky-ESA) Added JSON for multiple IMAP accounts
|
|
133
|
+
- (Lucky-ESA) Bug fixes
|
|
126
134
|
|
|
127
135
|
### 0.0.5 (2023-03-15)
|
|
128
136
|
|
|
129
|
-
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
-
|
|
138
|
-
-
|
|
139
|
-
-
|
|
140
|
-
-
|
|
137
|
+
- (Lucky-ESA) Added: Limited reconnected (5 max)
|
|
138
|
+
- (Lucky-ESA) Added: into datapoints
|
|
139
|
+
- (Lucky-ESA) Added: Password entry not possible without an active instance
|
|
140
|
+
- (Lucky-ESA) Added: Added description to readme
|
|
141
|
+
- (Lucky-ESA) Added: Added move or copy
|
|
142
|
+
- (Lucky-ESA) Added: Set flag with datapoints
|
|
143
|
+
- (Lucky-ESA) Fix: debug output without attachments
|
|
144
|
+
- (Lucky-ESA) Fix: wrong json_table
|
|
145
|
+
- (Lucky-ESA) Fix: value null
|
|
146
|
+
- (Lucky-ESA) Change: Reconnected change info level to debug level
|
|
147
|
+
- (Lucky-ESA) Change: correct dp roles
|
|
148
|
+
- (Lucky-ESA) Change: delete attachments (too much RAM usage)
|
|
141
149
|
|
|
142
150
|
### 0.0.4 (2023-03-03)
|
|
143
151
|
|
|
144
|
-
-
|
|
152
|
+
- (Lucky-ESA) Fix json_table
|
|
145
153
|
|
|
146
154
|
### 0.0.3 (2023-03-03)
|
|
147
155
|
|
|
148
|
-
-
|
|
156
|
+
- (Lucky-ESA) Beta release
|
|
149
157
|
|
|
150
158
|
### 0.0.2 (2023-03-03)
|
|
151
159
|
|
|
152
|
-
-
|
|
160
|
+
- (Lucky-ESA) initial release
|
|
153
161
|
|
|
154
162
|
## License
|
|
155
163
|
|
package/admin/blockly.js
CHANGED
|
@@ -632,7 +632,7 @@ Blockly.JavaScript['imap_request'] = function (block) {
|
|
|
632
632
|
` search: ${value_search},\n` +
|
|
633
633
|
` fetch: ${para_fetch || 'null'},\n` +
|
|
634
634
|
` bodie: ${value_bodie},\n` +
|
|
635
|
-
` parse: ${
|
|
635
|
+
` parse: ${value_parse},\n` +
|
|
636
636
|
`}, async (result) => {\n` +
|
|
637
637
|
statement +
|
|
638
638
|
`});\n${logText}`;
|
|
@@ -59,10 +59,10 @@
|
|
|
59
59
|
"NAME": "Name",
|
|
60
60
|
"clientid": "Kunden ID",
|
|
61
61
|
"CLIENTID": "Kunden ID",
|
|
62
|
-
"secureid": "
|
|
63
|
-
"SECUREID": "
|
|
64
|
-
"pathid": "
|
|
65
|
-
"PATHID": "
|
|
62
|
+
"secureid": "Token",
|
|
63
|
+
"SECUREID": "Token",
|
|
64
|
+
"pathid": "Mandanten-ID",
|
|
65
|
+
"PATHID": "Mandanten-ID",
|
|
66
66
|
"MAX_MB": "max. MEMRSS-Limit für einen Adapterneustart (100-600 MB - 24h-Check)",
|
|
67
67
|
"objectId": "Objekt Identifikation",
|
|
68
68
|
"telegram_user": "Instanz Benutzer",
|
|
@@ -59,10 +59,10 @@
|
|
|
59
59
|
"NAME": "Name",
|
|
60
60
|
"clientid": "Client ID",
|
|
61
61
|
"CLIENTID": "Client ID",
|
|
62
|
-
"secureid": "
|
|
63
|
-
"SECUREID": "
|
|
64
|
-
"pathid": "
|
|
65
|
-
"PATHID": "
|
|
62
|
+
"secureid": "Token",
|
|
63
|
+
"SECUREID": "Token",
|
|
64
|
+
"pathid": "Tenant ID",
|
|
65
|
+
"PATHID": "Tenant ID",
|
|
66
66
|
"MAX_MB": "Max. MEMRSS limit for an adapter restart (100-600 MB - 24h check)",
|
|
67
67
|
"objectId": "Object-ID",
|
|
68
68
|
"telegram_user": "Instance User",
|
package/admin/jsonConfig.json
CHANGED
|
@@ -255,6 +255,22 @@
|
|
|
255
255
|
"style": {
|
|
256
256
|
"width": 200
|
|
257
257
|
}
|
|
258
|
+
},
|
|
259
|
+
{
|
|
260
|
+
"type": "selectSendTo",
|
|
261
|
+
"attr": "token",
|
|
262
|
+
"width": 200,
|
|
263
|
+
"title": "token",
|
|
264
|
+
"tooltip": "TOKEN",
|
|
265
|
+
"disabled": "!data.activ",
|
|
266
|
+
"filter": false,
|
|
267
|
+
"sort": false,
|
|
268
|
+
"jsonData": "{\"token\":{\"tokens\":${JSON.stringify(globalData.oauth_token)}}}",
|
|
269
|
+
"command": "getTokenList",
|
|
270
|
+
"alsoDependsOn": ["oauth_token"],
|
|
271
|
+
"style": {
|
|
272
|
+
"width": 200
|
|
273
|
+
}
|
|
258
274
|
}
|
|
259
275
|
]
|
|
260
276
|
},
|
|
@@ -384,7 +400,7 @@
|
|
|
384
400
|
"tab3": {
|
|
385
401
|
"type": "panel",
|
|
386
402
|
"label": "Tab oauth",
|
|
387
|
-
"hidden": "
|
|
403
|
+
"hidden": "false",
|
|
388
404
|
"items": {
|
|
389
405
|
"_headerAlexa": {
|
|
390
406
|
"type": "header",
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "imap",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.3.0",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.3.0": {
|
|
7
|
+
"en": "Mailbox folder delete added\nMailbox folder create added\nChange Mailbox Folder name added\nIMAP package changed\nMigration to ESLint9",
|
|
8
|
+
"de": "Mailbox Ordner löschen hinzugefügt\nMailbox Ordner erstellen hinzugefügt\nMailbox ändern Ordnername hinzugefügt\nIMAP Paket geändert\nMigration auf ESLint9",
|
|
9
|
+
"ru": "Папка папки удалена\nПапка папки\nИзменить папку Добавлено имя папки\nIMAP пакет изменился\nМиграция в ESLint9",
|
|
10
|
+
"pt": "Pasta de caixa de correio excluir adicionado\nPasta de caixa de correio criar adicionado\nAlterar caixa de correio Nome da pasta adicionado\nPacote IMAP alterado\nMigração para ESLint9",
|
|
11
|
+
"nl": "Mailbox map verwijderen toegevoegd\nMailbox-map aanmaken\nMailbox wijzigen Mapnaam toegevoegd\nIMAP-pakket gewijzigd\nMigratie naar ESLint9",
|
|
12
|
+
"fr": "Supprimer le dossier Boîte aux lettres ajouté\nBoîte aux lettres créer ajouté\nModifier la boîte aux lettres Nom du dossier ajouté\nPaquet IMAP modifié\nMigration vers ESLint9",
|
|
13
|
+
"it": "Mailbox cartella eliminare aggiunto\nMailbox cartella creare aggiunto\nCambia la casella di posta Nome della cartella aggiunto\nPacchetto IMAP cambiato\nMigrazione a ESLint9",
|
|
14
|
+
"es": "Borrar carpeta de correo añadido\nCarpeta de correo crear añadido\nCambio de correo Nombre de carpeta añadido\nPaquete IMAP cambiado\nMigración a ESLint9",
|
|
15
|
+
"pl": "Katalog skrzynki pocztowej Usuń dodany\nKatalog Mailbox utworzyć dodane\nZmień skrzynkę pocztową Dodano nazwę folderu\nZmieniony pakiet IMAP\nMigracja do ESLint9",
|
|
16
|
+
"uk": "Видалення папки поштових скриньок\nПапка поштових скриньок\nЗміна поштової скриньки Додано назву папки\nЗмінено пакет IMAP\nМіграція в ESLint9",
|
|
17
|
+
"zh-cn": "邮箱文件夹已删除\n已添加邮箱文件夹创建\n更改邮箱 文件夹名称已添加\nIMAP 软件包已更改\n迁移到ESLint9"
|
|
18
|
+
},
|
|
6
19
|
"0.2.2": {
|
|
7
20
|
"en": "New design for settings page added\nCrash if uid is empty for new emails",
|
|
8
21
|
"de": "Neues Design für Einstellungen Seite hinzugefügt\nCrash wenn uid für neue E-Mails leer ist",
|
|
@@ -80,19 +93,6 @@
|
|
|
80
93
|
"pl": "Delete error pars",
|
|
81
94
|
"uk": "Видалити неправильне повідомлення про помилку",
|
|
82
95
|
"zh-cn": "删除错误的信息稀少"
|
|
83
|
-
},
|
|
84
|
-
"0.1.0": {
|
|
85
|
-
"en": "Added RAM consumption - Instance Settings\nAdded german documention\nAdded Mailparser options\nAdded counter history\nBug fixes",
|
|
86
|
-
"de": "RAM-Verbrauch hinzugefügt - Instanzeinstellungen\nDeutsche Dokumentation hinzugefügt\nMailparser Optionen hinzugefügt\nHinzufügen der Zählerhistorie\nFehlerbehebungen",
|
|
87
|
-
"ru": "Добавлено RAM потребление - Instance Settings\nДобавлен немецкий документ\nДобавлены опции Mailparser\nДобавлена история счетчиков\nИсправления ошибок",
|
|
88
|
-
"pt": "Consumo de RAM adicionado - Configurações de instância\nAdicionado documento alemão\nOpções de Mailparser adicionadas\nAdicionado história do contador\nCorreções de bugs",
|
|
89
|
-
"nl": "Vertaling:\nVermeldde Duitse documenten\nVermeldde Mailparser opties\nVertaling:\nBug repareert",
|
|
90
|
-
"fr": "Ajout de la consommation de RAM - Instance Settings\nAjouté German documention\nAjout des options Mailparser\nAjout de l ' historique\nCorrections",
|
|
91
|
-
"it": "Consumi RAM aggiunti - Impostazioni di ubicazione\nAggiunto tedesco documention\nOpzioni Mailparser\nAggiunto contatore storia\nCorrezioni di bug",
|
|
92
|
-
"es": "Consumo de RAM añadido - Ajustes de Instance\nSeñalación alemana\nOpciones adicionales de Mailparser\nHistoria del contador\nCorrección de errores",
|
|
93
|
-
"pl": "Zużycie pamięci RAM - Instance Settings (ang.)\nDokumentacja germanna\nAdded Mailparser option\nAdded counter history\nBug",
|
|
94
|
-
"uk": "Додано споживання оперативної пам'яті - Налаштування\nДодана німецька документація\nДодано параметри парсера електронної пошти\nІсторія лічильника\nВиправлення помилок",
|
|
95
|
-
"zh-cn": "增加分期消费-包装\n增 录\n增加无期选择\n增加反历史\nBug fix"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"titleLang": {
|
package/lib/helper.js
CHANGED
|
@@ -146,7 +146,9 @@ module.exports = {
|
|
|
146
146
|
* @param {object} id
|
|
147
147
|
*/
|
|
148
148
|
async createMails(id) {
|
|
149
|
-
if (id.maxi < 1)
|
|
149
|
+
if (id.maxi < 1) {
|
|
150
|
+
id.maxi = 10;
|
|
151
|
+
}
|
|
150
152
|
let common = {};
|
|
151
153
|
let mailid;
|
|
152
154
|
common = {
|
|
@@ -162,7 +164,7 @@ module.exports = {
|
|
|
162
164
|
};
|
|
163
165
|
await this.createDataPoint(`${id.user}.infos`, common, "folder");
|
|
164
166
|
for (let i = 1; i < id.maxi + 1; i++) {
|
|
165
|
-
mailid =
|
|
167
|
+
mailid = `0${i}`.slice(-2);
|
|
166
168
|
common = {
|
|
167
169
|
name: this.helper_translator("e-Mail"),
|
|
168
170
|
desc: "Create by Adapter",
|
|
@@ -316,7 +318,7 @@ module.exports = {
|
|
|
316
318
|
type: types,
|
|
317
319
|
common: common,
|
|
318
320
|
...nativvalue,
|
|
319
|
-
}).catch(
|
|
321
|
+
}).catch(error => {
|
|
320
322
|
this.log.warn(`createDataPoint: ${error}`);
|
|
321
323
|
});
|
|
322
324
|
} else {
|
|
@@ -1401,7 +1403,9 @@ module.exports = {
|
|
|
1401
1403
|
* @param {object|null|undefined} folder
|
|
1402
1404
|
*/
|
|
1403
1405
|
async createinbox(id, folder) {
|
|
1404
|
-
if (folder == null)
|
|
1406
|
+
if (folder == null) {
|
|
1407
|
+
return;
|
|
1408
|
+
}
|
|
1405
1409
|
let common = {};
|
|
1406
1410
|
const states = {};
|
|
1407
1411
|
for (const address of folder) {
|
|
@@ -1440,6 +1444,36 @@ module.exports = {
|
|
|
1440
1444
|
states: states,
|
|
1441
1445
|
};
|
|
1442
1446
|
await this.createDataPoint(`${id}.remote.move.folder`, common, "state");
|
|
1447
|
+
common = {
|
|
1448
|
+
type: "string",
|
|
1449
|
+
role: "state",
|
|
1450
|
+
name: this.helper_translator("create mailbox folder"),
|
|
1451
|
+
desc: "Create by Adapter",
|
|
1452
|
+
read: true,
|
|
1453
|
+
write: true,
|
|
1454
|
+
def: "",
|
|
1455
|
+
};
|
|
1456
|
+
await this.createDataPoint(`${id}.remote.mailbox_folder_create`, common, "state");
|
|
1457
|
+
common = {
|
|
1458
|
+
type: "string",
|
|
1459
|
+
role: "state",
|
|
1460
|
+
name: this.helper_translator("delete mailbox folder"),
|
|
1461
|
+
desc: "Create by Adapter",
|
|
1462
|
+
read: true,
|
|
1463
|
+
write: true,
|
|
1464
|
+
def: "",
|
|
1465
|
+
};
|
|
1466
|
+
await this.createDataPoint(`${id}.remote.mailbox_folder_delete`, common, "state");
|
|
1467
|
+
common = {
|
|
1468
|
+
type: "string",
|
|
1469
|
+
role: "state",
|
|
1470
|
+
name: this.helper_translator("change name mailbox folder"),
|
|
1471
|
+
desc: "Create by Adapter",
|
|
1472
|
+
read: true,
|
|
1473
|
+
write: true,
|
|
1474
|
+
def: '["oldname", "newname"]',
|
|
1475
|
+
};
|
|
1476
|
+
await this.createDataPoint(`${id}.remote.mailbox_folder_change_name`, common, "state");
|
|
1443
1477
|
},
|
|
1444
1478
|
async createCounter() {
|
|
1445
1479
|
let common = {};
|
|
@@ -1517,7 +1551,7 @@ module.exports = {
|
|
|
1517
1551
|
def: 0,
|
|
1518
1552
|
};
|
|
1519
1553
|
await this.createDataPoint(`${id}.infos.storage.storage_usage`, common, "state");
|
|
1520
|
-
await this.
|
|
1554
|
+
await this.setState(`${id}.infos.storage.storage_usage`, {
|
|
1521
1555
|
val: info.data.storage.usage,
|
|
1522
1556
|
ack: true,
|
|
1523
1557
|
});
|
|
@@ -1534,7 +1568,7 @@ module.exports = {
|
|
|
1534
1568
|
def: 0,
|
|
1535
1569
|
};
|
|
1536
1570
|
await this.createDataPoint(`${id}.infos.storage.storage_limit`, common, "state");
|
|
1537
|
-
await this.
|
|
1571
|
+
await this.setState(`${id}.infos.storage.storage_limit`, {
|
|
1538
1572
|
val: info.data.storage.limit,
|
|
1539
1573
|
ack: true,
|
|
1540
1574
|
});
|