@nocobase/plugin-workflow-mailer 2.3.0-beta.13 → 2.3.0-beta.14
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/dist/externalVersion.js +6 -6
- package/dist/node_modules/joi/package.json +1 -1
- package/dist/node_modules/nodemailer/dist/cjs/addressparser/index.d.ts +59 -0
- package/dist/node_modules/nodemailer/dist/cjs/addressparser/index.js +790 -0
- package/dist/node_modules/nodemailer/dist/cjs/base64/index.d.ts +36 -0
- package/dist/node_modules/nodemailer/dist/cjs/base64/index.js +119 -0
- package/dist/node_modules/nodemailer/dist/cjs/dkim/index.d.ts +52 -0
- package/dist/node_modules/nodemailer/dist/cjs/dkim/index.js +228 -0
- package/dist/node_modules/nodemailer/dist/cjs/dkim/message-parser.d.ts +48 -0
- package/dist/node_modules/nodemailer/dist/cjs/dkim/message-parser.js +180 -0
- package/dist/node_modules/nodemailer/dist/cjs/dkim/relaxed-body.d.ts +36 -0
- package/dist/node_modules/nodemailer/dist/cjs/dkim/relaxed-body.js +148 -0
- package/dist/node_modules/nodemailer/dist/cjs/dkim/sign.d.ts +52 -0
- package/dist/node_modules/nodemailer/dist/cjs/dkim/sign.js +165 -0
- package/dist/node_modules/nodemailer/dist/cjs/errors.d.ts +96 -0
- package/dist/node_modules/nodemailer/dist/cjs/errors.js +70 -0
- package/dist/node_modules/nodemailer/dist/cjs/fetch/cookies.d.ts +107 -0
- package/dist/node_modules/nodemailer/dist/cjs/fetch/cookies.js +282 -0
- package/dist/node_modules/nodemailer/dist/cjs/fetch/index.d.ts +65 -0
- package/dist/node_modules/nodemailer/dist/cjs/fetch/index.js +384 -0
- package/dist/node_modules/nodemailer/dist/cjs/json-transport/index.d.ts +64 -0
- package/dist/node_modules/nodemailer/dist/cjs/json-transport/index.js +99 -0
- package/dist/node_modules/nodemailer/dist/cjs/mail-composer/index.d.ts +174 -0
- package/dist/node_modules/nodemailer/dist/cjs/mail-composer/index.js +613 -0
- package/dist/node_modules/nodemailer/dist/cjs/mailer/index.d.ts +237 -0
- package/dist/node_modules/nodemailer/dist/cjs/mailer/index.js +415 -0
- package/dist/node_modules/nodemailer/dist/cjs/mailer/mail-message.d.ts +97 -0
- package/dist/node_modules/nodemailer/dist/cjs/mailer/mail-message.js +342 -0
- package/dist/node_modules/nodemailer/dist/cjs/mime-funcs/index.d.ts +161 -0
- package/dist/node_modules/nodemailer/dist/cjs/mime-funcs/index.js +787 -0
- package/dist/node_modules/nodemailer/dist/cjs/mime-funcs/mime-types.d.ts +2 -0
- package/dist/node_modules/nodemailer/dist/cjs/mime-funcs/mime-types.js +2103 -0
- package/dist/node_modules/nodemailer/dist/cjs/mime-node/index.d.ts +333 -0
- package/dist/node_modules/nodemailer/dist/cjs/mime-node/index.js +1493 -0
- package/dist/node_modules/nodemailer/dist/cjs/mime-node/last-newline.d.ts +5 -0
- package/dist/node_modules/nodemailer/dist/cjs/mime-node/last-newline.js +32 -0
- package/dist/node_modules/nodemailer/dist/cjs/mime-node/le-unix.d.ts +9 -0
- package/dist/node_modules/nodemailer/dist/cjs/mime-node/le-unix.js +40 -0
- package/dist/node_modules/nodemailer/dist/cjs/mime-node/le-windows.d.ts +10 -0
- package/dist/node_modules/nodemailer/dist/cjs/mime-node/le-windows.js +47 -0
- package/dist/node_modules/nodemailer/dist/cjs/nodemailer.d.ts +124 -0
- package/dist/node_modules/nodemailer/dist/cjs/nodemailer.js +1 -0
- package/dist/node_modules/nodemailer/dist/cjs/package-info.d.ts +3 -0
- package/dist/node_modules/nodemailer/dist/cjs/package-info.js +7 -0
- package/dist/node_modules/nodemailer/dist/cjs/package.json +3 -0
- package/dist/node_modules/nodemailer/dist/cjs/punycode/index.d.ts +73 -0
- package/dist/node_modules/nodemailer/{lib → dist/cjs}/punycode/index.js +62 -111
- package/dist/node_modules/nodemailer/dist/cjs/qp/index.d.ts +32 -0
- package/dist/node_modules/nodemailer/dist/cjs/qp/index.js +207 -0
- package/dist/node_modules/nodemailer/dist/cjs/sendmail-transport/index.d.ts +69 -0
- package/dist/node_modules/nodemailer/dist/cjs/sendmail-transport/index.js +210 -0
- package/dist/node_modules/nodemailer/dist/cjs/ses-transport/index.d.ts +112 -0
- package/dist/node_modules/nodemailer/dist/cjs/ses-transport/index.js +252 -0
- package/dist/node_modules/nodemailer/dist/cjs/shared/index.d.ts +260 -0
- package/dist/node_modules/nodemailer/dist/cjs/shared/index.js +680 -0
- package/dist/node_modules/nodemailer/dist/cjs/shared/objects.d.ts +23 -0
- package/dist/node_modules/nodemailer/dist/cjs/shared/objects.js +43 -0
- package/dist/node_modules/nodemailer/dist/cjs/shared/url.d.ts +21 -0
- package/dist/node_modules/nodemailer/dist/cjs/shared/url.js +255 -0
- package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/data-stream.d.ts +15 -0
- package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/data-stream.js +108 -0
- package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/http-proxy-client.d.ts +47 -0
- package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/http-proxy-client.js +189 -0
- package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/index.d.ts +416 -0
- package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/index.js +1837 -0
- package/dist/node_modules/nodemailer/dist/cjs/smtp-pool/index.d.ts +133 -0
- package/dist/node_modules/nodemailer/dist/cjs/smtp-pool/index.js +569 -0
- package/dist/node_modules/nodemailer/dist/cjs/smtp-pool/pool-resource.d.ts +62 -0
- package/dist/node_modules/nodemailer/dist/cjs/smtp-pool/pool-resource.js +257 -0
- package/dist/node_modules/nodemailer/dist/cjs/smtp-transport/index.d.ts +156 -0
- package/dist/node_modules/nodemailer/dist/cjs/smtp-transport/index.js +371 -0
- package/dist/node_modules/nodemailer/dist/cjs/stream-transport/index.d.ts +65 -0
- package/dist/node_modules/nodemailer/dist/cjs/stream-transport/index.js +146 -0
- package/dist/node_modules/nodemailer/dist/cjs/well-known/index.d.ts +35 -0
- package/dist/node_modules/nodemailer/dist/cjs/well-known/index.js +41 -0
- package/dist/node_modules/nodemailer/dist/cjs/well-known/services.d.ts +2 -0
- package/dist/node_modules/nodemailer/dist/cjs/well-known/services.js +674 -0
- package/dist/node_modules/nodemailer/dist/cjs/xoauth2/index.d.ts +201 -0
- package/dist/node_modules/nodemailer/dist/cjs/xoauth2/index.js +426 -0
- package/dist/node_modules/nodemailer/dist/esm/addressparser/index.d.ts +59 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/addressparser/index.js +361 -131
- package/dist/node_modules/nodemailer/dist/esm/base64/index.d.ts +36 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/base64/index.js +31 -56
- package/dist/node_modules/nodemailer/dist/esm/dkim/index.d.ts +52 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/dkim/index.js +49 -78
- package/dist/node_modules/nodemailer/dist/esm/dkim/message-parser.d.ts +48 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/dkim/message-parser.js +64 -42
- package/dist/node_modules/nodemailer/dist/esm/dkim/relaxed-body.d.ts +36 -0
- package/dist/node_modules/nodemailer/dist/esm/dkim/relaxed-body.js +141 -0
- package/dist/node_modules/nodemailer/dist/esm/dkim/sign.d.ts +52 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/dkim/sign.js +50 -46
- package/dist/node_modules/nodemailer/dist/esm/errors.d.ts +96 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/errors.js +26 -18
- package/dist/node_modules/nodemailer/dist/esm/fetch/cookies.d.ts +107 -0
- package/dist/node_modules/nodemailer/dist/esm/fetch/cookies.js +242 -0
- package/dist/node_modules/nodemailer/dist/esm/fetch/index.d.ts +65 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/fetch/index.js +80 -147
- package/dist/node_modules/nodemailer/dist/esm/json-transport/index.d.ts +64 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/json-transport/index.js +19 -39
- package/dist/node_modules/nodemailer/dist/esm/mail-composer/index.d.ts +174 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/mail-composer/index.js +199 -265
- package/dist/node_modules/nodemailer/dist/esm/mailer/index.d.ts +237 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/mailer/index.js +128 -234
- package/dist/node_modules/nodemailer/dist/esm/mailer/mail-message.d.ts +97 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/mailer/mail-message.js +62 -114
- package/dist/node_modules/nodemailer/dist/esm/mime-funcs/index.d.ts +161 -0
- package/dist/node_modules/nodemailer/dist/esm/mime-funcs/index.js +738 -0
- package/dist/node_modules/nodemailer/dist/esm/mime-funcs/mime-types.d.ts +2 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/mime-funcs/mime-types.js +29 -42
- package/dist/node_modules/nodemailer/dist/esm/mime-node/index.d.ts +333 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/mime-node/index.js +259 -372
- package/dist/node_modules/nodemailer/dist/esm/mime-node/last-newline.d.ts +5 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/mime-node/last-newline.js +4 -10
- package/dist/node_modules/nodemailer/dist/esm/mime-node/le-unix.d.ts +9 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/mime-node/le-unix.js +6 -11
- package/dist/node_modules/nodemailer/dist/esm/mime-node/le-windows.d.ts +10 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/mime-node/le-windows.js +6 -13
- package/dist/node_modules/nodemailer/dist/esm/nodemailer.d.ts +124 -0
- package/dist/node_modules/nodemailer/dist/esm/nodemailer.js +166 -0
- package/dist/node_modules/nodemailer/dist/esm/package-info.d.ts +3 -0
- package/dist/node_modules/nodemailer/dist/esm/package-info.js +4 -0
- package/dist/node_modules/nodemailer/dist/esm/package.json +3 -0
- package/dist/node_modules/nodemailer/dist/esm/punycode/index.d.ts +73 -0
- package/dist/node_modules/nodemailer/dist/esm/punycode/index.js +405 -0
- package/dist/node_modules/nodemailer/dist/esm/qp/index.d.ts +32 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/qp/index.js +38 -67
- package/dist/node_modules/nodemailer/dist/esm/sendmail-transport/index.d.ts +69 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/sendmail-transport/index.js +51 -101
- package/dist/node_modules/nodemailer/dist/esm/ses-transport/index.d.ts +112 -0
- package/dist/node_modules/nodemailer/dist/esm/ses-transport/index.js +212 -0
- package/dist/node_modules/nodemailer/dist/esm/shared/index.d.ts +260 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/shared/index.js +156 -272
- package/dist/node_modules/nodemailer/dist/esm/shared/objects.d.ts +23 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/shared/objects.js +13 -17
- package/dist/node_modules/nodemailer/dist/esm/shared/url.d.ts +21 -0
- package/dist/node_modules/nodemailer/dist/esm/shared/url.js +214 -0
- package/dist/node_modules/nodemailer/dist/esm/smtp-connection/data-stream.d.ts +15 -0
- package/dist/node_modules/nodemailer/dist/esm/smtp-connection/data-stream.js +103 -0
- package/dist/node_modules/nodemailer/dist/esm/smtp-connection/http-proxy-client.d.ts +47 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/smtp-connection/http-proxy-client.js +49 -74
- package/dist/node_modules/nodemailer/dist/esm/smtp-connection/index.d.ts +416 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/smtp-connection/index.js +574 -794
- package/dist/node_modules/nodemailer/dist/esm/smtp-pool/index.d.ts +133 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/smtp-pool/index.js +172 -284
- package/dist/node_modules/nodemailer/dist/esm/smtp-pool/pool-resource.d.ts +62 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/smtp-pool/pool-resource.js +57 -97
- package/dist/node_modules/nodemailer/dist/esm/smtp-transport/index.d.ts +156 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/smtp-transport/index.js +81 -179
- package/dist/node_modules/nodemailer/dist/esm/stream-transport/index.d.ts +65 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/stream-transport/index.js +36 -74
- package/dist/node_modules/nodemailer/dist/esm/well-known/index.d.ts +35 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/well-known/index.js +5 -16
- package/dist/node_modules/nodemailer/dist/esm/well-known/services.d.ts +2 -0
- package/dist/node_modules/nodemailer/dist/esm/well-known/services.js +671 -0
- package/dist/node_modules/nodemailer/dist/esm/xoauth2/index.d.ts +201 -0
- package/dist/node_modules/nodemailer/{lib → dist/esm}/xoauth2/index.js +125 -187
- package/dist/node_modules/nodemailer/{lib → dist}/well-known/services.json +9 -2
- package/dist/node_modules/nodemailer/package.json +1 -1
- package/package.json +3 -3
- package/dist/node_modules/nodemailer/.gitattributes +0 -6
- package/dist/node_modules/nodemailer/.ncurc.js +0 -9
- package/dist/node_modules/nodemailer/.prettierignore +0 -8
- package/dist/node_modules/nodemailer/.prettierrc +0 -12
- package/dist/node_modules/nodemailer/.prettierrc.js +0 -10
- package/dist/node_modules/nodemailer/.release-please-config.json +0 -9
- package/dist/node_modules/nodemailer/eslint.config.js +0 -88
- package/dist/node_modules/nodemailer/lib/dkim/relaxed-body.js +0 -154
- package/dist/node_modules/nodemailer/lib/fetch/cookies.js +0 -276
- package/dist/node_modules/nodemailer/lib/mime-funcs/index.js +0 -671
- package/dist/node_modules/nodemailer/lib/nodemailer.js +0 -1
- package/dist/node_modules/nodemailer/lib/ses-transport/index.js +0 -266
- package/dist/node_modules/nodemailer/lib/shared/url.js +0 -151
- package/dist/node_modules/nodemailer/lib/smtp-connection/data-stream.js +0 -105
|
@@ -1,12 +1,7 @@
|
|
|
1
1
|
/* eslint quote-props: 0 */
|
|
2
|
-
|
|
3
|
-
'use strict';
|
|
4
|
-
|
|
5
|
-
const path = require('path');
|
|
6
|
-
|
|
2
|
+
import path from 'node:path';
|
|
7
3
|
const defaultMimeType = 'application/octet-stream';
|
|
8
4
|
const defaultExtension = 'bin';
|
|
9
|
-
|
|
10
5
|
const mimeTypes = new Map([
|
|
11
6
|
['application/acad', 'dwg'],
|
|
12
7
|
['application/applixware', 'aw'],
|
|
@@ -2066,44 +2061,36 @@ const extensions = new Map([
|
|
|
2066
2061
|
['zoo', 'application/octet-stream'],
|
|
2067
2062
|
['zsh', 'text/x-script.zsh']
|
|
2068
2063
|
]);
|
|
2069
|
-
|
|
2070
|
-
|
|
2071
|
-
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2079
|
-
|
|
2064
|
+
export function detectMimeType(filename) {
|
|
2065
|
+
if (!filename) {
|
|
2066
|
+
return defaultMimeType;
|
|
2067
|
+
}
|
|
2068
|
+
const parsed = path.parse(filename);
|
|
2069
|
+
const extension = (parsed.ext.substr(1) || parsed.name || '').split('?').shift().trim().toLowerCase();
|
|
2070
|
+
const value = extensions.has(extension) ? extensions.get(extension) : defaultMimeType;
|
|
2071
|
+
if (Array.isArray(value)) {
|
|
2072
|
+
return value[0];
|
|
2073
|
+
}
|
|
2074
|
+
return value;
|
|
2075
|
+
}
|
|
2076
|
+
export function detectExtension(mimeType) {
|
|
2077
|
+
if (!mimeType) {
|
|
2078
|
+
return defaultExtension;
|
|
2079
|
+
}
|
|
2080
|
+
const parts = mimeType.toLowerCase().trim().split('/');
|
|
2081
|
+
const rootType = parts.shift().trim();
|
|
2082
|
+
const subType = parts.join('/').trim();
|
|
2083
|
+
if (mimeTypes.has(rootType + '/' + subType)) {
|
|
2084
|
+
const value = mimeTypes.get(rootType + '/' + subType);
|
|
2080
2085
|
if (Array.isArray(value)) {
|
|
2081
2086
|
return value[0];
|
|
2082
2087
|
}
|
|
2083
2088
|
return value;
|
|
2084
|
-
},
|
|
2085
|
-
|
|
2086
|
-
detectExtension(mimeType) {
|
|
2087
|
-
if (!mimeType) {
|
|
2088
|
-
return defaultExtension;
|
|
2089
|
-
}
|
|
2090
|
-
const parts = mimeType.toLowerCase().trim().split('/');
|
|
2091
|
-
const rootType = parts.shift().trim();
|
|
2092
|
-
const subType = parts.join('/').trim();
|
|
2093
|
-
|
|
2094
|
-
if (mimeTypes.has(rootType + '/' + subType)) {
|
|
2095
|
-
const value = mimeTypes.get(rootType + '/' + subType);
|
|
2096
|
-
if (Array.isArray(value)) {
|
|
2097
|
-
return value[0];
|
|
2098
|
-
}
|
|
2099
|
-
return value;
|
|
2100
|
-
}
|
|
2101
|
-
|
|
2102
|
-
switch (rootType) {
|
|
2103
|
-
case 'text':
|
|
2104
|
-
return 'txt';
|
|
2105
|
-
default:
|
|
2106
|
-
return 'bin';
|
|
2107
|
-
}
|
|
2108
2089
|
}
|
|
2109
|
-
|
|
2090
|
+
switch (rootType) {
|
|
2091
|
+
case 'text':
|
|
2092
|
+
return 'txt';
|
|
2093
|
+
default:
|
|
2094
|
+
return 'bin';
|
|
2095
|
+
}
|
|
2096
|
+
}
|
|
@@ -0,0 +1,333 @@
|
|
|
1
|
+
import { type Duplex, type Readable, type TransformOptions, type Writable } from 'node:stream';
|
|
2
|
+
import type { NodemailerError } from '../errors.js';
|
|
3
|
+
import type { OutgoingHttpHeaders } from 'node:http';
|
|
4
|
+
/**
|
|
5
|
+
* Options for a MimeNode
|
|
6
|
+
*/
|
|
7
|
+
export interface MimeNodeOptions {
|
|
8
|
+
/** root node for this tree */
|
|
9
|
+
rootNode?: MimeNode | undefined;
|
|
10
|
+
/** immediate parent for this node */
|
|
11
|
+
parentNode?: MimeNode | undefined;
|
|
12
|
+
/** filename for an attachment node */
|
|
13
|
+
filename?: string | undefined;
|
|
14
|
+
/** shared part of the unique multipart boundary */
|
|
15
|
+
baseBoundary?: string | undefined;
|
|
16
|
+
/** prefix for the generated multipart boundaries, defaults to '--_NmP' */
|
|
17
|
+
boundaryPrefix?: string | undefined;
|
|
18
|
+
/** If true, do not exclude Bcc from the generated headers */
|
|
19
|
+
keepBcc?: boolean | undefined;
|
|
20
|
+
/** method to normalize header keys for custom caseing */
|
|
21
|
+
normalizeHeaderKey?: ((key: string, value: string) => string) | undefined;
|
|
22
|
+
/** either 'Q' (the default) or 'B' */
|
|
23
|
+
textEncoding?: string | undefined;
|
|
24
|
+
/** Hostname for default message-id values */
|
|
25
|
+
hostname?: string | undefined;
|
|
26
|
+
/** If set to 'win' then uses \r\n, if 'linux' then \n. If not set (or `raw` is used) then newlines are kept as is */
|
|
27
|
+
newline?: string | undefined;
|
|
28
|
+
/** Reject content that points to a file path, for this node and every node below it */
|
|
29
|
+
disableFileAccess?: boolean | undefined;
|
|
30
|
+
/** Reject content that points to a URL, for this node and every node below it */
|
|
31
|
+
disableUrlAccess?: boolean | undefined;
|
|
32
|
+
}
|
|
33
|
+
/**
|
|
34
|
+
* An address object as accepted in address headers and produced by getAddresses. Either a
|
|
35
|
+
* mailbox with an address or a group holding a list of addresses
|
|
36
|
+
*/
|
|
37
|
+
export interface MimeNodeAddress {
|
|
38
|
+
name?: string | undefined;
|
|
39
|
+
address?: string | undefined;
|
|
40
|
+
group?: MimeNodeAddress[] | undefined;
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* Addresses as accepted by address headers and envelope fields: an address string, an
|
|
44
|
+
* address object, or an array of these, nested arrays included
|
|
45
|
+
*/
|
|
46
|
+
export type MimeNodeAddressInput = string | MimeNodeAddress | MimeNodeAddressInput[];
|
|
47
|
+
/**
|
|
48
|
+
* A header value object. When `prepared` is set the value is emitted as is, without
|
|
49
|
+
* encoding, and folded only if `foldLines` is set as well
|
|
50
|
+
*/
|
|
51
|
+
export interface MimeNodePreparedHeaderValue {
|
|
52
|
+
value?: unknown;
|
|
53
|
+
prepared?: boolean | undefined;
|
|
54
|
+
foldLines?: boolean | undefined;
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* The values a header can hold: a string, a number, a Date (for the Date header), address
|
|
58
|
+
* objects (for the address headers), a prepared value object, or a list of these
|
|
59
|
+
*/
|
|
60
|
+
export type MimeNodeHeaderValue = string | number | boolean | Date | MimeNodeAddress | MimeNodePreparedHeaderValue | MimeNodeHeaderValue[] | null | undefined;
|
|
61
|
+
/**
|
|
62
|
+
* A single header, the shape the headers are stored in and one of the list forms
|
|
63
|
+
* setHeader and addHeader accept
|
|
64
|
+
*/
|
|
65
|
+
export interface MimeNodeHeader {
|
|
66
|
+
key: string;
|
|
67
|
+
value: MimeNodeHeaderValue;
|
|
68
|
+
}
|
|
69
|
+
/**
|
|
70
|
+
* Several headers keyed by header name
|
|
71
|
+
*/
|
|
72
|
+
export interface MimeNodeHeaderMap {
|
|
73
|
+
[key: string]: MimeNodeHeaderValue;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Several headers at once, as accepted by setHeader and addHeader: a single {key, value}
|
|
77
|
+
* pair, a list of them, or an object keyed by header name
|
|
78
|
+
*/
|
|
79
|
+
export type MimeNodeHeaders = MimeNodeHeader | MimeNodeHeader[] | MimeNodeHeaderMap;
|
|
80
|
+
/**
|
|
81
|
+
* A content descriptor object, see setContent. Points to the content instead of carrying it
|
|
82
|
+
*/
|
|
83
|
+
export interface MimeNodeContentObject {
|
|
84
|
+
/** File path to read the content from */
|
|
85
|
+
path?: string | undefined;
|
|
86
|
+
/** URL to fetch the content from */
|
|
87
|
+
href?: string | undefined;
|
|
88
|
+
/** Request headers for a URL fetch */
|
|
89
|
+
httpHeaders?: OutgoingHttpHeaders | undefined;
|
|
90
|
+
/** TLS settings for a URL fetch, see nmfetch */
|
|
91
|
+
tls?: {
|
|
92
|
+
[key: string]: any;
|
|
93
|
+
} | undefined;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Body content as accepted by setContent and setRaw: a string, a Buffer, a readable stream
|
|
97
|
+
* or an object pointing to the content
|
|
98
|
+
*/
|
|
99
|
+
export type MimeNodeContent = string | Buffer | Readable | MimeNodeContentObject;
|
|
100
|
+
/**
|
|
101
|
+
* SMTP envelope as returned by getEnvelope. Custom fields of an envelope set with
|
|
102
|
+
* setEnvelope are carried along
|
|
103
|
+
*/
|
|
104
|
+
export interface MimeNodeEnvelope {
|
|
105
|
+
from: string | false;
|
|
106
|
+
to: string[];
|
|
107
|
+
[key: string]: unknown;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Envelope as accepted by setEnvelope. Recipients are collected from to, cc and bcc, any
|
|
111
|
+
* other field is copied to the envelope as is. A `from` of false is the null sender of a
|
|
112
|
+
* bounce message, it is sent as MAIL FROM:<>
|
|
113
|
+
*/
|
|
114
|
+
export interface MimeNodeEnvelopeInput {
|
|
115
|
+
from?: MimeNodeAddressInput | false | undefined;
|
|
116
|
+
to?: MimeNodeAddressInput | undefined;
|
|
117
|
+
cc?: MimeNodeAddressInput | undefined;
|
|
118
|
+
bcc?: MimeNodeAddressInput | undefined;
|
|
119
|
+
[key: string]: unknown;
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Parsed address headers as returned by getAddresses, keyed by lowercase header name
|
|
123
|
+
*/
|
|
124
|
+
export interface MimeNodeAddresses {
|
|
125
|
+
from?: MimeNodeAddress[] | undefined;
|
|
126
|
+
sender?: MimeNodeAddress[] | undefined;
|
|
127
|
+
'reply-to'?: MimeNodeAddress[] | undefined;
|
|
128
|
+
to?: MimeNodeAddress[] | undefined;
|
|
129
|
+
cc?: MimeNodeAddress[] | undefined;
|
|
130
|
+
bcc?: MimeNodeAddress[] | undefined;
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Options for createReadStream. Handed to the PassThrough the message is written to and to
|
|
134
|
+
* the base64 / quoted-printable encoders, which read `lineLength` from it
|
|
135
|
+
*/
|
|
136
|
+
export interface MimeNodeStreamOptions extends TransformOptions {
|
|
137
|
+
/** Maximum line length for base64 and quoted-printable bodies, false disables wrapping */
|
|
138
|
+
lineLength?: number | false | undefined;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* A transform stream the message is piped through, or a function returning one
|
|
142
|
+
*/
|
|
143
|
+
export type MimeNodeTransform = Duplex | (() => Duplex);
|
|
144
|
+
/**
|
|
145
|
+
* A post process function, takes the message stream and returns the stream to expose instead
|
|
146
|
+
*/
|
|
147
|
+
export type MimeNodeProcessFunc = (input: Readable) => Readable;
|
|
148
|
+
/**
|
|
149
|
+
* Callback for build
|
|
150
|
+
*/
|
|
151
|
+
export type MimeNodeBuildCallback = (err: NodemailerError | null, message: Buffer) => void;
|
|
152
|
+
/**
|
|
153
|
+
* Creates a new mime tree node. Assumes 'multipart/*' as the content type
|
|
154
|
+
* if it is a branch, anything else counts as leaf. If rootNode is missing from
|
|
155
|
+
* the options, assumes this is the root.
|
|
156
|
+
*
|
|
157
|
+
* @param contentType Define the content type for the node. Can be left blank for attachments (derived from filename)
|
|
158
|
+
* @param [options] optional options
|
|
159
|
+
* @param [options.rootNode] root node for this tree
|
|
160
|
+
* @param [options.parentNode] immediate parent for this node
|
|
161
|
+
* @param [options.filename] filename for an attachment node
|
|
162
|
+
* @param [options.baseBoundary] shared part of the unique multipart boundary
|
|
163
|
+
* @param [options.keepBcc] If true, do not exclude Bcc from the generated headers
|
|
164
|
+
* @param [options.normalizeHeaderKey] method to normalize header keys for custom caseing
|
|
165
|
+
* @param [options.textEncoding] either 'Q' (the default) or 'B'
|
|
166
|
+
*/
|
|
167
|
+
declare class MimeNode {
|
|
168
|
+
nodeCounter: number;
|
|
169
|
+
baseBoundary: string;
|
|
170
|
+
boundaryPrefix: string;
|
|
171
|
+
disableFileAccess: boolean;
|
|
172
|
+
disableUrlAccess: boolean;
|
|
173
|
+
normalizeHeaderKey: MimeNodeOptions['normalizeHeaderKey'];
|
|
174
|
+
date: Date | null;
|
|
175
|
+
rootNode: MimeNode;
|
|
176
|
+
keepBcc: boolean;
|
|
177
|
+
textEncoding: string;
|
|
178
|
+
parentNode: MimeNode | undefined;
|
|
179
|
+
hostname: string | undefined;
|
|
180
|
+
newline: string | undefined;
|
|
181
|
+
childNodes: MimeNode[];
|
|
182
|
+
/** Filename for this node. Useful with attachments */
|
|
183
|
+
filename?: string | undefined;
|
|
184
|
+
/** Body content, or the error a content stream emitted before it was read */
|
|
185
|
+
content?: MimeNodeContent | Error | undefined;
|
|
186
|
+
/** Lowercase content type, set when the headers are built */
|
|
187
|
+
contentType?: string | undefined;
|
|
188
|
+
/** Multipart subtype, false for a non-multipart node, set when the headers are built */
|
|
189
|
+
multipart?: string | false | undefined;
|
|
190
|
+
/** Multipart boundary, false for a non-multipart node, set when the headers are built */
|
|
191
|
+
boundary?: string | false | undefined;
|
|
192
|
+
constructor(contentType?: string | false, options?: MimeNodeOptions);
|
|
193
|
+
/**
|
|
194
|
+
* Creates and appends a child node.Arguments provided are passed to MimeNode constructor
|
|
195
|
+
*
|
|
196
|
+
* @param [contentType] Optional content type
|
|
197
|
+
* @param [options] Optional options object
|
|
198
|
+
* @return Created node object
|
|
199
|
+
*/
|
|
200
|
+
createChild(contentType?: string | false | MimeNodeOptions, options?: MimeNodeOptions): MimeNode;
|
|
201
|
+
/**
|
|
202
|
+
* Appends an existing node to the mime tree. Removes the node from an existing
|
|
203
|
+
* tree if needed
|
|
204
|
+
*
|
|
205
|
+
* @param childNode node to be appended
|
|
206
|
+
* @return Appended node object
|
|
207
|
+
*/
|
|
208
|
+
appendChild(childNode: MimeNode): MimeNode;
|
|
209
|
+
/**
|
|
210
|
+
* Replaces current node with another node
|
|
211
|
+
*
|
|
212
|
+
* @param node Replacement node
|
|
213
|
+
* @return Replacement node
|
|
214
|
+
*/
|
|
215
|
+
replace(node: MimeNode): MimeNode;
|
|
216
|
+
/**
|
|
217
|
+
* Removes current node from the mime tree
|
|
218
|
+
*
|
|
219
|
+
* @return removed node
|
|
220
|
+
*/
|
|
221
|
+
remove(): MimeNode | undefined;
|
|
222
|
+
/**
|
|
223
|
+
* Sets a header value. If the value for selected key exists, it is overwritten.
|
|
224
|
+
* You can set multiple values as well by using [{key:'', value:''}] or
|
|
225
|
+
* {key: 'value'} as the first argument.
|
|
226
|
+
*
|
|
227
|
+
* @param key Header key or a list of key value pairs
|
|
228
|
+
* @param value Header value
|
|
229
|
+
* @return current node
|
|
230
|
+
*/
|
|
231
|
+
setHeader(key: string | MimeNodeHeaders, value?: MimeNodeHeaderValue): this;
|
|
232
|
+
/**
|
|
233
|
+
* Adds a header value. If the value for selected key exists, the value is appended
|
|
234
|
+
* as a new field and old one is not touched.
|
|
235
|
+
* You can set multiple values as well by using [{key:'', value:''}] or
|
|
236
|
+
* {key: 'value'} as the first argument.
|
|
237
|
+
*
|
|
238
|
+
* @param key Header key or a list of key value pairs
|
|
239
|
+
* @param value Header value
|
|
240
|
+
* @return current node
|
|
241
|
+
*/
|
|
242
|
+
addHeader(key: string | MimeNodeHeaders, value?: MimeNodeHeaderValue): this;
|
|
243
|
+
/**
|
|
244
|
+
* Retrieves the first mathcing value of a selected key
|
|
245
|
+
*
|
|
246
|
+
* @param key Key to search for
|
|
247
|
+
* @retun Value for the key
|
|
248
|
+
*/
|
|
249
|
+
getHeader(key: string): MimeNodeHeaderValue;
|
|
250
|
+
/**
|
|
251
|
+
* Sets body content for current node. If the value is a string, charset is added automatically
|
|
252
|
+
* to Content-Type (if it is text/*). If the value is a Buffer, you need to specify
|
|
253
|
+
* the charset yourself
|
|
254
|
+
*
|
|
255
|
+
* @param content Body content
|
|
256
|
+
* @return current node
|
|
257
|
+
*/
|
|
258
|
+
setContent(content: MimeNodeContent): this;
|
|
259
|
+
build(): Promise<Buffer>;
|
|
260
|
+
build(callback: MimeNodeBuildCallback): void;
|
|
261
|
+
getTransferEncoding(): string | false;
|
|
262
|
+
/**
|
|
263
|
+
* Builds the header block for the mime node. Append \r\n\r\n before writing the content
|
|
264
|
+
*
|
|
265
|
+
* @returns Headers
|
|
266
|
+
*/
|
|
267
|
+
buildHeaders(): string;
|
|
268
|
+
/**
|
|
269
|
+
* Streams the rfc2822 message from the current node. If this is a root node,
|
|
270
|
+
* mandatory header fields are set if missing (Date, Message-Id, MIME-Version)
|
|
271
|
+
*
|
|
272
|
+
* @return Compiled message
|
|
273
|
+
*/
|
|
274
|
+
createReadStream(options?: MimeNodeStreamOptions): Readable;
|
|
275
|
+
/**
|
|
276
|
+
* Appends a transform stream object to the transforms list. Final output
|
|
277
|
+
* is passed through this stream before exposing
|
|
278
|
+
*
|
|
279
|
+
* @param transform Read-Write stream
|
|
280
|
+
*/
|
|
281
|
+
transform(transform: MimeNodeTransform): void;
|
|
282
|
+
/**
|
|
283
|
+
* Appends a post process function. The functon is run after transforms and
|
|
284
|
+
* uses the following syntax
|
|
285
|
+
*
|
|
286
|
+
* processFunc(input) -> outputStream
|
|
287
|
+
*
|
|
288
|
+
* @param processFunc Read-Write stream
|
|
289
|
+
*/
|
|
290
|
+
processFunc(processFunc: MimeNodeProcessFunc): void;
|
|
291
|
+
stream(outputStream: Writable, options: MimeNodeStreamOptions, done: (err?: Error | null) => void): void;
|
|
292
|
+
/**
|
|
293
|
+
* Sets envelope to be used instead of the generated one
|
|
294
|
+
*
|
|
295
|
+
* @return SMTP envelope in the form of {from: 'from@example.com', to: ['to@example.com']}
|
|
296
|
+
*/
|
|
297
|
+
setEnvelope(envelope: MimeNodeEnvelopeInput): this;
|
|
298
|
+
/**
|
|
299
|
+
* Generates and returns an object with parsed address fields
|
|
300
|
+
*
|
|
301
|
+
* @return Address object
|
|
302
|
+
*/
|
|
303
|
+
getAddresses(): MimeNodeAddresses;
|
|
304
|
+
/**
|
|
305
|
+
* Generates and returns SMTP envelope with the sender address and a list of recipients addresses
|
|
306
|
+
*
|
|
307
|
+
* @return SMTP envelope in the form of {from: 'from@example.com', to: ['to@example.com']}
|
|
308
|
+
*/
|
|
309
|
+
getEnvelope(): MimeNodeEnvelope;
|
|
310
|
+
/**
|
|
311
|
+
* Returns Message-Id value. If it does not exist, then creates one
|
|
312
|
+
*
|
|
313
|
+
* @return Message-Id value
|
|
314
|
+
*/
|
|
315
|
+
messageId(): string;
|
|
316
|
+
/**
|
|
317
|
+
* Sets pregenerated content that will be used as the output of this node
|
|
318
|
+
*
|
|
319
|
+
* @param raw Raw MIME contents
|
|
320
|
+
*/
|
|
321
|
+
setRaw(raw: MimeNodeContent): this;
|
|
322
|
+
}
|
|
323
|
+
/**
|
|
324
|
+
* Type aliases in the layout of @types/nodemailer, so `MimeNode.Options` style references keep working
|
|
325
|
+
*/
|
|
326
|
+
declare namespace MimeNode {
|
|
327
|
+
type Options = MimeNodeOptions;
|
|
328
|
+
type Addresses = MimeNodeAddresses;
|
|
329
|
+
type Envelope = MimeNodeEnvelope;
|
|
330
|
+
}
|
|
331
|
+
/** The same aliases as module level exports, for `import * as MimeNode` and `import MimeNode = require()` */
|
|
332
|
+
export type { MimeNodeOptions as Options, MimeNodeAddresses as Addresses, MimeNodeEnvelope as Envelope };
|
|
333
|
+
export default MimeNode;
|