@5minds/node-red-contrib-processcube-tools 1.2.3 → 1.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/.env.template CHANGED
@@ -1,11 +1,13 @@
1
- EMAIL_SEND_PORT=
2
- EMAIL_SEND_HOST=
3
- EMAIL_SEND_USER=
4
- EMAIL_SEND_PASSWORD=
1
+ EMAIL_SEND_PORT=3025
2
+ EMAIL_SEND_HOST=greenmail
3
+ EMAIL_SEND_USER=user2@localhost
4
+ EMAIL_SEND_PASSWORD=user2@localhost
5
+
6
+ EMAIL_RECEIVE_PORT=3143
7
+ EMAIL_RECEIVE_HOST=greenmail
8
+ EMAIL_RECEIVE_USER=user1@localhost
9
+ EMAIL_RECEIVE_PASSWORD=user1@localhost
10
+ # depending on IMAP server folder separators may be different, e.g. INBOX.folder1 or INBOX/folder1
11
+ # greenmails uses . gmail /
12
+ EMAIL_RECEIVE_FOLDER=["INBOX.folder1"]
5
13
 
6
- EMAIL_RECEIVE_PORT=
7
- EMAIL_RECEIVE_HOST=
8
- EMAIL_RECEIVE_USER=
9
- EMAIL_RECEIVE_PASSWORD=
10
- #EMAIL_RECEIVE_FOLDER=test_foo, test_bar
11
- EMAIL_RECEIVE_FOLDER='["test_foo", "test_bar"]'
@@ -9,6 +9,81 @@ const defaultDependencies = {
9
9
  ImapClient: node_imap_1.default,
10
10
  mailParser: mailparser_1.simpleParser,
11
11
  };
12
+ const imapConnectionPool = new Map();
13
+ // Helper function to get or create IMAP connection from pool
14
+ function getOrCreateImapConnection(poolKey, config, ImapClient, poolEnabled, poolTimeout) {
15
+ // If pooling is disabled, always create a new connection
16
+ if (!poolEnabled) {
17
+ return new ImapClient({
18
+ user: config.user,
19
+ password: config.password,
20
+ host: config.host,
21
+ port: config.port,
22
+ tls: config.tls,
23
+ connTimeout: config.connTimeout,
24
+ authTimeout: config.authTimeout,
25
+ keepalive: config.keepalive,
26
+ autotls: config.autotls,
27
+ tlsOptions: config.tlsOptions,
28
+ });
29
+ }
30
+ // Check if we have a valid connection in the pool
31
+ const pooled = imapConnectionPool.get(poolKey);
32
+ if (pooled && pooled.imap.state !== 'disconnected') {
33
+ // Clear the existing timeout
34
+ clearTimeout(pooled.timeout);
35
+ // Update last used time
36
+ pooled.lastUsed = Date.now();
37
+ // Set new timeout
38
+ pooled.timeout = setTimeout(() => {
39
+ if (pooled.imap && pooled.imap.state !== 'disconnected') {
40
+ pooled.imap.end();
41
+ }
42
+ imapConnectionPool.delete(poolKey);
43
+ }, poolTimeout);
44
+ return pooled.imap;
45
+ }
46
+ // Create new connection
47
+ const imap = new ImapClient({
48
+ user: config.user,
49
+ password: config.password,
50
+ host: config.host,
51
+ port: config.port,
52
+ tls: config.tls,
53
+ connTimeout: config.connTimeout,
54
+ authTimeout: config.authTimeout,
55
+ keepalive: config.keepalive,
56
+ autotls: config.autotls,
57
+ tlsOptions: config.tlsOptions,
58
+ });
59
+ // Store in pool with timeout
60
+ const timeout = setTimeout(() => {
61
+ if (imap && imap.state !== 'disconnected') {
62
+ imap.end();
63
+ }
64
+ imapConnectionPool.delete(poolKey);
65
+ }, poolTimeout);
66
+ imapConnectionPool.set(poolKey, {
67
+ imap,
68
+ lastUsed: Date.now(),
69
+ timeout,
70
+ });
71
+ return imap;
72
+ }
73
+ // Helper function to cleanup connection from pool
74
+ function cleanupImapConnection(poolKey, poolEnabled) {
75
+ if (!poolEnabled) {
76
+ return; // Non-pooled connections clean up themselves
77
+ }
78
+ const pooled = imapConnectionPool.get(poolKey);
79
+ if (pooled) {
80
+ clearTimeout(pooled.timeout);
81
+ if (pooled.imap && pooled.imap.state !== 'disconnected') {
82
+ pooled.imap.end();
83
+ }
84
+ imapConnectionPool.delete(poolKey);
85
+ }
86
+ }
12
87
  function toBoolean(val, defaultValue = false) {
13
88
  if (typeof val === 'boolean')
14
89
  return val;
@@ -142,14 +217,14 @@ const nodeInit = (RED, dependencies = defaultDependencies) => {
142
217
  const imap_password = RED.util.evaluateNodeProperty(imapConfigNode.password, imapConfigNode.passwordType || 'env', imapConfigNode, msg);
143
218
  const finalConfig = {
144
219
  host: imap_host,
145
- port: imap_port,
220
+ port: Number(imap_port),
146
221
  tls: imapConfigNode.tls,
147
222
  user: imap_user,
148
223
  password: imap_password,
149
224
  folders: parsedFolders,
150
225
  markSeen: toBoolean(imap_markSeen, true),
151
- connTimeout: imapConfigNode.connTimeout,
152
- authTimeout: imapConfigNode.authTimeout,
226
+ connTimeout: Number(imapConfigNode.connTimeout),
227
+ authTimeout: Number(imapConfigNode.authTimeout),
153
228
  keepalive: imapConfigNode.keepalive,
154
229
  autotls: imapConfigNode.autotls,
155
230
  tlsOptions: { rejectUnauthorized: imapConfigNode.rejectUnauthorized },
@@ -187,19 +262,11 @@ const nodeInit = (RED, dependencies = defaultDependencies) => {
187
262
  throw new Error(`Missing required IMAP config: ${missingFields.join(', ')}. Aborting.`);
188
263
  }
189
264
  const fetchEmails = (fetchConfig, onMail) => {
190
- // Use injected dependency instead of direct import
191
- const imap = new dependencies.ImapClient({
192
- user: fetchConfig.user,
193
- password: fetchConfig.password,
194
- host: fetchConfig.host,
195
- port: fetchConfig.port,
196
- tls: fetchConfig.tls,
197
- connTimeout: fetchConfig.connTimeout,
198
- authTimeout: fetchConfig.authTimeout,
199
- keepalive: fetchConfig.keepalive,
200
- autotls: fetchConfig.autotls,
201
- tlsOptions: fetchConfig.tlsOptions,
202
- });
265
+ // Get pooling configuration
266
+ const poolTimeout = imapConfigNode.poolTimeout || 60000;
267
+ const poolKey = `${config.imapConfig}`;
268
+ // Get or create IMAP connection from pool
269
+ const imap = getOrCreateImapConnection(poolKey, fetchConfig, dependencies.ImapClient, imapConfigNode.poolEnabled, poolTimeout);
203
270
  const state = {
204
271
  totalFolders: fetchConfig.folders.length,
205
272
  processedFolders: 0,
@@ -229,6 +296,27 @@ const nodeInit = (RED, dependencies = defaultDependencies) => {
229
296
  ]);
230
297
  done(error);
231
298
  }
299
+ else if (state.errors.length > 0) {
300
+ // Propagate accumulated errors to catch node
301
+ node.status({
302
+ fill: 'red',
303
+ shape: 'dot',
304
+ text: `Done, ${state.totalMails} mails from ${state.successes}/${state.totalFolders} folders. ${state.errors.length} errors.`,
305
+ });
306
+ node.send([
307
+ null,
308
+ {
309
+ payload: {
310
+ status: 'error',
311
+ total: state.totalMails,
312
+ successes: state.successes,
313
+ errors: state.errors,
314
+ totalFolders: state.totalFolders,
315
+ },
316
+ },
317
+ ]);
318
+ done(state.errors[0]);
319
+ }
232
320
  else if (state.failures > 0) {
233
321
  node.status({
234
322
  fill: 'red',
@@ -267,15 +355,20 @@ const nodeInit = (RED, dependencies = defaultDependencies) => {
267
355
  },
268
356
  ]);
269
357
  }
270
- if (imap && imap.state !== 'disconnected') {
271
- imap.end();
358
+ // Only close connection if pooling is disabled or there's an error
359
+ if (!imapConfigNode.poolEnabled || error) {
360
+ if (imap && imap.state !== 'disconnected') {
361
+ imap.end();
362
+ }
272
363
  }
364
+ // If pooling is enabled, keep connection alive for reuse
273
365
  };
274
366
  const fetchFromFolder = (folder) => {
275
367
  updateStatus('yellow', `Fetching from "${folder}"...`);
276
368
  imap.openBox(folder, false, (err, box) => {
277
369
  if (err) {
278
370
  node.error(`Could not open folder "${folder}": ${err.message}`);
371
+ state.errors.push(err);
279
372
  state.failures++;
280
373
  state.processedFolders++;
281
374
  return startNextFolder();
@@ -284,6 +377,7 @@ const nodeInit = (RED, dependencies = defaultDependencies) => {
284
377
  imap.search(['UNSEEN'], (err, results) => {
285
378
  if (err) {
286
379
  node.error(`Search failed in folder "${folder}": ${err.message}`);
380
+ state.errors.push(err);
287
381
  state.failures++;
288
382
  state.processedFolders++;
289
383
  return startNextFolder();
@@ -302,6 +396,7 @@ const nodeInit = (RED, dependencies = defaultDependencies) => {
302
396
  var _a, _b;
303
397
  if (err) {
304
398
  node.error(`Parse error for email from folder "${folder}": ${err.message}`);
399
+ state.errors.push(err);
305
400
  return;
306
401
  }
307
402
  const outMsg = {
@@ -332,6 +427,7 @@ const nodeInit = (RED, dependencies = defaultDependencies) => {
332
427
  imap.addFlags(attrs.uid, 'SEEN', (err) => {
333
428
  if (err) {
334
429
  node.error(`Failed to mark message UID ${attrs.uid} as seen: ${err.message}`);
430
+ state.errors.push(err);
335
431
  }
336
432
  });
337
433
  });
@@ -339,6 +435,7 @@ const nodeInit = (RED, dependencies = defaultDependencies) => {
339
435
  });
340
436
  fetch.once('error', (err) => {
341
437
  node.error(`Fetch error in folder "${folder}": ${err.message}`);
438
+ finalizeSession(err);
342
439
  });
343
440
  fetch.once('end', () => {
344
441
  state.successes++;
@@ -357,25 +454,35 @@ const nodeInit = (RED, dependencies = defaultDependencies) => {
357
454
  fetchFromFolder(fetchConfig.folders[state.processedFolders]);
358
455
  }
359
456
  };
360
- imap.once('ready', () => {
361
- node.status({ fill: 'green', shape: 'dot', text: 'connected' });
457
+ // Check if connection is already established (from pool)
458
+ const isAlreadyConnected = imap.state === 'authenticated';
459
+ if (isAlreadyConnected) {
460
+ // Connection already ready, start fetching immediately
461
+ node.status({ fill: 'green', shape: 'dot', text: 'connected (pooled)' });
362
462
  startNextFolder();
363
- });
364
- imap.once('error', (err) => {
365
- finalizeSession(err);
366
- });
367
- imap.once('end', () => {
368
- updateStatus('green', 'IMAP connection ended.');
369
- });
370
- try {
371
- updateStatus('yellow', 'Connecting to IMAP...');
372
- imap.connect();
373
463
  }
374
- catch (err) {
375
- const error = err instanceof Error ? err : new Error(String(err));
376
- updateStatus('red', 'Connection error: ' + error.message);
377
- done(error);
378
- return;
464
+ else {
465
+ // Set up event handlers for new connection
466
+ imap.once('ready', () => {
467
+ node.status({ fill: 'green', shape: 'dot', text: 'connected' });
468
+ startNextFolder();
469
+ });
470
+ imap.once('error', (err) => {
471
+ finalizeSession(err);
472
+ });
473
+ imap.once('end', () => {
474
+ updateStatus('green', 'IMAP connection ended.');
475
+ });
476
+ try {
477
+ updateStatus('yellow', 'Connecting to IMAP...');
478
+ imap.connect();
479
+ }
480
+ catch (err) {
481
+ const error = err instanceof Error ? err : new Error(String(err));
482
+ updateStatus('red', 'Connection error: ' + error.message);
483
+ done(error);
484
+ return;
485
+ }
379
486
  }
380
487
  };
381
488
  fetchEmails(finalConfig, (mail) => {
@@ -388,7 +495,15 @@ const nodeInit = (RED, dependencies = defaultDependencies) => {
388
495
  done(error instanceof Error ? error : new Error(String(error)));
389
496
  }
390
497
  });
391
- node.on('close', () => { });
498
+ node.on('close', (done) => {
499
+ const imapConfigNode = RED.nodes.getNode(config.imapConfig);
500
+ if (imapConfigNode) {
501
+ const poolEnabled = imapConfigNode.poolEnabled !== false;
502
+ const poolKey = `${config.imapConfig}`;
503
+ cleanupImapConnection(poolKey, poolEnabled);
504
+ }
505
+ done();
506
+ });
392
507
  }
393
508
  RED.nodes.registerType('email-receiver', EmailReceiverNode);
394
509
  };
@@ -1 +1 @@
1
- {"version":3,"file":"email-receiver.js","sourceRoot":"","sources":["../../src/email-receiver/email-receiver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email-receiver.js","sourceRoot":"","sources":["../../src/email-receiver/email-receiver.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,8 @@ const nodemailer_1 = __importDefault(require("nodemailer"));
7
7
  const defaultDependencies = {
8
8
  nodemailer: nodemailer_1.default,
9
9
  };
10
+ // Connection pool to store transporters per config node
11
+ const transporterPool = new Map();
10
12
  const EmailSenderNode = (RED, dependencies = defaultDependencies) => {
11
13
  function EmailSender(config) {
12
14
  RED.nodes.createNode(this, config);
@@ -160,14 +162,28 @@ const EmailSenderNode = (RED, dependencies = defaultDependencies) => {
160
162
  };
161
163
  console.log('[DEBUG] Email Sender - Final Configuration:', JSON.stringify(debugConfig, null, 2));
162
164
  }
163
- // Create and send email
164
- const transporter = dependencies.nodemailer.createTransport({
165
- host,
166
- port,
167
- secure,
168
- auth: { user, pass: password },
169
- tls: { rejectUnauthorized },
170
- });
165
+ // Get or create transporter from pool
166
+ const poolKey = `${config.smtpConfig}`;
167
+ let transporter = transporterPool.get(poolKey);
168
+ if (!transporter) {
169
+ // Create new transporter with optional pooling
170
+ const transportConfig = {
171
+ host,
172
+ port,
173
+ secure,
174
+ auth: { user, pass: password },
175
+ tls: { rejectUnauthorized },
176
+ };
177
+ // Add pooling configuration if enabled
178
+ if (smtpConfigNode.poolEnabled === true) {
179
+ transportConfig.pool = true;
180
+ transportConfig.maxConnections = smtpConfigNode.poolSize || 5;
181
+ transportConfig.maxMessages = 100; // Close connection after 100 messages
182
+ transportConfig.socketTimeout = smtpConfigNode.poolTimeout || 60000;
183
+ }
184
+ transporter = dependencies.nodemailer.createTransport(transportConfig);
185
+ transporterPool.set(poolKey, transporter);
186
+ }
171
187
  const mailOptions = {
172
188
  from: { name: sender, address: from },
173
189
  to,
@@ -199,16 +215,16 @@ const EmailSenderNode = (RED, dependencies = defaultDependencies) => {
199
215
  done();
200
216
  }
201
217
  else if (info.rejected && info.rejected.length > 0) {
202
- done(new Error('Email rejected: ' + info.rejected.join(', ')));
203
218
  node.status({ fill: 'red', shape: 'dot', text: 'rejected' });
219
+ done(new Error('Email rejected: ' + info.rejected.join(', ')));
204
220
  }
205
221
  else if (info.pending && info.pending.length > 0) {
206
- done(new Error('Email pending: ' + info.pending.join(', ')));
207
222
  node.status({ fill: 'yellow', shape: 'dot', text: 'pending' });
223
+ done(new Error('Email pending: ' + info.pending.join(', ')));
208
224
  }
209
225
  else {
210
- done(new Error('Unknown error while sending email.'));
211
226
  node.status({ fill: 'red', shape: 'dot', text: 'unknown error' });
227
+ done(new Error('Unknown error while sending email.'));
212
228
  }
213
229
  }
214
230
  });
@@ -222,6 +238,16 @@ const EmailSenderNode = (RED, dependencies = defaultDependencies) => {
222
238
  node.status({ fill: 'red', shape: 'dot', text: 'error' });
223
239
  }
224
240
  });
241
+ // Cleanup transporter on node close
242
+ node.on('close', (done) => {
243
+ const poolKey = `${config.smtpConfig}`;
244
+ const transporter = transporterPool.get(poolKey);
245
+ if (transporter) {
246
+ transporter.close();
247
+ transporterPool.delete(poolKey);
248
+ }
249
+ done();
250
+ });
225
251
  }
226
252
  RED.nodes.registerType('email-sender', EmailSender);
227
253
  };
@@ -1 +1 @@
1
- {"version":3,"file":"email-sender.js","sourceRoot":"","sources":["../../src/email-sender/email-sender.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email-sender.js","sourceRoot":"","sources":["../../src/email-sender/email-sender.ts"],"names":[],"mappings":"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"}
@@ -4,7 +4,7 @@
4
4
  defaults: {
5
5
  name: { value: '' },
6
6
  host: { value: '', required: true },
7
- hostType: { value: 'env' },
7
+ hostType: { value: 'env' },
8
8
  port: { value: 993, required: true },
9
9
  portType: { value: 'env' },
10
10
  tls: { value: true, required: true },
@@ -17,6 +17,8 @@
17
17
  keepalive: { value: true },
18
18
  autotls: { value: 'never' },
19
19
  rejectUnauthorized: { value: false },
20
+ poolEnabled: { value: true },
21
+ poolTimeout: { value: 60000, validate: RED.validators.number() },
20
22
  },
21
23
  label: function () {
22
24
  return this.name || `${this.user}@${this.host}`;
@@ -46,6 +48,12 @@
46
48
  typeField: '#node-config-input-passwordType',
47
49
  });
48
50
  },
51
+ oneditsave: function () {
52
+ this.tls = $('#node-config-input-tls').is(':checked');
53
+ this.keepalive = $('#node-config-input-keepalive').is(':checked');
54
+ this.rejectUnauthorized = $('#node-config-input-rejectUnauthorized').is(':checked');
55
+ this.poolEnabled = $('#node-config-input-poolEnabled').is(':checked');
56
+ },
49
57
  });
50
58
  </script>
51
59
 
@@ -112,6 +120,16 @@
112
120
  <label for="node-config-input-rejectUnauthorized"><i class="fa fa-certificate"></i> Reject Unauthorized</label>
113
121
  <input type="checkbox" id="node-config-input-rejectUnauthorized" style="display: inline-block; width: auto; vertical-align: top;" />
114
122
  </div>
123
+
124
+ <div class="form-row">
125
+ <label for="node-config-input-poolEnabled"><i class="fa fa-exchange"></i> Enable Connection Pool</label>
126
+ <input type="checkbox" id="node-config-input-poolEnabled" style="display: inline-block; width: auto; vertical-align: top;" />
127
+ </div>
128
+
129
+ <div class="form-row">
130
+ <label for="node-config-input-poolTimeout">Pool Timeout (ms)</label>
131
+ <input type="text" id="node-config-input-poolTimeout" placeholder="60000" />
132
+ </div>
115
133
  </script>
116
134
 
117
135
  <script type="text/html" data-help-name="imap-config">
@@ -151,5 +169,11 @@
151
169
 
152
170
  <dt>Reject Unauthorized <span class="property-type">boolean</span></dt>
153
171
  <dd>Reject connections with invalid TLS certificates (default: false).</dd>
172
+
173
+ <dt>Enable Connection Pool <span class="property-type">boolean</span></dt>
174
+ <dd>Keep IMAP connections alive and reuse them for multiple fetch operations (default: true). Significantly improves performance and prevents "too many connections" errors.</dd>
175
+
176
+ <dt>Pool Timeout <span class="property-type">number</span></dt>
177
+ <dd>Time in milliseconds to keep idle connections alive (default: 60000 = 1 minute).</dd>
154
178
  </dl>
155
179
  </script>
@@ -4,7 +4,9 @@ const ImapConfigNode = (RED) => {
4
4
  RED.nodes.createNode(this, config);
5
5
  // Store configuration properties
6
6
  this.host = config.host;
7
+ this.hostType = config.hostType;
7
8
  this.port = config.port;
9
+ this.portType = config.portType;
8
10
  this.tls = config.tls;
9
11
  this.user = config.user;
10
12
  this.userType = config.userType;
@@ -15,6 +17,8 @@ const ImapConfigNode = (RED) => {
15
17
  this.keepalive = config.keepalive !== undefined ? config.keepalive : true;
16
18
  this.autotls = config.autotls || 'never';
17
19
  this.rejectUnauthorized = config.rejectUnauthorized !== undefined ? config.rejectUnauthorized : false;
20
+ this.poolEnabled = config.poolEnabled !== undefined ? config.poolEnabled : true;
21
+ this.poolTimeout = config.poolTimeout !== undefined ? config.poolTimeout : 60000;
18
22
  }
19
23
  RED.nodes.registerType('imap-config', ImapConfig);
20
24
  };
@@ -1 +1 @@
1
- {"version":3,"file":"imap-config.js","sourceRoot":"","sources":["../../src/imap-config/imap-config.ts"],"names":[],"mappings":";AAiBA,MAAM,cAAc,GAAoB,CAAC,GAAG,EAAE,EAAE;IAC5C,SAAS,UAAU,CAAY,MAAgC;QAC3D,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEnC,iCAAiC;QACjC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;QACzC,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1G,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,iBAAS,cAAc,CAAC"}
1
+ {"version":3,"file":"imap-config.js","sourceRoot":"","sources":["../../src/imap-config/imap-config.ts"],"names":[],"mappings":";AAqBA,MAAM,cAAc,GAAoB,CAAC,GAAG,EAAE,EAAE;IAC5C,SAAS,UAAU,CAAY,MAAgC;QAC3D,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEnC,iCAAiC;QACjC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,KAAK,CAAC;QAC/C,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,IAAI,IAAI,CAAC;QAC9C,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;QACzC,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC;QACtG,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;IACrF,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,iBAAS,cAAc,CAAC"}
@@ -4,7 +4,7 @@
4
4
  defaults: {
5
5
  name: { value: '' },
6
6
  host: { value: '', required: true },
7
- hostType: { value: 'env' },
7
+ hostType: { value: 'env' },
8
8
  port: { value: 993, required: true },
9
9
  portType: { value: 'env' },
10
10
  user: { value: '', required: true, validate: RED.validators.typedInput('userType') },
@@ -17,6 +17,9 @@
17
17
  secure: { value: false },
18
18
  autotls: { value: 'never' },
19
19
  rejectUnauthorized: { value: false },
20
+ poolEnabled: { value: true },
21
+ poolSize: { value: 5, validate: RED.validators.number() },
22
+ poolTimeout: { value: 60000, validate: RED.validators.number() },
20
23
  },
21
24
  label: function () {
22
25
  return this.name || `${this.user}@${this.host}`;
@@ -44,6 +47,12 @@
44
47
  typeField: '#node-config-input-passwordType',
45
48
  });
46
49
  },
50
+ oneditsave: function () {
51
+ this.keepalive = $('#node-config-input-keepalive').is(':checked');
52
+ this.secure = $('#node-config-input-secure').is(':checked');
53
+ this.rejectUnauthorized = $('#node-config-input-rejectUnauthorized').is(':checked');
54
+ this.poolEnabled = $('#node-config-input-poolEnabled').is(':checked');
55
+ },
47
56
  });
48
57
  </script>
49
58
 
@@ -110,6 +119,21 @@
110
119
  <label for="node-config-input-rejectUnauthorized"><i class="fa fa-certificate"></i> Reject Unauthorized</label>
111
120
  <input type="checkbox" id="node-config-input-rejectUnauthorized" style="display: inline-block; width: auto; vertical-align: top;" />
112
121
  </div>
122
+
123
+ <div class="form-row">
124
+ <label for="node-config-input-poolEnabled"><i class="fa fa-exchange"></i> Enable Connection Pool</label>
125
+ <input type="checkbox" id="node-config-input-poolEnabled" style="display: inline-block; width: auto; vertical-align: top;" />
126
+ </div>
127
+
128
+ <div class="form-row">
129
+ <label for="node-config-input-poolSize">Pool Size</label>
130
+ <input type="text" id="node-config-input-poolSize" placeholder="5" />
131
+ </div>
132
+
133
+ <div class="form-row">
134
+ <label for="node-config-input-poolTimeout">Pool Timeout (ms)</label>
135
+ <input type="text" id="node-config-input-poolTimeout" placeholder="60000" />
136
+ </div>
113
137
  </script>
114
138
 
115
139
  <script type="text/html" data-help-name="smtp-config">
@@ -149,5 +173,14 @@
149
173
 
150
174
  <dt>Reject Unauthorized <span class="property-type">boolean</span></dt>
151
175
  <dd>Reject connections with invalid TLS certificates (default: false).</dd>
176
+
177
+ <dt>Enable Connection Pool <span class="property-type">boolean</span></dt>
178
+ <dd>Keep SMTP connections alive and reuse them for multiple emails (default: true). Significantly improves performance and prevents "too many connections" errors.</dd>
179
+
180
+ <dt>Pool Size <span class="property-type">number</span></dt>
181
+ <dd>Maximum number of simultaneous connections in the pool (default: 5).</dd>
182
+
183
+ <dt>Pool Timeout <span class="property-type">number</span></dt>
184
+ <dd>Time in milliseconds to keep idle connections alive (default: 60000 = 1 minute).</dd>
152
185
  </dl>
153
186
  </script>
@@ -4,17 +4,22 @@ const SmtpConfigNode = (RED) => {
4
4
  RED.nodes.createNode(this, config);
5
5
  // Store configuration properties
6
6
  this.host = config.host;
7
+ this.hostType = config.hostType;
7
8
  this.port = config.port;
9
+ this.portType = config.portType;
8
10
  this.user = config.user;
9
11
  this.userType = config.userType;
10
12
  this.password = config.password;
11
13
  this.passwordType = config.passwordType;
12
- this.connTimeout = config.connTimeout !== undefined ? config.connTimeout : 10000;
13
- this.authTimeout = config.authTimeout !== undefined ? config.authTimeout : 5000;
14
+ this.connTimeout = config.connTimeout !== undefined ? Number(config.connTimeout) : 10000;
15
+ this.authTimeout = config.authTimeout !== undefined ? Number(config.authTimeout) : 5000;
14
16
  this.keepalive = config.keepalive !== undefined ? config.keepalive : true;
15
17
  this.secure = config.secure !== undefined ? config.secure : false;
16
18
  this.autotls = config.autotls || 'never';
17
19
  this.rejectUnauthorized = config.rejectUnauthorized !== undefined ? config.rejectUnauthorized : false;
20
+ this.poolEnabled = config.poolEnabled !== undefined ? config.poolEnabled : true;
21
+ this.poolSize = config.poolSize !== undefined ? Number(config.poolSize) : 5;
22
+ this.poolTimeout = config.poolTimeout !== undefined ? Number(config.poolTimeout) : 60000;
18
23
  }
19
24
  RED.nodes.registerType('smtp-config', SmtpConfig);
20
25
  };
@@ -1 +1 @@
1
- {"version":3,"file":"smtp-config.js","sourceRoot":"","sources":["../../src/smtp-config/smtp-config.ts"],"names":[],"mappings":";AAiBA,MAAM,cAAc,GAAoB,CAAC,GAAG,EAAE,EAAE;IAC5C,SAAS,UAAU,CAAY,MAAgC;QAC3D,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEnC,iCAAiC;QACjC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC;QACjF,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAClE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;QACzC,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC;IAC1G,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,iBAAS,cAAc,CAAC"}
1
+ {"version":3,"file":"smtp-config.js","sourceRoot":"","sources":["../../src/smtp-config/smtp-config.ts"],"names":[],"mappings":";AAsBA,MAAM,cAAc,GAAoB,CAAC,GAAG,EAAE,EAAE;IAC5C,SAAS,UAAU,CAAY,MAAgC;QAC3D,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAEnC,iCAAiC;QACjC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC;QACxB,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC;QACxC,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;QACzF,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QACxF,IAAI,CAAC,SAAS,GAAG,MAAM,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1E,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC;QAClE,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;QACzC,IAAI,CAAC,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,kBAAkB,CAAC,CAAC,CAAC,KAAK,CAAC;QACtG,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;QAChF,IAAI,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QAC5E,IAAI,CAAC,WAAW,GAAG,MAAM,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAC7F,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;AACtD,CAAC,CAAC;AAEF,iBAAS,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@5minds/node-red-contrib-processcube-tools",
3
- "version": "1.2.3",
3
+ "version": "1.3.0",
4
4
  "license": "MIT",
5
5
  "description": "Node-RED tools nodes for ProcessCube",
6
6
  "scripts": {