imapflow 1.0.119 → 1.0.121
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/lib/imap-flow.js +13 -2
- package/lib/special-use.js +9 -0
- package/package.json +8 -8
- package/test/imap-parser-test.js +7 -0
package/lib/imap-flow.js
CHANGED
|
@@ -308,6 +308,11 @@ class ImapFlow extends EventEmitter {
|
|
|
308
308
|
return;
|
|
309
309
|
}
|
|
310
310
|
|
|
311
|
+
if (this.writeSocket.destroyed) {
|
|
312
|
+
this.socket.emit('error', 'Write socket destroyed');
|
|
313
|
+
return;
|
|
314
|
+
}
|
|
315
|
+
|
|
311
316
|
let addLineBreak = !this.commandParts.length;
|
|
312
317
|
if (typeof chunk === 'string') {
|
|
313
318
|
if (addLineBreak) {
|
|
@@ -618,6 +623,8 @@ class ImapFlow extends EventEmitter {
|
|
|
618
623
|
this.socket.on('end', this._socketEnd);
|
|
619
624
|
this.socket.on('tlsClientError', this._socketError);
|
|
620
625
|
this.socket.on('timeout', this._socketTimeout);
|
|
626
|
+
|
|
627
|
+
this.writeSocket.on('error', this._socketError);
|
|
621
628
|
}
|
|
622
629
|
|
|
623
630
|
clearSocketHandlers() {
|
|
@@ -736,6 +743,9 @@ class ImapFlow extends EventEmitter {
|
|
|
736
743
|
readNext();
|
|
737
744
|
}
|
|
738
745
|
});
|
|
746
|
+
this.writeSocket.on('error', err => {
|
|
747
|
+
this.socket.emit('error', err);
|
|
748
|
+
});
|
|
739
749
|
|
|
740
750
|
this._deflate.pipe(this.socket);
|
|
741
751
|
this._deflate.on('error', err => {
|
|
@@ -1293,7 +1303,7 @@ class ImapFlow extends EventEmitter {
|
|
|
1293
1303
|
|
|
1294
1304
|
this.writeSocket = this.socket;
|
|
1295
1305
|
|
|
1296
|
-
this.socket.
|
|
1306
|
+
this.socket.on('error', err => {
|
|
1297
1307
|
clearTimeout(this.connectTimeout);
|
|
1298
1308
|
clearTimeout(this.greetingTimeout);
|
|
1299
1309
|
setImmediate(() => this.close());
|
|
@@ -1464,6 +1474,7 @@ class ImapFlow extends EventEmitter {
|
|
|
1464
1474
|
* list.forEach(mailbox=>console.log(mailbox.path));
|
|
1465
1475
|
*/
|
|
1466
1476
|
async list(options) {
|
|
1477
|
+
options = options || {};
|
|
1467
1478
|
let folders = await this.run('LIST', '', '*', options);
|
|
1468
1479
|
this.folders = new Map(folders.map(folder => [folder.path, folder]));
|
|
1469
1480
|
return folders;
|
|
@@ -2543,7 +2554,7 @@ class ImapFlow extends EventEmitter {
|
|
|
2543
2554
|
let data = {};
|
|
2544
2555
|
|
|
2545
2556
|
for (let [part, content] of response.bodyParts) {
|
|
2546
|
-
let keyParts = part.split('.');
|
|
2557
|
+
let keyParts = part.split('.mime');
|
|
2547
2558
|
if (keyParts.length === 1) {
|
|
2548
2559
|
// content
|
|
2549
2560
|
let key = keyParts[0];
|
package/lib/special-use.js
CHANGED
|
@@ -12,6 +12,8 @@ module.exports = {
|
|
|
12
12
|
'e tindami',
|
|
13
13
|
'elküldött',
|
|
14
14
|
'elküldöttek',
|
|
15
|
+
'elementos enviados',
|
|
16
|
+
'éléments envoyés',
|
|
15
17
|
'enviadas',
|
|
16
18
|
'enviadas',
|
|
17
19
|
'enviados',
|
|
@@ -37,6 +39,7 @@ module.exports = {
|
|
|
37
39
|
'napadala',
|
|
38
40
|
'nosūtītās ziņas',
|
|
39
41
|
'odeslané',
|
|
42
|
+
'odeslaná pošta',
|
|
40
43
|
'padala',
|
|
41
44
|
'poslane',
|
|
42
45
|
'poslano',
|
|
@@ -45,6 +48,7 @@ module.exports = {
|
|
|
45
48
|
'poslato',
|
|
46
49
|
'saadetud',
|
|
47
50
|
'saadetud kirjad',
|
|
51
|
+
'saadetud üksused',
|
|
48
52
|
'sendt',
|
|
49
53
|
'sendt',
|
|
50
54
|
'sent',
|
|
@@ -119,8 +123,10 @@ module.exports = {
|
|
|
119
123
|
'item dipadam',
|
|
120
124
|
'itens apagados',
|
|
121
125
|
'itens excluídos',
|
|
126
|
+
'kustutatud üksused',
|
|
122
127
|
'mục đã xóa',
|
|
123
128
|
'odstraněné položky',
|
|
129
|
+
'odstraněná pošta',
|
|
124
130
|
'pesan terhapus',
|
|
125
131
|
'poistetut',
|
|
126
132
|
'praht',
|
|
@@ -153,6 +159,8 @@ module.exports = {
|
|
|
153
159
|
'istenmeyen',
|
|
154
160
|
'istenmeyen e-posta',
|
|
155
161
|
'junk',
|
|
162
|
+
'junk e-mail',
|
|
163
|
+
'junk email',
|
|
156
164
|
'junk-e-mail',
|
|
157
165
|
'levélszemét',
|
|
158
166
|
'nevyžiadaná pošta',
|
|
@@ -161,6 +169,7 @@ module.exports = {
|
|
|
161
169
|
'posta indesiderata',
|
|
162
170
|
'pourriel',
|
|
163
171
|
'roskaposti',
|
|
172
|
+
'rämpspost',
|
|
164
173
|
'skräppost',
|
|
165
174
|
'spam',
|
|
166
175
|
'spam',
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "imapflow",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.121",
|
|
4
4
|
"description": "IMAP Client for Node",
|
|
5
5
|
"main": "./lib/imap-flow.js",
|
|
6
6
|
"scripts": {
|
|
@@ -31,12 +31,12 @@
|
|
|
31
31
|
"@babel/eslint-plugin": "7.19.1",
|
|
32
32
|
"@babel/plugin-syntax-class-properties": "7.12.13",
|
|
33
33
|
"@babel/preset-env": "7.20.2",
|
|
34
|
-
"@types/node": "18.
|
|
34
|
+
"@types/node": "18.14.0",
|
|
35
35
|
"braintree-jsdoc-template": "3.3.0",
|
|
36
|
-
"eslint": "8.
|
|
36
|
+
"eslint": "8.34.0",
|
|
37
37
|
"eslint-config-nodemailer": "1.2.0",
|
|
38
|
-
"eslint-config-prettier": "8.
|
|
39
|
-
"grunt": "1.
|
|
38
|
+
"eslint-config-prettier": "8.6.0",
|
|
39
|
+
"grunt": "1.6.1",
|
|
40
40
|
"grunt-cli": "1.4.3",
|
|
41
41
|
"grunt-contrib-nodeunit": "4.0.0",
|
|
42
42
|
"grunt-eslint": "24.0.1",
|
|
@@ -48,11 +48,11 @@
|
|
|
48
48
|
"encoding-japanese": "2.0.0",
|
|
49
49
|
"iconv-lite": "0.6.3",
|
|
50
50
|
"libbase64": "1.2.1",
|
|
51
|
-
"libmime": "5.2.
|
|
51
|
+
"libmime": "5.2.1",
|
|
52
52
|
"libqp": "2.0.1",
|
|
53
53
|
"mailsplit": "5.4.0",
|
|
54
|
-
"nodemailer": "6.
|
|
55
|
-
"pino": "8.
|
|
54
|
+
"nodemailer": "6.9.1",
|
|
55
|
+
"pino": "8.10.0",
|
|
56
56
|
"socks": "2.7.1"
|
|
57
57
|
}
|
|
58
58
|
}
|
package/test/imap-parser-test.js
CHANGED
|
@@ -970,3 +970,10 @@ module.exports['IMAP Parser, unicode status 12'] = test =>
|
|
|
970
970
|
]
|
|
971
971
|
])
|
|
972
972
|
);
|
|
973
|
+
|
|
974
|
+
module.exports['IMAP Parser, NO with a dot'] = test =>
|
|
975
|
+
asyncWrapper(test, async test => {
|
|
976
|
+
let parsed = await parser('X NO Server Unavailable. 15');
|
|
977
|
+
test.equal(parsed.command, 'NO');
|
|
978
|
+
test.deepEqual(parsed.attributes, [{ type: 'TEXT', value: 'Server Unavailable. 15' }]);
|
|
979
|
+
});
|