@5minds/node-red-contrib-processcube-tools 1.3.0-develop-c15a3d-mhewug2m → 7.6.0-develop-51b534-mjy56xgr

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.
@@ -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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","sourcesContent":["import { NodeInitializer, Node, NodeDef, NodeMessageInFlow, NodeMessage } from 'node-red';\nimport Imap, { ImapMessageAttributes } from 'node-imap';\nimport { simpleParser, ParsedMail, Attachment } from 'mailparser';\nimport type { ImapConnectionConfig } from '../interfaces/ImapConnectionConfig';\nimport type { FetchState } from '../interfaces/FetchState';\nimport type { EmailReceiverMessage } from '../interfaces/EmailReceiverMessage';\n\ninterface EmailReceiverNodeProperties extends NodeDef {\n imapConfig: string; // Reference to imap-config node\n folder: string | string[];\n folderType: string;\n markseen: boolean;\n markseenType: string;\n}\n\ninterface EmailReceiverNodeMessage extends NodeMessageInFlow {}\n\n// Dependency injection interface\ninterface Dependencies {\n ImapClient: typeof Imap;\n mailParser: typeof simpleParser;\n}\n\n// Default dependencies - production values\nconst defaultDependencies: Dependencies = {\n ImapClient: Imap,\n mailParser: simpleParser,\n};\n\n// Connection pool for IMAP connections\ninterface PooledConnection {\n imap: Imap;\n lastUsed: number;\n timeout: NodeJS.Timeout;\n}\n\nconst imapConnectionPool = new Map<string, PooledConnection>();\n\n// Helper function to get or create IMAP connection from pool\nfunction getOrCreateImapConnection(\n poolKey: string,\n config: ImapConnectionConfig,\n ImapClient: typeof Imap,\n poolEnabled: boolean,\n poolTimeout: number,\n): Imap {\n // If pooling is disabled, always create a new connection\n if (!poolEnabled) {\n return new ImapClient({\n user: config.user,\n password: config.password,\n host: config.host,\n port: config.port,\n tls: config.tls,\n connTimeout: config.connTimeout,\n authTimeout: config.authTimeout,\n keepalive: config.keepalive,\n autotls: config.autotls as 'always' | 'never' | 'required',\n tlsOptions: config.tlsOptions,\n });\n }\n\n // Check if we have a valid connection in the pool\n const pooled = imapConnectionPool.get(poolKey);\n if (pooled && pooled.imap.state !== 'disconnected') {\n // Clear the existing timeout\n clearTimeout(pooled.timeout);\n\n // Update last used time\n pooled.lastUsed = Date.now();\n\n // Set new timeout\n pooled.timeout = setTimeout(() => {\n if (pooled.imap && pooled.imap.state !== 'disconnected') {\n pooled.imap.end();\n }\n imapConnectionPool.delete(poolKey);\n }, poolTimeout);\n\n return pooled.imap;\n }\n\n // Create new connection\n const imap = new ImapClient({\n user: config.user,\n password: config.password,\n host: config.host,\n port: config.port,\n tls: config.tls,\n connTimeout: config.connTimeout,\n authTimeout: config.authTimeout,\n keepalive: config.keepalive,\n autotls: config.autotls as 'always' | 'never' | 'required',\n tlsOptions: config.tlsOptions,\n });\n\n // Store in pool with timeout\n const timeout = setTimeout(() => {\n if (imap && imap.state !== 'disconnected') {\n imap.end();\n }\n imapConnectionPool.delete(poolKey);\n }, poolTimeout);\n\n imapConnectionPool.set(poolKey, {\n imap,\n lastUsed: Date.now(),\n timeout,\n });\n\n return imap;\n}\n\n// Helper function to cleanup connection from pool\nfunction cleanupImapConnection(poolKey: string, poolEnabled: boolean): void {\n if (!poolEnabled) {\n return; // Non-pooled connections clean up themselves\n }\n\n const pooled = imapConnectionPool.get(poolKey);\n if (pooled) {\n clearTimeout(pooled.timeout);\n if (pooled.imap && pooled.imap.state !== 'disconnected') {\n pooled.imap.end();\n }\n imapConnectionPool.delete(poolKey);\n }\n}\n\nfunction toBoolean(val: any, defaultValue = false) {\n if (typeof val === 'boolean') return val;\n if (typeof val === 'number') return val !== 0;\n if (typeof val === 'string') {\n const v = val.trim().toLowerCase();\n if (['true', '1', 'yes', 'on'].includes(v)) return true;\n if (['false', '0', 'no', 'off'].includes(v)) return false;\n }\n return defaultValue;\n}\n\nfunction parseDynamicProperty(input: any): string[] {\n if (input === null || input === undefined) return input;\n\n // Wenn der Wert bereits ein Array oder Objekt ist, direkt zurückgeben\n if (typeof input === \"object\") return input;\n\n // Wenn String → prüfen ob JSON oder CSV\n if (typeof input === \"string\") {\n const trimmed: string = input.trim();\n\n // Versuche JSON zu parsen\n if ((trimmed.startsWith(\"{\") && trimmed.endsWith(\"}\")) ||\n (trimmed.startsWith(\"[\") && trimmed.endsWith(\"]\"))) {\n try {\n return JSON.parse(trimmed);\n } catch {\n // Wenn es wie JSON aussieht, aber nicht parsebar ist → als String zurückgeben\n return [trimmed];\n }\n }\n\n // CSV-Fallback (Trennzeichen , oder ;)\n if (trimmed.includes(\",\") || trimmed.includes(\";\")) {\n return trimmed\n .split(/[,;]/)\n .map(v => v.trim())\n .filter(Boolean);\n }\n\n // Kein JSON, kein CSV → einfacher String\n return [trimmed];\n }\n\n // Fallback: primitive Werte (number, boolean etc.)\n return [String(input)];\n}\n\nconst nodeInit: NodeInitializer = (RED, dependencies: Dependencies = defaultDependencies) => {\n function EmailReceiverNode(this: Node, config: EmailReceiverNodeProperties) {\n RED.nodes.createNode(this, config);\n const node = this;\n\n // Store configuration validation error without failing construction\n let configError: Error | null = null;\n\n // Get the IMAP config node\n const imapConfigNode = RED.nodes.getNode(config.imapConfig) as any;\n\n try {\n // Validate IMAP config node exists\n if (!imapConfigNode) {\n throw new Error('IMAP configuration node is not configured');\n }\n } catch (error) {\n configError = error instanceof Error ? error : new Error(String(error));\n node.status({ fill: 'red', shape: 'ring', text: 'config error' });\n\n // Store error for test framework to detect\n (node as any).configError = configError;\n\n // Emit error immediately during construction for test framework\n // Use setImmediate to ensure node is fully constructed first\n setImmediate(() => {\n node.error(configError!.message);\n });\n }\n\n node.on('input', (msg: EmailReceiverNodeMessage, send: Function, done: Function) => {\n send =\n send ||\n function (m: NodeMessage | NodeMessage[]) {\n node.send(m);\n };\n done =\n done ||\n function (err?: Error) {\n if (err) node.error(err, msg);\n };\n\n // If there's a configuration error, report it and don't proceed\n if (configError) {\n node.error(configError.message);\n done(configError);\n return;\n }\n\n try {\n // Get configuration from config node\n const imap_markSeen = RED.util.evaluateNodeProperty(\n String(config.markseen),\n config.markseenType,\n node,\n msg,\n );\n\n // Validate folder configuration\n const evaluatedFolder = RED.util.evaluateNodeProperty(config.folder as any, config.folderType, node, msg);\n const parsedFolders: string[] = parseDynamicProperty(evaluatedFolder);\n\n // Early validation of folders - before any IMAP connection attempts\n if (!parsedFolders || parsedFolders.length === 0) {\n if (process.env.NODE_ENV === 'development') {\n console.log('[DEBUG] Parsed folders:', parsedFolders);\n console.log('[DEBUG] Original folder config:', config.folder);\n console.log('[DEBUG] Evaluated folder:', evaluatedFolder);\n }\n throw new Error('No valid folders specified. At least one folder must be provided.');\n }\n\n // Check for empty folder names\n const emptyFolders = parsedFolders.filter(folder => !folder || folder.trim().length === 0);\n if (emptyFolders.length > 0) {\n if (process.env.NODE_ENV === 'development') {\n console.log('[DEBUG] Empty folders detected:', emptyFolders);\n console.log('[DEBUG] All parsed folders:', parsedFolders);\n }\n throw new Error('Empty folder names are not allowed. Please provide valid folder names.');\n }\n\n // Check for potentially problematic folder names\n const problematicFolders = parsedFolders.filter(folder => {\n const trimmed = folder.trim();\n return /^\\d+$/.test(trimmed) || trimmed.length === 0;\n });\n if (problematicFolders.length > 0) {\n if (process.env.NODE_ENV === 'development') {\n console.log('[DEBUG] Problematic folders detected:', problematicFolders);\n console.log('[DEBUG] All parsed folders:', parsedFolders);\n }\n throw new Error(`Invalid folder names detected: ${problematicFolders.join(', ')}. Folder names should be valid strings.`);\n }\n\n // Evaluate user and password from config node (supports env and global)\n const imap_host = RED.util.evaluateNodeProperty(\n imapConfigNode.host,\n imapConfigNode.hostType || 'env',\n imapConfigNode,\n msg,\n );\n const imap_port = RED.util.evaluateNodeProperty(\n imapConfigNode.port,\n imapConfigNode.portType || 'env',\n imapConfigNode,\n msg,\n );\n const imap_user = RED.util.evaluateNodeProperty(\n imapConfigNode.user,\n imapConfigNode.userType || 'env',\n imapConfigNode,\n msg,\n );\n const imap_password = RED.util.evaluateNodeProperty(\n imapConfigNode.password,\n imapConfigNode.passwordType || 'env',\n imapConfigNode,\n msg,\n );\n\n const finalConfig: ImapConnectionConfig = {\n host: imap_host as string,\n port: Number(imap_port),\n tls: imapConfigNode.tls,\n user: imap_user as string,\n password: imap_password as string,\n folders: parsedFolders,\n markSeen: toBoolean(imap_markSeen, true),\n connTimeout: Number(imapConfigNode.connTimeout),\n authTimeout: Number(imapConfigNode.authTimeout),\n keepalive: imapConfigNode.keepalive,\n autotls: imapConfigNode.autotls,\n tlsOptions: { rejectUnauthorized: imapConfigNode.rejectUnauthorized },\n };\n\n // Debug output for development environment (always show when NODE_ENV=development)\n if (process.env.NODE_ENV === 'development') {\n const debugConfig = {\n ...finalConfig,\n password: finalConfig.password ? '[REDACTED]' : finalConfig.password\n };\n console.log('[DEBUG] Email Receiver - Final IMAP Configuration:', JSON.stringify(debugConfig, null, 2));\n }\n\n // Enhanced validation after property evaluation\n if (\n !finalConfig.user ||\n !finalConfig.password ||\n !finalConfig.port ||\n !finalConfig.host ||\n !finalConfig.folders ||\n finalConfig.folders.length === 0\n ) {\n const missingFields: string[] = [];\n if (!finalConfig.user) missingFields.push('user');\n if (!finalConfig.password) missingFields.push('password');\n if (!finalConfig.port) missingFields.push('port');\n if (!finalConfig.host) missingFields.push('host');\n if (!finalConfig.folders || finalConfig.folders.length === 0) missingFields.push('folders');\n\n // Additional debug output for missing fields in development\n if (process.env.NODE_ENV === 'development') {\n console.log('[DEBUG] Missing fields:', missingFields);\n }\n\n throw new Error(`Missing required IMAP config: ${missingFields.join(', ')}. Aborting.`);\n }\n\n const fetchEmails = (\n fetchConfig: ImapConnectionConfig,\n onMail: (mail: EmailReceiverMessage) => void,\n ) => {\n // Get pooling configuration\n const poolTimeout = imapConfigNode.poolTimeout || 60000;\n const poolKey = `${config.imapConfig}`;\n\n // Get or create IMAP connection from pool\n const imap = getOrCreateImapConnection(\n poolKey,\n fetchConfig,\n dependencies.ImapClient,\n imapConfigNode.poolEnabled,\n poolTimeout,\n );\n\n const state: FetchState = {\n totalFolders: fetchConfig.folders.length,\n processedFolders: 0,\n folderCount: {},\n successes: 0,\n failures: 0,\n totalMails: 0,\n errors: [],\n };\n\n const updateStatus = (color: string, text: string) => {\n node.status({ fill: color as any, shape: 'dot', text });\n };\n\n const finalizeSession = (error: Error | null = null) => {\n if (error) {\n state.errors.push(error);\n node.error('IMAP session terminated: ' + error.message);\n node.status({ fill: 'red', shape: 'ring', text: 'connection error' });\n node.send([\n null,\n {\n payload: {\n status: 'error',\n message: error.message,\n errors: state.errors,\n },\n },\n ]);\n done(error);\n } else if (state.errors.length > 0) {\n // Propagate accumulated errors to catch node\n node.status({\n fill: 'red',\n shape: 'dot',\n text: `Done, ${state.totalMails} mails from ${state.successes}/${state.totalFolders} folders. ${state.errors.length} errors.`,\n });\n node.send([\n null,\n {\n payload: {\n status: 'error',\n total: state.totalMails,\n successes: state.successes,\n errors: state.errors,\n totalFolders: state.totalFolders,\n },\n },\n ]);\n done(state.errors[0]);\n } else if (state.failures > 0) {\n node.status({\n fill: 'red',\n shape: 'dot',\n text: `Done, ${state.totalMails} mails from ${state.successes}/${state.totalFolders} folders. ${state.failures} failed.`,\n });\n node.send([\n null,\n {\n payload: {\n status: 'warning',\n total: state.totalMails,\n successes: state.successes,\n failures: state.failures,\n totalFolders: state.totalFolders,\n errors: state.errors,\n },\n },\n ]);\n } else {\n node.status({\n fill: 'green',\n shape: 'dot',\n text: `Done, fetched ${state.totalMails} mails from ${fetchConfig.folders.join(', ')}.`,\n });\n\n node.send([\n null,\n {\n payload: {\n status: 'success',\n total: state.totalMails,\n folderCount: state.folderCount,\n folders: fetchConfig.folders.join(', '),\n },\n },\n ]);\n }\n\n // Only close connection if pooling is disabled or there's an error\n if (!imapConfigNode.poolEnabled || error) {\n if (imap && imap.state !== 'disconnected') {\n imap.end();\n }\n }\n // If pooling is enabled, keep connection alive for reuse\n };\n\n const fetchFromFolder = (folder: string) => {\n updateStatus('yellow', `Fetching from \"${folder}\"...`);\n\n imap.openBox(folder, false, (err: Error | null, box: Imap.Box | null) => {\n if (err) {\n node.error(`Could not open folder \"${folder}\": ${err.message}`);\n state.errors.push(err);\n state.failures++;\n state.processedFolders++;\n return startNextFolder();\n }\n\n state.folderCount[folder] = 0;\n\n imap.search(['UNSEEN'], (err: Error | null, results: number[]) => {\n if (err) {\n node.error(`Search failed in folder \"${folder}\": ${err.message}`);\n state.errors.push(err);\n state.failures++;\n state.processedFolders++;\n return startNextFolder();\n }\n\n if (!results || !results.length) {\n state.successes++;\n state.processedFolders++;\n return startNextFolder();\n }\n\n state.totalMails += results.length;\n\n const fetch = imap.fetch(results, { bodies: '', markSeen: finalConfig.markSeen });\n\n fetch.on('message', (msg: Imap.ImapMessage, seqno: number) => {\n msg.on('body', (stream: NodeJS.ReadableStream) => {\n // Use injected dependency instead of direct import\n dependencies.mailParser(\n stream as any,\n (err: Error | null, parsed: ParsedMail) => {\n if (err) {\n node.error(\n `Parse error for email from folder \"${folder}\": ${err.message}`,\n );\n state.errors.push(err);\n return;\n }\n\n const outMsg: EmailReceiverMessage = {\n topic: parsed.subject || '',\n payload: parsed.text || '',\n html: parsed.html || '',\n from: parsed.replyTo?.text || parsed.from?.text || '',\n date: parsed.date,\n folder,\n header: parsed.headers,\n attachments: (parsed.attachments || []).map((att: Attachment) => ({\n contentType: att.contentType,\n fileName: att.filename,\n contentDisposition: att.contentDisposition as string,\n generatedFileName: att.cid || att.checksum,\n contentId: att.cid,\n checksum: att.checksum as string,\n length: att.size as number,\n content: att.content as Buffer,\n })),\n };\n state.folderCount[folder] = (state.folderCount[folder] || 0) + 1;\n onMail(outMsg);\n },\n );\n });\n\n if (fetchConfig.markSeen) {\n msg.once('attributes', (attrs: ImapMessageAttributes) => {\n imap.addFlags(attrs.uid, 'SEEN', (err: Error | null) => {\n if (err) {\n node.error(\n `Failed to mark message UID ${attrs.uid} as seen: ${err.message}`,\n );\n state.errors.push(err);\n }\n });\n });\n }\n });\n\n fetch.once('error', (err: Error) => {\n node.error(`Fetch error in folder \"${folder}\": ${err.message}`);\n finalizeSession(err);\n });\n\n fetch.once('end', () => {\n state.successes++;\n state.processedFolders++;\n updateStatus('green', `Fetched ${results.length} from \"${folder}\".`);\n startNextFolder();\n });\n });\n });\n };\n\n const startNextFolder = () => {\n if (state.processedFolders >= state.totalFolders) {\n finalizeSession();\n } else {\n fetchFromFolder(fetchConfig.folders[state.processedFolders]);\n }\n };\n\n // Check if connection is already established (from pool)\n const isAlreadyConnected = imap.state === 'authenticated';\n\n if (isAlreadyConnected) {\n // Connection already ready, start fetching immediately\n node.status({ fill: 'green', shape: 'dot', text: 'connected (pooled)' });\n startNextFolder();\n } else {\n // Set up event handlers for new connection\n imap.once('ready', () => {\n node.status({ fill: 'green', shape: 'dot', text: 'connected' });\n startNextFolder();\n });\n\n imap.once('error', (err: Error) => {\n finalizeSession(err);\n });\n\n imap.once('end', () => {\n updateStatus('green', 'IMAP connection ended.');\n });\n\n try {\n updateStatus('yellow', 'Connecting to IMAP...');\n imap.connect();\n } catch (err: any) {\n const error = err instanceof Error ? err : new Error(String(err));\n updateStatus('red', 'Connection error: ' + error.message);\n done(error);\n return;\n }\n }\n };\n\n fetchEmails(finalConfig, (mail) => {\n send(mail as any);\n });\n done();\n } catch (error) {\n node.status({ fill: 'red', shape: 'ring', text: 'config error' });\n done(error instanceof Error ? error : new Error(String(error)));\n }\n });\n\n node.on('close', (done: () => void) => {\n const imapConfigNode = RED.nodes.getNode(config.imapConfig) as any;\n if (imapConfigNode) {\n const poolEnabled = imapConfigNode.poolEnabled !== false;\n const poolKey = `${config.imapConfig}`;\n cleanupImapConnection(poolKey, poolEnabled);\n }\n done();\n });\n }\n RED.nodes.registerType('email-receiver', EmailReceiverNode);\n};\n\nexport = nodeInit;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"email-sender.js","sourceRoot":"","sources":["../../src/email-sender/email-sender.ts"],"names":[],"mappings":";;;;AACA,4DAAoC;AAUpC,2CAA2C;AAC3C,MAAM,mBAAmB,GAAiB;IACtC,UAAU,EAAE,oBAAU;CACzB,CAAC;AAEF,wDAAwD;AACxD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAe,CAAC;AAE/C,MAAM,eAAe,GAAoB,CAAC,GAAG,EAAE,eAA6B,mBAAmB,EAAE,EAAE;IAC/F,SAAS,WAAW,CAAa,MAAiC;QAC9D,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,oEAAoE;QACpE,IAAI,WAAW,GAAiB,IAAI,CAAC;QAErC,2BAA2B;QAC3B,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAQ,CAAC;QAEnE,IAAI,CAAC;YACD,mCAAmC;YACnC,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YACjE,CAAC;YAED,kEAAkE;YAClE,8EAA8E;YAC9E,MAAM,cAAc,GAAG;gBACnB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;gBACxC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;aACvC,CAAC;YAEF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;oBAC1E,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,IAAI,cAAc,CAAC,CAAC;gBACpE,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,WAAW,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YAElE,2CAA2C;YAC1C,IAAY,CAAC,WAAW,GAAG,WAAW,CAAC;YAExC,gEAAgE;YAChE,YAAY,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,KAAK,CAAC,WAAY,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,8BAA8B,GAAG,CAAC,GAA8B,EAAE,CAAO,EAAE,CAAc,EAAE,EAAE;YAC/F,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACnD,IAAI,CAAC;oBACD,OAAO,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrF,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBACd,CAAC,CAAC,KAAK,CAAC,2CAA2C,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACpE,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAED,IAAY,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAA2B,EAAE,IAAc,EAAE,IAAc,EAAE,EAAE;YAC5F,IAAI;gBACA,IAAI;oBACJ;wBACI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAgB,CAAC,CAAC;oBAC5C,CAAC,CAAC;YACN,IAAI;gBACA,IAAI;oBACJ,UAAU,GAAW;wBACjB,IAAI,GAAG;4BAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAClC,CAAC,CAAC;YAEN,gEAAgE;YAChE,IAAI,WAAW,EAAE,CAAC;gBACd,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAChC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAClB,OAAO;YACX,CAAC;YAED,IAAI,CAAC;gBACD,iDAAiD;gBACjD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;gBAClG,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC5F,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5F,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5F,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/F,MAAM,OAAO,GAAG,MAAM,CAClB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CACrF,CAAC;gBACF,MAAM,OAAO,GAAG,MAAM,CAClB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC;oBACxE,GAAG,CAAC,KAAK;oBACT,uBAAuB,CAC9B,CAAC;gBACF,MAAM,WAAW,GAAG,MAAM,CACtB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE,GAAG,CAAC,CACvF,CAAC;gBACF,MAAM,WAAW,GAAG,8BAA8B,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBAEtE,0CAA0C;gBAC1C,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAC3C,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,QAAQ,IAAI,KAAK,EAChC,cAAc,EACd,GAAG,CACN,CAAC;gBAEF,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAC3C,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,QAAQ,IAAI,KAAK,EAChC,cAAc,EACd,GAAG,CACN,CAAC;gBAEF,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAC3C,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,QAAQ,IAAI,KAAK,EAChC,cAAc,EACd,GAAG,CACN,CAAC;gBAEF,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAC/C,cAAc,CAAC,QAAQ,EACvB,cAAc,CAAC,YAAY,IAAI,KAAK,EACpC,cAAc,EACd,GAAG,CACN,CAAC;gBAEF,MAAM,IAAI,GAAG,SAAS,CAAC;gBACvB,MAAM,IAAI,GAAG,SAAS,CAAC;gBACvB,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;gBACrC,MAAM,kBAAkB,GAAG,cAAc,CAAC,kBAAkB,CAAC;gBAE7D,8DAA8D;gBAC9D,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;oBACrB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;wBACzC,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;wBAC3D,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;wBAC/B,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;wBAC/B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;oBACrC,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;gBACjF,CAAC;gBAED,sBAAsB;gBACtB,IAAI,oBAAoB,GAAU,EAAE,CAAC;gBACrC,IAAI,iBAAiB,GAAG,WAAW,CAAC;gBACpC,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpF,IAAI,CAAC;wBACD,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBACtD,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAI,CAAW,CAAC,OAAO,CAAC,CAAC;oBACjF,CAAC;gBACL,CAAC;gBAED,IAAI,iBAAiB,EAAE,CAAC;oBACpB,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;oBACnG,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;wBACvC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;4BACxD,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gCAC1D,oBAAoB,CAAC,IAAI,CAAC;oCACtB,QAAQ,EAAE,UAAU,CAAC,QAAQ;oCAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;iCAC9B,CAAC,CAAC;4BACP,CAAC;iCAAM,CAAC;gCACJ,MAAM,IAAI,KAAK,CACX,uEAAuE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CACtG,CAAC;4BACN,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACJ,MAAM,IAAI,KAAK,CAAC,oDAAoD,OAAO,UAAU,EAAE,CAAC,CAAC;wBAC7F,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,mFAAmF;gBACnF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;oBACzC,MAAM,WAAW,GAAG;wBAChB,IAAI,EAAE;4BACF,IAAI;4BACJ,IAAI;4BACJ,MAAM;4BACN,IAAI;4BACJ,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ;4BAC5C,kBAAkB;yBACrB;wBACD,KAAK,EAAE;4BACH,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;4BACrC,EAAE;4BACF,EAAE;4BACF,GAAG;4BACH,OAAO;4BACP,OAAO;4BACP,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BACvD,gBAAgB,EAAE,oBAAoB,CAAC,MAAM;yBAChD;qBACJ,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrG,CAAC;gBAED,sCAAsC;gBACtC,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvC,IAAI,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAE/C,IAAI,CAAC,WAAW,EAAE,CAAC;oBACf,+CAA+C;oBAC/C,MAAM,eAAe,GAAQ;wBACzB,IAAI;wBACJ,IAAI;wBACJ,MAAM;wBACN,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC9B,GAAG,EAAE,EAAE,kBAAkB,EAAE;qBAC9B,CAAC;oBAEF,uCAAuC;oBACvC,IAAI,cAAc,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;wBACtC,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC;wBAC5B,eAAe,CAAC,cAAc,GAAG,cAAc,CAAC,QAAQ,IAAI,CAAC,CAAC;wBAC9D,eAAe,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,sCAAsC;wBACzE,eAAe,CAAC,aAAa,GAAG,cAAc,CAAC,WAAW,IAAI,KAAK,CAAC;oBACxE,CAAC;oBAED,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;oBACvE,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAC9C,CAAC;gBAED,MAAM,WAAW,GAAG;oBAChB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;oBACrC,EAAE;oBACF,EAAE;oBACF,GAAG;oBACH,OAAO;oBACP,OAAO;oBACP,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;oBACvC,WAAW,EAAE,oBAAoB;iBACpC,CAAC;gBAEF,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAU,EAAE,IAAS,EAAE,EAAE;oBACxD,IAAI,KAAK,EAAE,CAAC;wBACR,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;wBAClE,IACI,KAAK,CAAC,OAAO;4BACb,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;4BACtC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAChD,CAAC;4BACC,IAAI,CACA,IAAI,KAAK,CACL,+MAA+M,CAClN,CACJ,CAAC;wBACN,CAAC;6BAAM,CAAC;4BACJ,IAAI,CAAC,KAAK,CAAC,CAAC;wBAChB,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACxC,GAAW,CAAC,OAAO,GAAG,IAAI,CAAC;wBAE5B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC5C,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;4BAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;4BACV,IAAI,EAAE,CAAC;wBACX,CAAC;6BAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACnD,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;4BAC7D,IAAI,CAAC,IAAI,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACnE,CAAC;6BAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACjD,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;4BAC/D,IAAI,CAAC,IAAI,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACjE,CAAC;6BAAM,CAAC;4BACJ,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;4BAClE,IAAI,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;wBAC1D,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,yCAAyC;gBACzC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;oBACzC,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;gBACjE,CAAC;gBACD,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9D,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,oCAAoC;QACpC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE;YAClC,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEjD,IAAI,WAAW,EAAE,CAAC;gBACd,WAAW,CAAC,KAAK,EAAE,CAAC;gBACpB,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;IACP,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,iBAAS,eAAe,CAAC"}
1
+ {"version":3,"file":"email-sender.js","sourceRoot":"","sources":["../../src/email-sender/email-sender.ts"],"names":[],"mappings":";;;;AACA,4DAAoC;AAUpC,2CAA2C;AAC3C,MAAM,mBAAmB,GAAiB;IACtC,UAAU,EAAE,oBAAU;CACzB,CAAC;AAEF,wDAAwD;AACxD,MAAM,eAAe,GAAG,IAAI,GAAG,EAAe,CAAC;AAE/C,MAAM,eAAe,GAAoB,CAAC,GAAG,EAAE,eAA6B,mBAAmB,EAAE,EAAE;IAC/F,SAAS,WAAW,CAAa,MAAiC;QAC9D,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,oEAAoE;QACpE,IAAI,WAAW,GAAiB,IAAI,CAAC;QAErC,2BAA2B;QAC3B,MAAM,cAAc,GAAG,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAQ,CAAC;QAEnE,IAAI,CAAC;YACD,mCAAmC;YACnC,IAAI,CAAC,cAAc,EAAE,CAAC;gBAClB,MAAM,IAAI,KAAK,CAAC,2CAA2C,CAAC,CAAC;YACjE,CAAC;YAED,kEAAkE;YAClE,8EAA8E;YAC9E,MAAM,cAAc,GAAG;gBACnB,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;gBACxC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE;aACvC,CAAC;YAEF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;gBACjC,IAAI,KAAK,CAAC,KAAK,KAAK,SAAS,IAAI,KAAK,CAAC,KAAK,KAAK,IAAI,IAAI,KAAK,CAAC,KAAK,KAAK,EAAE,EAAE,CAAC;oBAC1E,MAAM,IAAI,KAAK,CAAC,sBAAsB,KAAK,CAAC,IAAI,cAAc,CAAC,CAAC;gBACpE,CAAC;YACL,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,WAAW,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YACxE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,EAAE,CAAC,CAAC;YAElE,2CAA2C;YAC1C,IAAY,CAAC,WAAW,GAAG,WAAW,CAAC;YAExC,gEAAgE;YAChE,YAAY,CAAC,GAAG,EAAE;gBACd,IAAI,CAAC,KAAK,CAAC,WAAY,CAAC,OAAO,CAAC,CAAC;YACrC,CAAC,CAAC,CAAC;QACP,CAAC;QAED,MAAM,8BAA8B,GAAG,CAAC,GAA8B,EAAE,CAAO,EAAE,CAAc,EAAE,EAAE;YAC/F,IAAI,GAAG,CAAC,WAAW,IAAI,GAAG,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;gBACnD,IAAI,CAAC;oBACD,OAAO,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,eAAe,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;gBACrF,CAAC;gBAAC,OAAO,CAAM,EAAE,CAAC;oBACd,CAAC,CAAC,KAAK,CAAC,2CAA2C,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;oBACpE,OAAO,IAAI,CAAC;gBAChB,CAAC;YACL,CAAC;YACD,OAAO,IAAI,CAAC;QAChB,CAAC,CAAC;QAED,IAAY,CAAC,EAAE,CAAC,OAAO,EAAE,KAAK,EAAE,GAA2B,EAAE,IAAc,EAAE,IAAc,EAAE,EAAE;YAC5F,IAAI;gBACA,IAAI;oBACJ;wBACI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,SAAgB,CAAC,CAAC;oBAC5C,CAAC,CAAC;YACN,IAAI;gBACA,IAAI;oBACJ,UAAU,GAAW;wBACjB,IAAI,GAAG;4BAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAClC,CAAC,CAAC;YAEN,gEAAgE;YAChE,IAAI,WAAW,EAAE,CAAC;gBACd,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;gBAChC,IAAI,CAAC,WAAW,CAAC,CAAC;gBAClB,OAAO;YACX,CAAC;YAED,IAAI,CAAC;gBACD,iDAAiD;gBACjD,MAAM,MAAM,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;gBAClG,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,CAAC;gBAC5F,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5F,MAAM,EAAE,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC5F,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;gBAC/F,MAAM,OAAO,GAAG,MAAM,CAClB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CACrF,CAAC;gBACF,MAAM,OAAO,GAAG,MAAM,CAClB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,EAAE,GAAG,CAAC;oBACxE,GAAG,CAAC,KAAK;oBACT,uBAAuB,CAC9B,CAAC;gBACF,MAAM,WAAW,GAAG,MAAM,CACtB,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,WAAW,EAAE,MAAM,CAAC,eAAe,EAAE,IAAI,EAAE,GAAG,CAAC,CACvF,CAAC;gBACF,MAAM,WAAW,GAAG,8BAA8B,CAAC,MAAM,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC;gBAEtE,0CAA0C;gBAC1C,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAC3C,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,QAAQ,IAAI,KAAK,EAChC,cAAc,EACd,GAAG,CACN,CAAC;gBAEF,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAC3C,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,QAAQ,IAAI,KAAK,EAChC,cAAc,EACd,GAAG,CACN,CAAC;gBAEF,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAC3C,cAAc,CAAC,IAAI,EACnB,cAAc,CAAC,QAAQ,IAAI,KAAK,EAChC,cAAc,EACd,GAAG,CACN,CAAC;gBAEF,MAAM,aAAa,GAAG,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAC/C,cAAc,CAAC,QAAQ,EACvB,cAAc,CAAC,YAAY,IAAI,KAAK,EACpC,cAAc,EACd,GAAG,CACN,CAAC;gBAEF,MAAM,IAAI,GAAG,SAAS,CAAC;gBACvB,MAAM,IAAI,GAAG,SAAS,CAAC;gBACvB,MAAM,IAAI,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC/B,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,CAAC;gBACvC,MAAM,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;gBACrC,MAAM,kBAAkB,GAAG,cAAc,CAAC,kBAAkB,CAAC;gBAE7D,8DAA8D;gBAC9D,IAAI,CAAC,EAAE,IAAI,CAAC,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC;oBACrB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;wBACzC,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;wBAC3D,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;wBAC/B,OAAO,CAAC,GAAG,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC;wBAC/B,OAAO,CAAC,GAAG,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC;oBACrC,CAAC;oBACD,MAAM,IAAI,KAAK,CAAC,2DAA2D,CAAC,CAAC;gBACjF,CAAC;gBAED,sBAAsB;gBACtB,IAAI,oBAAoB,GAAU,EAAE,CAAC;gBACrC,IAAI,iBAAiB,GAAG,WAAW,CAAC;gBACpC,IAAI,OAAO,iBAAiB,KAAK,QAAQ,IAAI,iBAAiB,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;oBACpF,IAAI,CAAC;wBACD,iBAAiB,GAAG,IAAI,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;oBACtD,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC;wBACT,MAAM,IAAI,KAAK,CAAC,oCAAoC,GAAI,CAAW,CAAC,OAAO,CAAC,CAAC;oBACjF,CAAC;gBACL,CAAC;gBAED,IAAI,iBAAiB,EAAE,CAAC;oBACpB,MAAM,eAAe,GAAG,KAAK,CAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC,CAAC,CAAC,iBAAiB,CAAC,CAAC;oBACnG,KAAK,MAAM,UAAU,IAAI,eAAe,EAAE,CAAC;wBACvC,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,KAAK,IAAI,EAAE,CAAC;4BACxD,IAAI,UAAU,CAAC,QAAQ,IAAI,UAAU,CAAC,OAAO,KAAK,SAAS,EAAE,CAAC;gCAC1D,oBAAoB,CAAC,IAAI,CAAC;oCACtB,QAAQ,EAAE,UAAU,CAAC,QAAQ;oCAC7B,OAAO,EAAE,UAAU,CAAC,OAAO;iCAC9B,CAAC,CAAC;4BACP,CAAC;iCAAM,CAAC;gCACJ,MAAM,IAAI,KAAK,CACX,uEAAuE,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CACtG,CAAC;4BACN,CAAC;wBACL,CAAC;6BAAM,CAAC;4BACJ,MAAM,IAAI,KAAK,CAAC,oDAAoD,OAAO,UAAU,EAAE,CAAC,CAAC;wBAC7F,CAAC;oBACL,CAAC;gBACL,CAAC;gBAED,mFAAmF;gBACnF,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;oBACzC,MAAM,WAAW,GAAG;wBAChB,IAAI,EAAE;4BACF,IAAI;4BACJ,IAAI;4BACJ,MAAM;4BACN,IAAI;4BACJ,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ;4BAC5C,kBAAkB;yBACrB;wBACD,KAAK,EAAE;4BACH,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;4BACrC,EAAE;4BACF,EAAE;4BACF,GAAG;4BACH,OAAO;4BACP,OAAO;4BACP,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;4BACvD,gBAAgB,EAAE,oBAAoB,CAAC,MAAM;yBAChD;qBACJ,CAAC;oBACF,OAAO,CAAC,GAAG,CAAC,6CAA6C,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;gBACrG,CAAC;gBAED,sCAAsC;gBACtC,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;gBACvC,IAAI,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAE/C,IAAI,CAAC,WAAW,EAAE,CAAC;oBACf,+CAA+C;oBAC/C,MAAM,eAAe,GAAQ;wBACzB,IAAI;wBACJ,IAAI;wBACJ,MAAM;wBACN,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE;wBAC9B,GAAG,EAAE,EAAE,kBAAkB,EAAE;qBAC9B,CAAC;oBAEF,uCAAuC;oBACvC,IAAI,cAAc,CAAC,WAAW,KAAK,IAAI,EAAE,CAAC;wBACtC,eAAe,CAAC,IAAI,GAAG,IAAI,CAAC;wBAC5B,eAAe,CAAC,cAAc,GAAG,cAAc,CAAC,QAAQ,IAAI,CAAC,CAAC;wBAC9D,eAAe,CAAC,WAAW,GAAG,GAAG,CAAC,CAAC,sCAAsC;wBACzE,eAAe,CAAC,aAAa,GAAG,cAAc,CAAC,WAAW,IAAI,KAAK,CAAC;oBACxE,CAAC;oBAED,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC;oBACvE,eAAe,CAAC,GAAG,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;gBAC9C,CAAC;gBAED,MAAM,WAAW,GAAG;oBAChB,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,IAAI,EAAE;oBACrC,EAAE;oBACF,EAAE;oBACF,GAAG;oBACH,OAAO;oBACP,OAAO;oBACP,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,CAAC;oBACvC,WAAW,EAAE,oBAAoB;iBACpC,CAAC;gBAEF,WAAW,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC,KAAU,EAAE,IAAS,EAAE,EAAE;oBACxD,IAAI,KAAK,EAAE,CAAC;wBACR,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;wBAClE,IACI,KAAK,CAAC,OAAO;4BACb,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC;4BACtC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAChD,CAAC;4BACC,IAAI,CACA,IAAI,KAAK,CACL,+MAA+M,CAClN,CACJ,CAAC;wBACN,CAAC;6BAAM,CAAC;4BACJ,IAAI,CAAC,KAAK,CAAC,CAAC;wBAChB,CAAC;oBACL,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,GAAG,CAAC,cAAc,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;wBACxC,GAAW,CAAC,OAAO,GAAG,IAAI,CAAC;wBAE5B,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BAC5C,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;4BAC3D,IAAI,CAAC,GAAG,CAAC,CAAC;4BACV,IAAI,EAAE,CAAC;wBACX,CAAC;6BAAM,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACnD,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;4BAC7D,IAAI,CAAC,IAAI,KAAK,CAAC,kBAAkB,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACnE,CAAC;6BAAM,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;4BACjD,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;4BAC/D,IAAI,CAAC,IAAI,KAAK,CAAC,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;wBACjE,CAAC;6BAAM,CAAC;4BACJ,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC;4BAClE,IAAI,CAAC,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC,CAAC;wBAC1D,CAAC;oBACL,CAAC;gBACL,CAAC,CAAC,CAAC;YACP,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,yCAAyC;gBACzC,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,aAAa,EAAE,CAAC;oBACzC,OAAO,CAAC,GAAG,CAAC,wCAAwC,EAAE,KAAK,CAAC,CAAC;gBACjE,CAAC;gBACD,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAChE,IAAI,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;YAC9D,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,oCAAoC;QACpC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAgB,EAAE,EAAE;YAClC,MAAM,OAAO,GAAG,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;YACvC,MAAM,WAAW,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAEjD,IAAI,WAAW,EAAE,CAAC;gBACd,WAAW,CAAC,KAAK,EAAE,CAAC;gBACpB,eAAe,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,EAAE,CAAC;QACX,CAAC,CAAC,CAAC;IACP,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,WAAW,CAAC,CAAC;AACxD,CAAC,CAAC;AAEF,iBAAS,eAAe,CAAC","sourcesContent":["import { NodeInitializer, Node, NodeMessage } from 'node-red';\nimport nodemailer from 'nodemailer';\nimport { EmailSenderNodeProperties } from '../interfaces/EmailSenderNodeProperties';\n\ninterface EmailSenderNodeMessage extends NodeMessage {}\n\n// Dependency injection interface\ninterface Dependencies {\n nodemailer: typeof nodemailer;\n}\n\n// Default dependencies - production values\nconst defaultDependencies: Dependencies = {\n nodemailer: nodemailer,\n};\n\n// Connection pool to store transporters per config node\nconst transporterPool = new Map<string, any>();\n\nconst EmailSenderNode: NodeInitializer = (RED, dependencies: Dependencies = defaultDependencies) => {\n function EmailSender(this: Node, config: EmailSenderNodeProperties) {\n RED.nodes.createNode(this, config);\n const node = this;\n\n // Store configuration validation error without failing construction\n let configError: Error | null = null;\n\n // Get the SMTP config node\n const smtpConfigNode = RED.nodes.getNode(config.smtpConfig) as any;\n\n try {\n // Validate SMTP config node exists\n if (!smtpConfigNode) {\n throw new Error('SMTP configuration node is not configured');\n }\n\n // Validate only critical fields that can't be provided at runtime\n // Fields like 'to', 'subject', 'htmlContent' can be empty if provided via msg\n const requiredFields = [\n { name: 'sender', value: config.sender },\n { name: 'from', value: config.from },\n ];\n\n for (const field of requiredFields) {\n if (field.value === undefined || field.value === null || field.value === '') {\n throw new Error(`Required property '${field.name}' is missing`);\n }\n }\n } catch (error) {\n configError = error instanceof Error ? error : new Error(String(error));\n node.status({ fill: 'red', shape: 'ring', text: 'config error' });\n\n // Store error for test framework to detect\n (node as any).configError = configError;\n\n // Emit error immediately during construction for test framework\n setImmediate(() => {\n node.error(configError!.message);\n });\n }\n\n const safeEvaluatePropertyAttachment = (cfg: EmailSenderNodeProperties, n: Node, m: NodeMessage) => {\n if (cfg.attachments && cfg.attachments.trim() !== '') {\n try {\n return RED.util.evaluateNodeProperty(cfg.attachments, cfg.attachmentsType, n, m);\n } catch (e: any) {\n n.error('Failed to evaluate attachments property: ' + e.message, m);\n return null;\n }\n }\n return null;\n };\n\n (node as any).on('input', async (msg: EmailSenderNodeMessage, send: Function, done: Function) => {\n send =\n send ||\n function () {\n node.send.apply(node, arguments as any);\n };\n done =\n done ||\n function (err?: Error) {\n if (err) node.error(err, msg);\n };\n\n // If there's a configuration error, report it and don't proceed\n if (configError) {\n node.error(configError.message);\n done(configError);\n return;\n }\n\n try {\n // Retrieve and evaluate all configuration values\n const sender = String(RED.util.evaluateNodeProperty(config.sender, config.senderType, node, msg));\n const from = String(RED.util.evaluateNodeProperty(config.from, config.fromType, node, msg));\n const to = String(RED.util.evaluateNodeProperty(config.to, config.toType, node, msg) || '');\n const cc = String(RED.util.evaluateNodeProperty(config.cc, config.ccType, node, msg) || '');\n const bcc = String(RED.util.evaluateNodeProperty(config.bcc, config.bccType, node, msg) || '');\n const replyTo = String(\n RED.util.evaluateNodeProperty(config.replyTo, config.replyToType, node, msg) || '',\n );\n const subject = String(\n RED.util.evaluateNodeProperty(config.subject, config.subjectType, node, msg) ||\n msg.topic ||\n 'Message from Node-RED',\n );\n const htmlContent = String(\n RED.util.evaluateNodeProperty(config.htmlContent, config.htmlContentType, node, msg),\n );\n const attachments = safeEvaluatePropertyAttachment(config, node, msg);\n\n // Get SMTP Configuration from config node\n const smtp_host = RED.util.evaluateNodeProperty(\n smtpConfigNode.host,\n smtpConfigNode.hostType || 'env',\n smtpConfigNode,\n msg,\n );\n\n const smtp_port = RED.util.evaluateNodeProperty(\n smtpConfigNode.port,\n smtpConfigNode.portType || 'env',\n smtpConfigNode,\n msg,\n );\n\n const smtp_user = RED.util.evaluateNodeProperty(\n smtpConfigNode.user,\n smtpConfigNode.userType || 'env',\n smtpConfigNode,\n msg,\n );\n\n const smtp_password = RED.util.evaluateNodeProperty(\n smtpConfigNode.password,\n smtpConfigNode.passwordType || 'env',\n smtpConfigNode,\n msg,\n );\n\n const host = smtp_host;\n const port = smtp_port;\n const user = String(smtp_user);\n const password = String(smtp_password);\n const secure = smtpConfigNode.secure;\n const rejectUnauthorized = smtpConfigNode.rejectUnauthorized;\n\n // Runtime validation: at least one recipient must be provided\n if (!to && !cc && !bcc) {\n if (process.env.NODE_ENV === 'development') {\n console.log('[DEBUG] Email Sender - No recipients found:');\n console.log('[DEBUG] to:', to);\n console.log('[DEBUG] cc:', cc);\n console.log('[DEBUG] bcc:', bcc);\n }\n throw new Error('At least one recipient (to, cc, or bcc) must be specified');\n }\n\n // Process attachments\n let processedAttachments: any[] = [];\n let parsedAttachments = attachments;\n if (typeof parsedAttachments === 'string' && parsedAttachments.trim().startsWith('[')) {\n try {\n parsedAttachments = JSON.parse(parsedAttachments);\n } catch (e) {\n throw new Error('Failed to parse attachments JSON: ' + (e as Error).message);\n }\n }\n\n if (parsedAttachments) {\n const attachmentArray = Array.isArray(parsedAttachments) ? parsedAttachments : [parsedAttachments];\n for (const attachment of attachmentArray) {\n if (typeof attachment === 'object' && attachment !== null) {\n if (attachment.filename && attachment.content !== undefined) {\n processedAttachments.push({\n filename: attachment.filename,\n content: attachment.content,\n });\n } else {\n throw new Error(\n `Attachment object is missing 'filename' or 'content' property. Got: ${JSON.stringify(attachment)}`,\n );\n }\n } else {\n throw new Error(`Invalid attachment format. Expected object, got: ${typeof attachment}`);\n }\n }\n }\n\n // Debug output for development environment (always show when NODE_ENV=development)\n if (process.env.NODE_ENV === 'development') {\n const debugConfig = {\n smtp: {\n host,\n port,\n secure,\n user,\n password: password ? '[REDACTED]' : password,\n rejectUnauthorized\n },\n email: {\n from: { name: sender, address: from },\n to,\n cc,\n bcc,\n replyTo,\n subject,\n htmlContentLength: htmlContent ? htmlContent.length : 0,\n attachmentsCount: processedAttachments.length\n }\n };\n console.log('[DEBUG] Email Sender - Final Configuration:', JSON.stringify(debugConfig, null, 2));\n }\n\n // Get or create transporter from pool\n const poolKey = `${config.smtpConfig}`;\n let transporter = transporterPool.get(poolKey);\n\n if (!transporter) {\n // Create new transporter with optional pooling\n const transportConfig: any = {\n host,\n port,\n secure,\n auth: { user, pass: password },\n tls: { rejectUnauthorized },\n };\n\n // Add pooling configuration if enabled\n if (smtpConfigNode.poolEnabled === true) {\n transportConfig.pool = true;\n transportConfig.maxConnections = smtpConfigNode.poolSize || 5;\n transportConfig.maxMessages = 100; // Close connection after 100 messages\n transportConfig.socketTimeout = smtpConfigNode.poolTimeout || 60000;\n }\n\n transporter = dependencies.nodemailer.createTransport(transportConfig);\n transporterPool.set(poolKey, transporter);\n }\n\n const mailOptions = {\n from: { name: sender, address: from },\n to,\n cc,\n bcc,\n replyTo,\n subject,\n html: Buffer.from(htmlContent, 'utf-8'),\n attachments: processedAttachments,\n };\n\n transporter.sendMail(mailOptions, (error: any, info: any) => {\n if (error) {\n node.status({ fill: 'red', shape: 'dot', text: 'error sending' });\n if (\n error.message &&\n error.message.includes('SSL routines') &&\n error.message.includes('wrong version number')\n ) {\n done(\n new Error(\n 'SSL/TLS connection failed: Wrong version number. This usually means the wrong port or security settings are used. For SMTP: use port 587 with secure=false (STARTTLS) or port 465 with secure=true (SSL/TLS).',\n ),\n );\n } else {\n done(error);\n }\n } else {\n node.log('Email sent: ' + info.response);\n (msg as any).payload = info;\n\n if (info.accepted && info.accepted.length > 0) {\n node.status({ fill: 'green', shape: 'dot', text: 'sent' });\n send(msg);\n done();\n } else if (info.rejected && info.rejected.length > 0) {\n node.status({ fill: 'red', shape: 'dot', text: 'rejected' });\n done(new Error('Email rejected: ' + info.rejected.join(', ')));\n } else if (info.pending && info.pending.length > 0) {\n node.status({ fill: 'yellow', shape: 'dot', text: 'pending' });\n done(new Error('Email pending: ' + info.pending.join(', ')));\n } else {\n node.status({ fill: 'red', shape: 'dot', text: 'unknown error' });\n done(new Error('Unknown error while sending email.'));\n }\n }\n });\n } catch (error) {\n // Debug output for errors in development\n if (process.env.NODE_ENV === 'development') {\n console.log('[DEBUG] Email Sender - Error occurred:', error);\n }\n done(error instanceof Error ? error : new Error(String(error)));\n node.status({ fill: 'red', shape: 'dot', text: 'error' });\n }\n });\n\n // Cleanup transporter on node close\n node.on('close', (done: () => void) => {\n const poolKey = `${config.smtpConfig}`;\n const transporter = transporterPool.get(poolKey);\n\n if (transporter) {\n transporter.close();\n transporterPool.delete(poolKey);\n }\n\n done();\n });\n }\n\n RED.nodes.registerType('email-sender', EmailSender);\n};\n\nexport = EmailSenderNode;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"html-to-text.js","sourceRoot":"","sources":["../../src/html-to-text/html-to-text.ts"],"names":[],"mappings":";AACA,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAU5C,MAAM,cAAc,GAAoB,UAAU,GAAG;IACjD,SAAS,UAAU,CAAa,MAAgC;QAC5D,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,MAAM,OAAO,GAAG;YACZ,QAAQ,EAAE,GAAG;SAChB,CAAC;QAEF,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAExC,IAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,IAAe,EAAE,IAAe,EAAE,EAAE;YACvF,2EAA2E;YAC3E,IAAI;gBACA,IAAI;oBACJ,UAAU,CAA8B;wBACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACjB,CAAC,CAAC;YACN,IAAI;gBACA,IAAI;oBACJ,UAAU,GAAW;wBACjB,IAAI,GAAG;4BAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAClC,CAAC,CAAC;YAEN,IAAI,CAAC;gBACD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAChD,CAAC;gBAED,GAAG,CAAC,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,IAAI,EAAE,CAAC;YACX,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpE,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,iBAAS,cAAc,CAAC"}
1
+ {"version":3,"file":"html-to-text.js","sourceRoot":"","sources":["../../src/html-to-text/html-to-text.ts"],"names":[],"mappings":";AACA,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;AAU5C,MAAM,cAAc,GAAoB,UAAU,GAAG;IACjD,SAAS,UAAU,CAAa,MAAgC;QAC5D,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QACnC,MAAM,IAAI,GAAG,IAAI,CAAC;QAElB,MAAM,OAAO,GAAG;YACZ,QAAQ,EAAE,GAAG;SAChB,CAAC;QAEF,MAAM,eAAe,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAExC,IAAY,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,GAA0B,EAAE,IAAe,EAAE,IAAe,EAAE,EAAE;YACvF,2EAA2E;YAC3E,IAAI;gBACA,IAAI;oBACJ,UAAU,CAA8B;wBACpC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;oBACjB,CAAC,CAAC;YACN,IAAI;gBACA,IAAI;oBACJ,UAAU,GAAW;wBACjB,IAAI,GAAG;4BAAE,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;oBAClC,CAAC,CAAC;YAEN,IAAI,CAAC;gBACD,IAAI,OAAO,GAAG,CAAC,OAAO,KAAK,QAAQ,EAAE,CAAC;oBAClC,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;gBAChD,CAAC;gBAED,GAAG,CAAC,OAAO,GAAG,eAAe,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;gBAC3C,IAAI,CAAC,GAAG,CAAC,CAAC;gBACV,IAAI,EAAE,CAAC;YACX,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACb,IAAI,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACpE,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,cAAc,EAAE,UAAU,CAAC,CAAC;AACvD,CAAC,CAAC;AAEF,iBAAS,cAAc,CAAC","sourcesContent":["import { NodeInitializer, Node, NodeDef, NodeMessage } from 'node-red';\nconst { compile } = require('html-to-text');\n\ninterface HtmlToTextNodeProperties extends NodeDef {\n // Add your custom properties here if needed\n}\n\ninterface HtmlToTextNodeMessage extends NodeMessage {\n payload: string;\n}\n\nconst HtmlToTextNode: NodeInitializer = function (RED) {\n function HtmlToText(this: Node, config: HtmlToTextNodeProperties) {\n RED.nodes.createNode(this, config);\n const node = this;\n\n const options = {\n wordwrap: 130,\n };\n\n const compiledConvert = compile(options);\n\n (node as any).on('input', (msg: HtmlToTextNodeMessage, send?: Function, done?: Function) => {\n // Provide default functions if not available (for older Node-RED versions)\n send =\n send ||\n function (m: NodeMessage | NodeMessage[]) {\n node.send(m);\n };\n done =\n done ||\n function (err?: Error) {\n if (err) node.error(err, msg);\n };\n\n try {\n if (typeof msg.payload !== 'string') {\n throw new Error('Payload is not a string!');\n }\n\n msg.payload = compiledConvert(msg.payload);\n send(msg);\n done();\n } catch (error) {\n done(error instanceof Error ? error : new Error(String(error)));\n }\n });\n }\n\n RED.nodes.registerType('html-to-text', HtmlToText);\n};\n\nexport = HtmlToTextNode;\n"]}
@@ -1 +1 @@
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"}
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","sourcesContent":["import { NodeInitializer, NodeDef } from 'node-red';\n\ninterface ImapConfigNodeProperties extends NodeDef {\n host: string;\n hostType: string;\n port: string;\n portType: string;\n tls: boolean;\n user: string;\n userType: string;\n password: string;\n passwordType: string;\n connTimeout: number;\n authTimeout: number;\n keepalive: boolean;\n autotls: 'always' | 'never' | 'required';\n rejectUnauthorized: boolean;\n poolEnabled?: boolean;\n poolTimeout?: number;\n}\n\nconst ImapConfigNode: NodeInitializer = (RED) => {\n function ImapConfig(this: any, config: ImapConfigNodeProperties) {\n RED.nodes.createNode(this, config);\n\n // Store configuration properties\n this.host = config.host;\n this.hostType = config.hostType;\n this.port = config.port;\n this.portType = config.portType;\n this.tls = config.tls;\n this.user = config.user;\n this.userType = config.userType;\n this.password = config.password;\n this.passwordType = config.passwordType;\n this.connTimeout = config.connTimeout || 10000;\n this.authTimeout = config.authTimeout || 5000;\n this.keepalive = config.keepalive !== undefined ? config.keepalive : true;\n this.autotls = config.autotls || 'never';\n this.rejectUnauthorized = config.rejectUnauthorized !== undefined ? config.rejectUnauthorized : false;\n this.poolEnabled = config.poolEnabled !== undefined ? config.poolEnabled : true;\n this.poolTimeout = config.poolTimeout !== undefined ? config.poolTimeout : 60000;\n }\n\n RED.nodes.registerType('imap-config', ImapConfig);\n};\n\nexport = ImapConfigNode;\n"]}
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,yDAAyD;AACzD,4EAA+D;AAC/D,4EAA+D;AAC/D,qFAAwE;AACxE,+EAAkE;AAClE,+EAAiE;AAGjE,iBAAS,UAAU,GAAQ;IACvB,uDAAuD;IACvD,IAAA,qBAAsB,EAAC,GAAG,CAAC,CAAC;IAC5B,IAAA,qBAAsB,EAAC,GAAG,CAAC,CAAC;IAC5B,IAAA,wBAAyB,EAAC,GAAG,CAAC,CAAC;IAC/B,IAAA,sBAAuB,EAAC,GAAG,CAAC,CAAC;IAC7B,IAAA,sBAAsB,EAAC,GAAG,CAAC,CAAC;AAChC,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;AAAA,yDAAyD;AACzD,4EAA+D;AAC/D,4EAA+D;AAC/D,qFAAwE;AACxE,+EAAkE;AAClE,+EAAiE;AAGjE,iBAAS,UAAU,GAAQ;IACvB,uDAAuD;IACvD,IAAA,qBAAsB,EAAC,GAAG,CAAC,CAAC;IAC5B,IAAA,qBAAsB,EAAC,GAAG,CAAC,CAAC;IAC5B,IAAA,wBAAyB,EAAC,GAAG,CAAC,CAAC;IAC/B,IAAA,sBAAuB,EAAC,GAAG,CAAC,CAAC;IAC7B,IAAA,sBAAsB,EAAC,GAAG,CAAC,CAAC;AAChC,CAAC,CAAC","sourcesContent":["// Importiere die Registrierungsfunktion für deine Nodes.\nimport registerImapConfigNode from './imap-config/imap-config';\nimport registerSmtpConfigNode from './smtp-config/smtp-config';\nimport registerEmailReceiverNode from './email-receiver/email-receiver';\nimport registerEmailSenderNode from './email-sender/email-sender';\nimport registerHtmlToTextNode from './html-to-text/html-to-text';\n\n// Exportiere eine Funktion, die alle Nodes registriert.\nexport = function (RED: any) {\n // Rufe die Registrierungsfunktionen für jede Node auf.\n registerImapConfigNode(RED);\n registerSmtpConfigNode(RED);\n registerEmailReceiverNode(RED);\n registerEmailSenderNode(RED);\n registerHtmlToTextNode(RED);\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"EmailReceiverMessage.js","sourceRoot":"","sources":["../../src/interfaces/EmailReceiverMessage.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"EmailReceiverMessage.js","sourceRoot":"","sources":["../../src/interfaces/EmailReceiverMessage.ts"],"names":[],"mappings":"","sourcesContent":["import type { ParsedMail } from 'mailparser';\n\n// Custom type for the output message\nexport interface EmailReceiverMessage {\n topic: string | undefined;\n payload: string | undefined;\n html: string | boolean | undefined;\n from: string | undefined;\n date: Date | undefined;\n folder: string;\n header: ParsedMail['headers'];\n attachments: Array<{\n contentType: string;\n fileName: string | undefined;\n contentDisposition: string;\n generatedFileName: string | undefined;\n contentId: string | undefined;\n checksum: string;\n length: number;\n content: Buffer;\n }>;\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"EmailSenderNodeProperties.js","sourceRoot":"","sources":["../../src/interfaces/EmailSenderNodeProperties.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"EmailSenderNodeProperties.js","sourceRoot":"","sources":["../../src/interfaces/EmailSenderNodeProperties.ts"],"names":[],"mappings":"","sourcesContent":["import { NodeDef } from 'node-red';\n\nexport interface EmailSenderNodeProperties extends NodeDef {\n // Mail configuration properties\n sender: string;\n senderType: string;\n from: string;\n fromType: string;\n to: string;\n toType: string;\n cc: string;\n ccType: string;\n bcc: string;\n bccType: string;\n replyTo: string;\n replyToType: string;\n subject: string;\n subjectType: string;\n htmlContent: string;\n htmlContentType: string;\n attachments: string;\n attachmentsType: string;\n\n // SMTP configuration reference\n smtpConfig: string; // Reference to smtp-config node\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"FetchState.js","sourceRoot":"","sources":["../../src/interfaces/FetchState.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"FetchState.js","sourceRoot":"","sources":["../../src/interfaces/FetchState.ts"],"names":[],"mappings":"","sourcesContent":["export interface FetchState {\n totalFolders: number;\n processedFolders: number;\n successes: number;\n failures: number;\n totalMails: number;\n errors: Error[];\n folderCount: { [folder: string]: number };\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"ImapConnectionConfig.js","sourceRoot":"","sources":["../../src/interfaces/ImapConnectionConfig.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"ImapConnectionConfig.js","sourceRoot":"","sources":["../../src/interfaces/ImapConnectionConfig.ts"],"names":[],"mappings":"","sourcesContent":["export interface ImapConnectionConfig {\n host: string;\n port: number;\n tls: boolean;\n user: string;\n password: string;\n folders: string[];\n markSeen: boolean;\n connTimeout: number;\n authTimeout: number;\n keepalive: boolean;\n autotls: string;\n tlsOptions: { rejectUnauthorized: boolean };\n}\n"]}
@@ -1 +1 @@
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"}
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","sourcesContent":["import { NodeInitializer, NodeDef } from 'node-red';\n\ninterface SmtpConfigNodeProperties extends NodeDef {\n host: string;\n hostType: string;\n port: number;\n portType: string;\n user: string;\n userType: string;\n password: string;\n passwordType: string;\n connTimeout: number;\n authTimeout: number;\n keepalive: boolean;\n secure: boolean;\n autotls: string;\n rejectUnauthorized: boolean;\n poolEnabled?: boolean;\n poolSize?: number;\n poolTimeout?: number;\n}\n\nconst SmtpConfigNode: NodeInitializer = (RED) => {\n function SmtpConfig(this: any, config: SmtpConfigNodeProperties) {\n RED.nodes.createNode(this, config);\n\n // Store configuration properties\n this.host = config.host;\n this.hostType = config.hostType;\n this.port = config.port;\n this.portType = config.portType;\n this.user = config.user;\n this.userType = config.userType;\n this.password = config.password;\n this.passwordType = config.passwordType;\n this.connTimeout = config.connTimeout !== undefined ? Number(config.connTimeout) : 10000;\n this.authTimeout = config.authTimeout !== undefined ? Number(config.authTimeout) : 5000;\n this.keepalive = config.keepalive !== undefined ? config.keepalive : true;\n this.secure = config.secure !== undefined ? config.secure : false;\n this.autotls = config.autotls || 'never';\n this.rejectUnauthorized = config.rejectUnauthorized !== undefined ? config.rejectUnauthorized : false;\n this.poolEnabled = config.poolEnabled !== undefined ? config.poolEnabled : true;\n this.poolSize = config.poolSize !== undefined ? Number(config.poolSize) : 5;\n this.poolTimeout = config.poolTimeout !== undefined ? Number(config.poolTimeout) : 60000;\n }\n\n RED.nodes.registerType('smtp-config', SmtpConfig);\n};\n\nexport = SmtpConfigNode;\n"]}
package/package.json CHANGED
@@ -1,91 +1,92 @@
1
1
  {
2
- "name": "@5minds/node-red-contrib-processcube-tools",
3
- "version": "1.3.0-develop-c15a3d-mhewug2m",
4
- "license": "MIT",
5
- "description": "Node-RED tools nodes for ProcessCube",
6
- "scripts": {
7
- "build": "npm-run-all build:*",
8
- "build:ts": "tsc",
9
- "build:html": "cpx \"./src/**/*.html\" ./dist",
10
- "lint": "prettier --write --config ./.prettierrc.json \"**/*.{html,ts}\"",
11
- "test": "mocha --require ts-node/register 'src/test/**/*.test.ts'",
12
- "test:unit": "mocha --require ts-node/register 'src/test/unit/**/*.test.ts'",
13
- "test:integration": "mocha --require ts-node/register 'src/test/integration/**/*.test.ts'"
2
+ "name": "@5minds/node-red-contrib-processcube-tools",
3
+ "version": "7.6.0-develop-51b534-mjy56xgr",
4
+ "license": "MIT",
5
+ "description": "Node-RED tools nodes for ProcessCube",
6
+ "authors": [
7
+ {
8
+ "name": "Martin Moellenbeck",
9
+ "email": "Martin.Moellenbeck@5Minds.de"
14
10
  },
15
- "authors": [
16
- {
17
- "name": "Martin Moellenbeck",
18
- "email": "Martin.Moellenbeck@5Minds.de"
19
- },
20
- {
21
- "name": "Robin Lenz",
22
- "email": "Robin.Lenz@5Minds.de"
23
- },
24
- {
25
- "name": "Diana Stefan",
26
- "email": "Diana.Stefan@5Minds.de"
27
- }
28
- ],
29
- "repository": {
30
- "type": "git",
31
- "url": "https://github.com/5minds/node-red-contrib-processcube-tools"
11
+ {
12
+ "name": "Robin Lenz",
13
+ "email": "Robin.Lenz@5Minds.de"
32
14
  },
33
- "bugs": {
34
- "url": "https://github.com/5minds/node-red-contrib-processcube-tools/issues",
35
- "email": "processcube@5minds.de"
15
+ {
16
+ "name": "Diana Stefan",
17
+ "email": "Diana.Stefan@5Minds.de"
18
+ }
19
+ ],
20
+ "repository": {
21
+ "type": "git",
22
+ "url": "https://github.com/5minds/ProcessCube.LowCode.git",
23
+ "directory": "packages/node-red-contrib-processcube-tools"
24
+ },
25
+ "bugs": {
26
+ "url": "https://github.com/5minds/node-red-contrib-processcube-tools/issues",
27
+ "email": "processcube@5minds.de"
28
+ },
29
+ "engines": {
30
+ "node": ">=14",
31
+ "npm": ">=8.0.0"
32
+ },
33
+ "node-red": {
34
+ "version": "^4.1.0",
35
+ "nodes": {
36
+ "ImapConfig": "dist/imap-config/imap-config.js",
37
+ "SmtpConfig": "dist/smtp-config/smtp-config.js",
38
+ "EmailReceiver": "dist/email-receiver/email-receiver.js",
39
+ "EmailSender": "dist/email-sender/email-sender.js",
40
+ "HtmlToText": "dist/html-to-text/html-to-text.js"
36
41
  },
37
- "engines": {
38
- "node": ">=14",
39
- "npm": ">=8.0.0"
40
- },
41
- "node-red": {
42
- "version": "^4.1.0",
43
- "nodes": {
44
- "ImapConfig": "dist/imap-config/imap-config.js",
45
- "SmtpConfig": "dist/smtp-config/smtp-config.js",
46
- "EmailReceiver": "dist/email-receiver/email-receiver.js",
47
- "EmailSender": "dist/email-sender/email-sender.js",
48
- "HtmlToText": "dist/html-to-text/html-to-text.js"
49
- },
50
- "examples": "examples"
51
- },
52
- "dependencies": {
53
- "html-to-text": "^9.0.5",
54
- "mailparser": "^3.7.4",
55
- "node-imap": "^0.9.6",
56
- "nodemailer": "^7.0.6",
57
- "utf7": "^1.0.2"
58
- },
59
- "devDependencies": {
60
- "@types/chai": "^5.2.2",
61
- "@types/mailparser": "^3.4.6",
62
- "@types/mocha": "^10.0.10",
63
- "@types/node": "^24.5.2",
64
- "@types/node-imap": "^0.9.3",
65
- "@types/node-red": "^1.3.5",
66
- "@types/node-red-node-test-helper": "^0.3.4",
67
- "@types/nodemailer": "^7.0.1",
68
- "chai": "^4.3.4",
69
- "cpx2": "^8.0.0",
70
- "mocha": "^11.7.2",
71
- "node-red": "^4.0.9",
72
- "node-red-node-test-helper": "^0.3.5",
73
- "npm-run-all": "^4.1.5",
74
- "ts-node": "^10.9.2",
75
- "typescript": "^5.9.2"
76
- },
77
- "overrides": {
78
- "semver": ">=7.5.2",
79
- "axios": ">=1.12.0",
80
- "html-to-text": "^9.0.5",
81
- "node-imap": "^0.9.6",
82
- "nodemailer": "^7.0.6",
83
- "utf7": "^1.0.2"
84
- },
85
- "keywords": [
86
- "node-red",
87
- "processcube",
88
- "tools",
89
- "low-code"
90
- ]
91
- }
42
+ "examples": "examples"
43
+ },
44
+ "dependencies": {
45
+ "html-to-text": "^9.0.5",
46
+ "mailparser": "^3.7.4",
47
+ "node-imap": "^0.9.6",
48
+ "nodemailer": "^7.0.6",
49
+ "utf7": "^1.0.2"
50
+ },
51
+ "devDependencies": {
52
+ "@types/chai": "^5.2.2",
53
+ "@types/mailparser": "^3.4.6",
54
+ "@types/mocha": "^10.0.10",
55
+ "@types/node": "^24.5.2",
56
+ "@types/node-imap": "^0.9.3",
57
+ "@types/node-red": "^1.3.5",
58
+ "@types/node-red-node-test-helper": "^0.3.4",
59
+ "@types/nodemailer": "^7.0.1",
60
+ "chai": "^4.3.4",
61
+ "cpx2": "^8.0.0",
62
+ "mocha": "^11.7.2",
63
+ "node-red": "^4.0.9",
64
+ "node-red-node-test-helper": "^0.3.5",
65
+ "npm-run-all": "^4.1.5",
66
+ "ts-node": "^10.9.2",
67
+ "typescript": "^5.9.2"
68
+ },
69
+ "overrides": {
70
+ "semver": ">=7.5.2",
71
+ "axios": ">=1.12.0",
72
+ "html-to-text": "^9.0.5",
73
+ "node-imap": "^0.9.6",
74
+ "nodemailer": "^7.0.6",
75
+ "utf7": "^1.0.2"
76
+ },
77
+ "keywords": [
78
+ "node-red",
79
+ "processcube",
80
+ "tools",
81
+ "low-code"
82
+ ],
83
+ "scripts": {
84
+ "build": "npm-run-all build:*",
85
+ "build:ts": "tsc",
86
+ "build:html": "cpx \"./src/**/*.html\" ./dist",
87
+ "lint": "prettier --write --config ./.prettierrc.json \"**/*.{html,ts}\"",
88
+ "test": "mocha --require ts-node/register 'src/test/**/*.test.ts'",
89
+ "test:unit": "mocha --require ts-node/register 'src/test/unit/**/*.test.ts'",
90
+ "test:integration": "mocha --require ts-node/register 'src/test/integration/**/*.test.ts'"
91
+ }
92
+ }
package/tsconfig.json CHANGED
@@ -12,6 +12,7 @@
12
12
  "skipLibCheck": true,
13
13
  "declarationDir": "dist",
14
14
  "sourceMap": true,
15
+ "inlineSources": true,
15
16
  "esModuleInterop": true,
16
17
  "strict": true,
17
18
  "forceConsistentCasingInFileNames": true,