@nocobase/plugin-workflow-mailer 2.2.20 → 2.2.21

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.
Files changed (173) hide show
  1. package/dist/externalVersion.js +6 -6
  2. package/dist/node_modules/joi/package.json +1 -1
  3. package/dist/node_modules/nodemailer/dist/cjs/addressparser/index.d.ts +59 -0
  4. package/dist/node_modules/nodemailer/dist/cjs/addressparser/index.js +790 -0
  5. package/dist/node_modules/nodemailer/dist/cjs/base64/index.d.ts +36 -0
  6. package/dist/node_modules/nodemailer/dist/cjs/base64/index.js +119 -0
  7. package/dist/node_modules/nodemailer/dist/cjs/dkim/index.d.ts +52 -0
  8. package/dist/node_modules/nodemailer/dist/cjs/dkim/index.js +228 -0
  9. package/dist/node_modules/nodemailer/dist/cjs/dkim/message-parser.d.ts +48 -0
  10. package/dist/node_modules/nodemailer/dist/cjs/dkim/message-parser.js +180 -0
  11. package/dist/node_modules/nodemailer/dist/cjs/dkim/relaxed-body.d.ts +36 -0
  12. package/dist/node_modules/nodemailer/dist/cjs/dkim/relaxed-body.js +148 -0
  13. package/dist/node_modules/nodemailer/dist/cjs/dkim/sign.d.ts +52 -0
  14. package/dist/node_modules/nodemailer/dist/cjs/dkim/sign.js +165 -0
  15. package/dist/node_modules/nodemailer/dist/cjs/errors.d.ts +96 -0
  16. package/dist/node_modules/nodemailer/dist/cjs/errors.js +70 -0
  17. package/dist/node_modules/nodemailer/dist/cjs/fetch/cookies.d.ts +107 -0
  18. package/dist/node_modules/nodemailer/dist/cjs/fetch/cookies.js +282 -0
  19. package/dist/node_modules/nodemailer/dist/cjs/fetch/index.d.ts +65 -0
  20. package/dist/node_modules/nodemailer/dist/cjs/fetch/index.js +384 -0
  21. package/dist/node_modules/nodemailer/dist/cjs/json-transport/index.d.ts +64 -0
  22. package/dist/node_modules/nodemailer/dist/cjs/json-transport/index.js +99 -0
  23. package/dist/node_modules/nodemailer/dist/cjs/mail-composer/index.d.ts +174 -0
  24. package/dist/node_modules/nodemailer/dist/cjs/mail-composer/index.js +613 -0
  25. package/dist/node_modules/nodemailer/dist/cjs/mailer/index.d.ts +237 -0
  26. package/dist/node_modules/nodemailer/dist/cjs/mailer/index.js +415 -0
  27. package/dist/node_modules/nodemailer/dist/cjs/mailer/mail-message.d.ts +97 -0
  28. package/dist/node_modules/nodemailer/dist/cjs/mailer/mail-message.js +342 -0
  29. package/dist/node_modules/nodemailer/dist/cjs/mime-funcs/index.d.ts +161 -0
  30. package/dist/node_modules/nodemailer/dist/cjs/mime-funcs/index.js +787 -0
  31. package/dist/node_modules/nodemailer/dist/cjs/mime-funcs/mime-types.d.ts +2 -0
  32. package/dist/node_modules/nodemailer/dist/cjs/mime-funcs/mime-types.js +2103 -0
  33. package/dist/node_modules/nodemailer/dist/cjs/mime-node/index.d.ts +333 -0
  34. package/dist/node_modules/nodemailer/dist/cjs/mime-node/index.js +1493 -0
  35. package/dist/node_modules/nodemailer/dist/cjs/mime-node/last-newline.d.ts +5 -0
  36. package/dist/node_modules/nodemailer/dist/cjs/mime-node/last-newline.js +32 -0
  37. package/dist/node_modules/nodemailer/dist/cjs/mime-node/le-unix.d.ts +9 -0
  38. package/dist/node_modules/nodemailer/dist/cjs/mime-node/le-unix.js +40 -0
  39. package/dist/node_modules/nodemailer/dist/cjs/mime-node/le-windows.d.ts +10 -0
  40. package/dist/node_modules/nodemailer/dist/cjs/mime-node/le-windows.js +47 -0
  41. package/dist/node_modules/nodemailer/dist/cjs/nodemailer.d.ts +124 -0
  42. package/dist/node_modules/nodemailer/dist/cjs/nodemailer.js +1 -0
  43. package/dist/node_modules/nodemailer/dist/cjs/package-info.d.ts +3 -0
  44. package/dist/node_modules/nodemailer/dist/cjs/package-info.js +7 -0
  45. package/dist/node_modules/nodemailer/dist/cjs/package.json +3 -0
  46. package/dist/node_modules/nodemailer/dist/cjs/punycode/index.d.ts +73 -0
  47. package/dist/node_modules/nodemailer/{lib → dist/cjs}/punycode/index.js +62 -111
  48. package/dist/node_modules/nodemailer/dist/cjs/qp/index.d.ts +32 -0
  49. package/dist/node_modules/nodemailer/dist/cjs/qp/index.js +207 -0
  50. package/dist/node_modules/nodemailer/dist/cjs/sendmail-transport/index.d.ts +69 -0
  51. package/dist/node_modules/nodemailer/dist/cjs/sendmail-transport/index.js +210 -0
  52. package/dist/node_modules/nodemailer/dist/cjs/ses-transport/index.d.ts +112 -0
  53. package/dist/node_modules/nodemailer/dist/cjs/ses-transport/index.js +252 -0
  54. package/dist/node_modules/nodemailer/dist/cjs/shared/index.d.ts +260 -0
  55. package/dist/node_modules/nodemailer/dist/cjs/shared/index.js +680 -0
  56. package/dist/node_modules/nodemailer/dist/cjs/shared/objects.d.ts +23 -0
  57. package/dist/node_modules/nodemailer/dist/cjs/shared/objects.js +43 -0
  58. package/dist/node_modules/nodemailer/dist/cjs/shared/url.d.ts +21 -0
  59. package/dist/node_modules/nodemailer/dist/cjs/shared/url.js +255 -0
  60. package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/data-stream.d.ts +15 -0
  61. package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/data-stream.js +108 -0
  62. package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/http-proxy-client.d.ts +47 -0
  63. package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/http-proxy-client.js +189 -0
  64. package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/index.d.ts +416 -0
  65. package/dist/node_modules/nodemailer/dist/cjs/smtp-connection/index.js +1837 -0
  66. package/dist/node_modules/nodemailer/dist/cjs/smtp-pool/index.d.ts +133 -0
  67. package/dist/node_modules/nodemailer/dist/cjs/smtp-pool/index.js +569 -0
  68. package/dist/node_modules/nodemailer/dist/cjs/smtp-pool/pool-resource.d.ts +62 -0
  69. package/dist/node_modules/nodemailer/dist/cjs/smtp-pool/pool-resource.js +257 -0
  70. package/dist/node_modules/nodemailer/dist/cjs/smtp-transport/index.d.ts +156 -0
  71. package/dist/node_modules/nodemailer/dist/cjs/smtp-transport/index.js +371 -0
  72. package/dist/node_modules/nodemailer/dist/cjs/stream-transport/index.d.ts +65 -0
  73. package/dist/node_modules/nodemailer/dist/cjs/stream-transport/index.js +146 -0
  74. package/dist/node_modules/nodemailer/dist/cjs/well-known/index.d.ts +35 -0
  75. package/dist/node_modules/nodemailer/dist/cjs/well-known/index.js +41 -0
  76. package/dist/node_modules/nodemailer/dist/cjs/well-known/services.d.ts +2 -0
  77. package/dist/node_modules/nodemailer/dist/cjs/well-known/services.js +674 -0
  78. package/dist/node_modules/nodemailer/dist/cjs/xoauth2/index.d.ts +201 -0
  79. package/dist/node_modules/nodemailer/dist/cjs/xoauth2/index.js +426 -0
  80. package/dist/node_modules/nodemailer/dist/esm/addressparser/index.d.ts +59 -0
  81. package/dist/node_modules/nodemailer/{lib → dist/esm}/addressparser/index.js +361 -131
  82. package/dist/node_modules/nodemailer/dist/esm/base64/index.d.ts +36 -0
  83. package/dist/node_modules/nodemailer/{lib → dist/esm}/base64/index.js +31 -56
  84. package/dist/node_modules/nodemailer/dist/esm/dkim/index.d.ts +52 -0
  85. package/dist/node_modules/nodemailer/{lib → dist/esm}/dkim/index.js +49 -78
  86. package/dist/node_modules/nodemailer/dist/esm/dkim/message-parser.d.ts +48 -0
  87. package/dist/node_modules/nodemailer/{lib → dist/esm}/dkim/message-parser.js +64 -42
  88. package/dist/node_modules/nodemailer/dist/esm/dkim/relaxed-body.d.ts +36 -0
  89. package/dist/node_modules/nodemailer/dist/esm/dkim/relaxed-body.js +141 -0
  90. package/dist/node_modules/nodemailer/dist/esm/dkim/sign.d.ts +52 -0
  91. package/dist/node_modules/nodemailer/{lib → dist/esm}/dkim/sign.js +50 -46
  92. package/dist/node_modules/nodemailer/dist/esm/errors.d.ts +96 -0
  93. package/dist/node_modules/nodemailer/{lib → dist/esm}/errors.js +26 -18
  94. package/dist/node_modules/nodemailer/dist/esm/fetch/cookies.d.ts +107 -0
  95. package/dist/node_modules/nodemailer/dist/esm/fetch/cookies.js +242 -0
  96. package/dist/node_modules/nodemailer/dist/esm/fetch/index.d.ts +65 -0
  97. package/dist/node_modules/nodemailer/{lib → dist/esm}/fetch/index.js +80 -147
  98. package/dist/node_modules/nodemailer/dist/esm/json-transport/index.d.ts +64 -0
  99. package/dist/node_modules/nodemailer/{lib → dist/esm}/json-transport/index.js +19 -39
  100. package/dist/node_modules/nodemailer/dist/esm/mail-composer/index.d.ts +174 -0
  101. package/dist/node_modules/nodemailer/{lib → dist/esm}/mail-composer/index.js +199 -265
  102. package/dist/node_modules/nodemailer/dist/esm/mailer/index.d.ts +237 -0
  103. package/dist/node_modules/nodemailer/{lib → dist/esm}/mailer/index.js +128 -234
  104. package/dist/node_modules/nodemailer/dist/esm/mailer/mail-message.d.ts +97 -0
  105. package/dist/node_modules/nodemailer/{lib → dist/esm}/mailer/mail-message.js +62 -114
  106. package/dist/node_modules/nodemailer/dist/esm/mime-funcs/index.d.ts +161 -0
  107. package/dist/node_modules/nodemailer/dist/esm/mime-funcs/index.js +738 -0
  108. package/dist/node_modules/nodemailer/dist/esm/mime-funcs/mime-types.d.ts +2 -0
  109. package/dist/node_modules/nodemailer/{lib → dist/esm}/mime-funcs/mime-types.js +29 -42
  110. package/dist/node_modules/nodemailer/dist/esm/mime-node/index.d.ts +333 -0
  111. package/dist/node_modules/nodemailer/{lib → dist/esm}/mime-node/index.js +259 -372
  112. package/dist/node_modules/nodemailer/dist/esm/mime-node/last-newline.d.ts +5 -0
  113. package/dist/node_modules/nodemailer/{lib → dist/esm}/mime-node/last-newline.js +4 -10
  114. package/dist/node_modules/nodemailer/dist/esm/mime-node/le-unix.d.ts +9 -0
  115. package/dist/node_modules/nodemailer/{lib → dist/esm}/mime-node/le-unix.js +6 -11
  116. package/dist/node_modules/nodemailer/dist/esm/mime-node/le-windows.d.ts +10 -0
  117. package/dist/node_modules/nodemailer/{lib → dist/esm}/mime-node/le-windows.js +6 -13
  118. package/dist/node_modules/nodemailer/dist/esm/nodemailer.d.ts +124 -0
  119. package/dist/node_modules/nodemailer/dist/esm/nodemailer.js +166 -0
  120. package/dist/node_modules/nodemailer/dist/esm/package-info.d.ts +3 -0
  121. package/dist/node_modules/nodemailer/dist/esm/package-info.js +4 -0
  122. package/dist/node_modules/nodemailer/dist/esm/package.json +3 -0
  123. package/dist/node_modules/nodemailer/dist/esm/punycode/index.d.ts +73 -0
  124. package/dist/node_modules/nodemailer/dist/esm/punycode/index.js +405 -0
  125. package/dist/node_modules/nodemailer/dist/esm/qp/index.d.ts +32 -0
  126. package/dist/node_modules/nodemailer/{lib → dist/esm}/qp/index.js +38 -67
  127. package/dist/node_modules/nodemailer/dist/esm/sendmail-transport/index.d.ts +69 -0
  128. package/dist/node_modules/nodemailer/{lib → dist/esm}/sendmail-transport/index.js +51 -101
  129. package/dist/node_modules/nodemailer/dist/esm/ses-transport/index.d.ts +112 -0
  130. package/dist/node_modules/nodemailer/dist/esm/ses-transport/index.js +212 -0
  131. package/dist/node_modules/nodemailer/dist/esm/shared/index.d.ts +260 -0
  132. package/dist/node_modules/nodemailer/{lib → dist/esm}/shared/index.js +156 -272
  133. package/dist/node_modules/nodemailer/dist/esm/shared/objects.d.ts +23 -0
  134. package/dist/node_modules/nodemailer/{lib → dist/esm}/shared/objects.js +13 -17
  135. package/dist/node_modules/nodemailer/dist/esm/shared/url.d.ts +21 -0
  136. package/dist/node_modules/nodemailer/dist/esm/shared/url.js +214 -0
  137. package/dist/node_modules/nodemailer/dist/esm/smtp-connection/data-stream.d.ts +15 -0
  138. package/dist/node_modules/nodemailer/dist/esm/smtp-connection/data-stream.js +103 -0
  139. package/dist/node_modules/nodemailer/dist/esm/smtp-connection/http-proxy-client.d.ts +47 -0
  140. package/dist/node_modules/nodemailer/{lib → dist/esm}/smtp-connection/http-proxy-client.js +49 -74
  141. package/dist/node_modules/nodemailer/dist/esm/smtp-connection/index.d.ts +416 -0
  142. package/dist/node_modules/nodemailer/{lib → dist/esm}/smtp-connection/index.js +574 -794
  143. package/dist/node_modules/nodemailer/dist/esm/smtp-pool/index.d.ts +133 -0
  144. package/dist/node_modules/nodemailer/{lib → dist/esm}/smtp-pool/index.js +172 -284
  145. package/dist/node_modules/nodemailer/dist/esm/smtp-pool/pool-resource.d.ts +62 -0
  146. package/dist/node_modules/nodemailer/{lib → dist/esm}/smtp-pool/pool-resource.js +57 -97
  147. package/dist/node_modules/nodemailer/dist/esm/smtp-transport/index.d.ts +156 -0
  148. package/dist/node_modules/nodemailer/{lib → dist/esm}/smtp-transport/index.js +81 -179
  149. package/dist/node_modules/nodemailer/dist/esm/stream-transport/index.d.ts +65 -0
  150. package/dist/node_modules/nodemailer/{lib → dist/esm}/stream-transport/index.js +36 -74
  151. package/dist/node_modules/nodemailer/dist/esm/well-known/index.d.ts +35 -0
  152. package/dist/node_modules/nodemailer/{lib → dist/esm}/well-known/index.js +5 -16
  153. package/dist/node_modules/nodemailer/dist/esm/well-known/services.d.ts +2 -0
  154. package/dist/node_modules/nodemailer/dist/esm/well-known/services.js +671 -0
  155. package/dist/node_modules/nodemailer/dist/esm/xoauth2/index.d.ts +201 -0
  156. package/dist/node_modules/nodemailer/{lib → dist/esm}/xoauth2/index.js +125 -187
  157. package/dist/node_modules/nodemailer/{lib → dist}/well-known/services.json +9 -2
  158. package/dist/node_modules/nodemailer/package.json +1 -1
  159. package/package.json +3 -3
  160. package/dist/node_modules/nodemailer/.gitattributes +0 -6
  161. package/dist/node_modules/nodemailer/.ncurc.js +0 -9
  162. package/dist/node_modules/nodemailer/.prettierignore +0 -8
  163. package/dist/node_modules/nodemailer/.prettierrc +0 -12
  164. package/dist/node_modules/nodemailer/.prettierrc.js +0 -10
  165. package/dist/node_modules/nodemailer/.release-please-config.json +0 -9
  166. package/dist/node_modules/nodemailer/eslint.config.js +0 -88
  167. package/dist/node_modules/nodemailer/lib/dkim/relaxed-body.js +0 -154
  168. package/dist/node_modules/nodemailer/lib/fetch/cookies.js +0 -276
  169. package/dist/node_modules/nodemailer/lib/mime-funcs/index.js +0 -671
  170. package/dist/node_modules/nodemailer/lib/nodemailer.js +0 -1
  171. package/dist/node_modules/nodemailer/lib/ses-transport/index.js +0 -266
  172. package/dist/node_modules/nodemailer/lib/shared/url.js +0 -151
  173. package/dist/node_modules/nodemailer/lib/smtp-connection/data-stream.js +0 -105
@@ -0,0 +1,5 @@
1
+ import { Transform } from 'node:stream';
2
+ export default class LastNewline extends Transform {
3
+ lastByte: number | false;
4
+ constructor();
5
+ }
@@ -1,22 +1,18 @@
1
- 'use strict';
2
-
3
- const { Transform } = require('stream');
4
-
5
- class LastNewline extends Transform {
1
+ import { Transform } from 'node:stream';
2
+ export default class LastNewline extends Transform {
6
3
  constructor() {
7
4
  super();
8
5
  this.lastByte = false;
9
6
  }
10
-
7
+ /** @internal */
11
8
  _transform(chunk, encoding, done) {
12
9
  if (chunk.length) {
13
10
  this.lastByte = chunk[chunk.length - 1];
14
11
  }
15
-
16
12
  this.push(chunk);
17
13
  done();
18
14
  }
19
-
15
+ /** @internal */
20
16
  _flush(done) {
21
17
  if (this.lastByte === 0x0a) {
22
18
  return done();
@@ -29,5 +25,3 @@ class LastNewline extends Transform {
29
25
  return done();
30
26
  }
31
27
  }
32
-
33
- module.exports = LastNewline;
@@ -0,0 +1,9 @@
1
+ import { Transform, type TransformOptions } from 'node:stream';
2
+ /**
3
+ * Ensures that only <LF> is used for linebreaks
4
+ *
5
+ * @param options Stream options
6
+ */
7
+ export default class LeUnix extends Transform {
8
+ constructor(options?: TransformOptions);
9
+ }
@@ -1,24 +1,20 @@
1
- 'use strict';
2
-
3
- const { Transform } = require('stream');
4
-
1
+ import { Transform } from 'node:stream';
5
2
  /**
6
3
  * Ensures that only <LF> is used for linebreaks
7
4
  *
8
- * @param {Object} options Stream options
5
+ * @param options Stream options
9
6
  */
10
- class LeUnix extends Transform {
7
+ export default class LeUnix extends Transform {
11
8
  constructor(options) {
12
9
  super(options);
13
10
  }
14
-
15
11
  /**
16
12
  * Escapes dots
13
+ * @internal
17
14
  */
18
15
  _transform(chunk, encoding, done) {
19
16
  let buf;
20
17
  let lastPos = 0;
21
-
22
18
  for (let i = 0, len = chunk.length; i < len; i++) {
23
19
  if (chunk[i] === 0x0d) {
24
20
  // \r
@@ -30,11 +26,10 @@ class LeUnix extends Transform {
30
26
  if (lastPos && lastPos < chunk.length) {
31
27
  buf = chunk.slice(lastPos);
32
28
  this.push(buf);
33
- } else if (!lastPos) {
29
+ }
30
+ else if (!lastPos) {
34
31
  this.push(chunk);
35
32
  }
36
33
  done();
37
34
  }
38
35
  }
39
-
40
- module.exports = LeUnix;
@@ -0,0 +1,10 @@
1
+ import { Transform, type TransformOptions } from 'node:stream';
2
+ /**
3
+ * Ensures that only <CR><LF> sequences are used for linebreaks
4
+ *
5
+ * @param options Stream options
6
+ */
7
+ export default class LeWindows extends Transform {
8
+ lastByte: number | false;
9
+ constructor(options?: TransformOptions);
10
+ }
@@ -1,25 +1,21 @@
1
- 'use strict';
2
-
3
- const { Transform } = require('stream');
4
-
1
+ import { Transform } from 'node:stream';
5
2
  /**
6
3
  * Ensures that only <CR><LF> sequences are used for linebreaks
7
4
  *
8
- * @param {Object} options Stream options
5
+ * @param options Stream options
9
6
  */
10
- class LeWindows extends Transform {
7
+ export default class LeWindows extends Transform {
11
8
  constructor(options) {
12
9
  super(options);
13
10
  this.lastByte = false;
14
11
  }
15
-
16
12
  /**
17
13
  * Escapes dots
14
+ * @internal
18
15
  */
19
16
  _transform(chunk, encoding, done) {
20
17
  let buf;
21
18
  let lastPos = 0;
22
-
23
19
  for (let i = 0, len = chunk.length; i < len; i++) {
24
20
  if (chunk[i] === 0x0a) {
25
21
  // \n
@@ -33,17 +29,14 @@ class LeWindows extends Transform {
33
29
  }
34
30
  }
35
31
  }
36
-
37
32
  if (lastPos && lastPos < chunk.length) {
38
33
  buf = chunk.slice(lastPos);
39
34
  this.push(buf);
40
- } else if (!lastPos) {
35
+ }
36
+ else if (!lastPos) {
41
37
  this.push(chunk);
42
38
  }
43
-
44
39
  this.lastByte = chunk[chunk.length - 1];
45
40
  done();
46
41
  }
47
42
  }
48
-
49
- module.exports = LeWindows;
@@ -0,0 +1,124 @@
1
+ import Mail from './mailer/index.js';
2
+ import type { MailDefaults, SentMessageInfo, Transport, TransportOptions } from './mailer/index.js';
3
+ import SMTPPool from './smtp-pool/index.js';
4
+ import type { SMTPPoolOptions, SMTPPoolSentMessageInfo } from './smtp-pool/index.js';
5
+ import SMTPTransport from './smtp-transport/index.js';
6
+ import type { SMTPTransportOptions, SMTPSentMessageInfo } from './smtp-transport/index.js';
7
+ import SendmailTransport from './sendmail-transport/index.js';
8
+ import type { SendmailTransportOptions, SendmailSentMessageInfo } from './sendmail-transport/index.js';
9
+ import StreamTransport from './stream-transport/index.js';
10
+ import type { StreamTransportOptions, StreamSentMessageInfo } from './stream-transport/index.js';
11
+ import JSONTransport from './json-transport/index.js';
12
+ import type { JSONTransportOptions, JSONSentMessageInfo, JSONSentMessageObjectInfo } from './json-transport/index.js';
13
+ import SESTransport from './ses-transport/index.js';
14
+ import type { SESTransportOptions, SESSentMessageInfo } from './ses-transport/index.js';
15
+ /**
16
+ * Connection details of a service endpoint of an Ethereal test account
17
+ */
18
+ export interface TestAccountService {
19
+ host: string;
20
+ port: number;
21
+ secure: boolean;
22
+ }
23
+ /**
24
+ * Ethereal test account returned by createTestAccount()
25
+ */
26
+ export interface TestAccount {
27
+ user: string;
28
+ pass: string;
29
+ smtp: TestAccountService;
30
+ imap: TestAccountService;
31
+ pop3: TestAccountService;
32
+ web: string;
33
+ /** true if the account can also receive external mail */
34
+ mxEnabled?: boolean | undefined;
35
+ [key: string]: unknown;
36
+ }
37
+ /**
38
+ * Callback for createTestAccount()
39
+ */
40
+ export type TestAccountCallback = (err: Error | null, account: TestAccount) => void;
41
+ /**
42
+ * Configuration object of any of the bundled transports
43
+ */
44
+ export type TransportConfig = SMTPTransportOptions | SMTPPoolOptions | SendmailTransportOptions | StreamTransportOptions | JSONTransportOptions | SESTransportOptions;
45
+ /**
46
+ * Creates a transporter object for sending e-mails
47
+ *
48
+ * @param transporter Transport configuration object, a connection URL or a transport plugin instance
49
+ * @param defaults Default message fields that are merged into every message
50
+ * @returns Mail instance wrapping the transport
51
+ */
52
+ export declare function createTransport(transporter: SMTPPool | (SMTPPoolOptions & {
53
+ pool: true;
54
+ }), defaults?: MailDefaults): Mail<SMTPPoolSentMessageInfo, SMTPPoolOptions>;
55
+ export declare function createTransport(transporter: SendmailTransport | (SendmailTransportOptions & {
56
+ sendmail: true | string;
57
+ }), defaults?: MailDefaults): Mail<SendmailSentMessageInfo, SendmailTransportOptions>;
58
+ export declare function createTransport(transporter: StreamTransport | (StreamTransportOptions & {
59
+ streamTransport: true;
60
+ }), defaults?: MailDefaults): Mail<StreamSentMessageInfo, StreamTransportOptions>;
61
+ export declare function createTransport(transporter: JSONTransportOptions & {
62
+ jsonTransport: true;
63
+ skipEncoding: true;
64
+ }, defaults?: MailDefaults): Mail<JSONSentMessageObjectInfo, JSONTransportOptions>;
65
+ export declare function createTransport(transporter: JSONTransport | (JSONTransportOptions & {
66
+ jsonTransport: true;
67
+ }), defaults?: MailDefaults): Mail<JSONSentMessageInfo, JSONTransportOptions>;
68
+ export declare function createTransport(transporter: SESTransport | (SESTransportOptions & {
69
+ SES: object;
70
+ }), defaults?: MailDefaults): Mail<SESSentMessageInfo, SESTransportOptions>;
71
+ export declare function createTransport(transporter: SMTPTransport, defaults?: MailDefaults): Mail<SMTPSentMessageInfo, SMTPTransportOptions>;
72
+ export declare function createTransport<T = SentMessageInfo, D extends TransportOptions = TransportOptions>(transporter: Transport<T, D>, defaults?: MailDefaults): Mail<T, D>;
73
+ export declare function createTransport(transporter?: SMTPTransportOptions | string, defaults?: MailDefaults): Mail<SMTPSentMessageInfo, SMTPTransportOptions>;
74
+ export declare function createTransport(transporter?: TransportConfig | Transport<any, any> | string, defaults?: MailDefaults): Mail<any, any>;
75
+ /**
76
+ * Creates a test account from the Ethereal service (https://ethereal.email)
77
+ *
78
+ * @param callback Callback function to run with the account object
79
+ */
80
+ export declare function createTestAccount(callback: TestAccountCallback): void;
81
+ /**
82
+ * Creates a test account from the Ethereal service (https://ethereal.email)
83
+ *
84
+ * @param apiUrl API endpoint, defaults to https://api.nodemailer.com
85
+ * @param callback Callback function to run with the account object
86
+ */
87
+ export declare function createTestAccount(apiUrl: string | false | null | undefined, callback: TestAccountCallback): void;
88
+ /**
89
+ * Creates a test account from the Ethereal service (https://ethereal.email)
90
+ *
91
+ * @param [apiUrl] API endpoint, defaults to https://api.nodemailer.com
92
+ * @returns Promise that resolves with the account object
93
+ */
94
+ export declare function createTestAccount(apiUrl?: string | false | null): Promise<TestAccount>;
95
+ /**
96
+ * Resolves the Ethereal web URL for a message sent through an Ethereal test account
97
+ *
98
+ * @param info Result object of sendMail()
99
+ * @returns URL of the message in the Ethereal web interface, or false if the response does not carry one
100
+ */
101
+ export declare function getTestMessageUrl(info?: {
102
+ response?: string | Buffer | null | undefined;
103
+ } | false | null): string | false;
104
+ declare const nodemailer: {
105
+ createTransport: typeof createTransport;
106
+ createTestAccount: typeof createTestAccount;
107
+ getTestMessageUrl: typeof getTestMessageUrl;
108
+ };
109
+ export default nodemailer;
110
+ export type { Mail, MailDefaults, SentMessageInfo, Transport, TransportOptions };
111
+ export type { SendMailOptions, Transporter } from './mailer/index.js';
112
+ export type { NodemailerError, ErrorCode } from './errors.js';
113
+ export type { MailMessage, MailMessageData, PluginFunction, VerifyCallback } from './mailer/index.js';
114
+ export type { MailComposerOptions, MailComposerAttachment as Attachment, MailComposerAlternative as AttachmentLike, MailComposerIcalEvent as IcalAttachment, MailComposerListHeaders as ListHeaders } from './mail-composer/index.js';
115
+ export type { MimeNodeAddress as Address, MimeNodeHeaders as Headers } from './mime-node/index.js';
116
+ export type { SMTPConnectionOptions, SMTPConnectionAuth, SMTPEnvelope, SMTPEnvelopeDsn } from './smtp-connection/index.js';
117
+ export type { DKIMOptions } from './dkim/index.js';
118
+ export type { XOAuth2Options, XOAuth2Token } from './xoauth2/index.js';
119
+ export type { SMTPTransportOptions, SMTPSentMessageInfo };
120
+ export type { SMTPPoolOptions, SMTPPoolSentMessageInfo };
121
+ export type { SendmailTransportOptions, SendmailSentMessageInfo };
122
+ export type { StreamTransportOptions, StreamSentMessageInfo };
123
+ export type { JSONTransportOptions, JSONSentMessageInfo, JSONSentMessageObjectInfo };
124
+ export type { SESTransportOptions, SESSentMessageInfo };
@@ -0,0 +1,166 @@
1
+ import Mail from './mailer/index.js';
2
+ import * as shared from './shared/index.js';
3
+ import SMTPPool from './smtp-pool/index.js';
4
+ import SMTPTransport from './smtp-transport/index.js';
5
+ import SendmailTransport from './sendmail-transport/index.js';
6
+ import StreamTransport from './stream-transport/index.js';
7
+ import JSONTransport from './json-transport/index.js';
8
+ import SESTransport from './ses-transport/index.js';
9
+ import * as errors from './errors.js';
10
+ import nmfetch from './fetch/index.js';
11
+ import * as packageData from './package-info.js';
12
+ const ETHEREAL_API = (process.env.ETHEREAL_API || 'https://api.nodemailer.com').replace(/\/+$/, '');
13
+ const ETHEREAL_WEB = (process.env.ETHEREAL_WEB || 'https://ethereal.email').replace(/\/+$/, '');
14
+ const ETHEREAL_API_KEY = (process.env.ETHEREAL_API_KEY || '').replace(/\s*/g, '') || null;
15
+ const ETHEREAL_CACHE = ['true', 'yes', 'y', '1'].includes((process.env.ETHEREAL_CACHE || 'yes').toString().trim().toLowerCase());
16
+ let testAccount = false;
17
+ export function createTransport(transporter, defaults) {
18
+ let options;
19
+ if (
20
+ // provided transporter is a configuration object, not transporter plugin
21
+ (typeof transporter === 'object' && typeof transporter.send !== 'function') ||
22
+ // provided transporter looks like a connection url
23
+ (typeof transporter === 'string' && /^(smtps?|direct):/i.test(transporter))) {
24
+ const urlConfig = typeof transporter === 'string' ? transporter : transporter.url;
25
+ if (urlConfig) {
26
+ // parse a configuration URL into configuration options. The other keys of a
27
+ // configuration object apply where the url does not set them, merged the same
28
+ // way the SMTP transports merge their own url option
29
+ const parsed = shared.parseConnectionUrl(urlConfig);
30
+ options = (typeof transporter === 'object'
31
+ ? shared.assign(false, shared.copyOwnKeys({}, transporter, key => key === 'url'), parsed)
32
+ : parsed);
33
+ }
34
+ else {
35
+ options = transporter;
36
+ }
37
+ if (options.pool) {
38
+ transporter = new SMTPPool(options);
39
+ }
40
+ else if (options.sendmail) {
41
+ transporter = new SendmailTransport(options);
42
+ }
43
+ else if (options.streamTransport) {
44
+ transporter = new StreamTransport(options);
45
+ }
46
+ else if (options.jsonTransport) {
47
+ transporter = new JSONTransport(options);
48
+ }
49
+ else if (options.SES) {
50
+ const ses = options.SES;
51
+ if (ses.ses && ses.aws) {
52
+ const error = new Error('Using legacy SES configuration, expecting @aws-sdk/client-sesv2, see https://nodemailer.com/transports/ses/');
53
+ error.code = errors.ECONFIG;
54
+ throw error;
55
+ }
56
+ transporter = new SESTransport(options);
57
+ }
58
+ else {
59
+ transporter = new SMTPTransport(options);
60
+ }
61
+ }
62
+ return new Mail(transporter, options, defaults);
63
+ }
64
+ export function createTestAccount(apiUrl, callback) {
65
+ let promise;
66
+ if (!callback && typeof apiUrl === 'function') {
67
+ callback = apiUrl;
68
+ apiUrl = false;
69
+ }
70
+ if (!callback) {
71
+ promise = new Promise((resolve, reject) => {
72
+ callback = shared.callbackPromise(resolve, reject);
73
+ });
74
+ }
75
+ const done = callback;
76
+ if (ETHEREAL_CACHE && testAccount) {
77
+ setImmediate(() => done(null, testAccount));
78
+ return promise;
79
+ }
80
+ apiUrl = apiUrl || ETHEREAL_API;
81
+ const chunks = [];
82
+ let chunklen = 0;
83
+ const requestHeaders = {};
84
+ const requestBody = {
85
+ requestor: packageData.name,
86
+ version: packageData.version
87
+ };
88
+ if (ETHEREAL_API_KEY) {
89
+ requestHeaders.Authorization = 'Bearer ' + ETHEREAL_API_KEY;
90
+ }
91
+ const fetchOptions = {
92
+ contentType: 'application/json',
93
+ method: 'POST',
94
+ headers: requestHeaders,
95
+ body: Buffer.from(JSON.stringify(requestBody))
96
+ };
97
+ // Credential-bearing request to the Ethereal API. src/fetch already
98
+ // validates certs by default; pin rejectUnauthorized:true here so this
99
+ // call stays strict regardless of any future default change and is never
100
+ // relaxed for a real-cert endpoint.
101
+ if (/^https:/i.test(apiUrl)) {
102
+ fetchOptions.tls = { rejectUnauthorized: true };
103
+ }
104
+ const req = nmfetch(apiUrl + '/user', fetchOptions);
105
+ req.on('readable', () => {
106
+ let chunk;
107
+ while ((chunk = req.read()) !== null) {
108
+ chunks.push(chunk);
109
+ chunklen += chunk.length;
110
+ }
111
+ });
112
+ req.once('error', err => done(err));
113
+ req.once('end', () => {
114
+ const res = Buffer.concat(chunks, chunklen);
115
+ let data;
116
+ try {
117
+ data = JSON.parse(res.toString());
118
+ }
119
+ catch (E) {
120
+ return done(E);
121
+ }
122
+ if (data.status !== 'success' || data.error) {
123
+ return done(new Error(data.error || 'Request failed'));
124
+ }
125
+ delete data.status;
126
+ testAccount = data;
127
+ done(null, testAccount);
128
+ });
129
+ return promise;
130
+ }
131
+ /**
132
+ * Resolves the Ethereal web URL for a message sent through an Ethereal test account
133
+ *
134
+ * @param info Result object of sendMail()
135
+ * @returns URL of the message in the Ethereal web interface, or false if the response does not carry one
136
+ */
137
+ export function getTestMessageUrl(info) {
138
+ if (!info || !info.response) {
139
+ return false;
140
+ }
141
+ const infoProps = new Map();
142
+ // Extract the trailing "[...]" part of the response (no "]" allowed inside)
143
+ // with linear string scanning; the equivalent regex /\[([^\]]+)\]$/ was
144
+ // flagged for polynomial backtracking on adversarial server responses
145
+ const response = info.response.toString();
146
+ if (response.length > 2 && response.charAt(response.length - 1) === ']') {
147
+ const open = response.indexOf('[', response.lastIndexOf(']', response.length - 2) + 1);
148
+ if (open >= 0 && open < response.length - 2) {
149
+ const props = response.substring(open + 1, response.length - 1);
150
+ props.replace(/\b([A-Z0-9]+)=([^\s]+)/g, (m, key, value) => {
151
+ infoProps.set(key, value);
152
+ return m;
153
+ });
154
+ }
155
+ }
156
+ if (infoProps.has('STATUS') && infoProps.has('MSGID')) {
157
+ return ((testAccount && testAccount.web) || ETHEREAL_WEB) + '/message/' + infoProps.get('MSGID');
158
+ }
159
+ return false;
160
+ }
161
+ const nodemailer = {
162
+ createTransport,
163
+ createTestAccount,
164
+ getTestMessageUrl
165
+ };
166
+ export default nodemailer;
@@ -0,0 +1,3 @@
1
+ export declare const name = "nodemailer";
2
+ export declare const version = "10.0.14";
3
+ export declare const homepage = "https://nodemailer.com/";
@@ -0,0 +1,4 @@
1
+ // Generated by scripts/build.js from package.json. Do not edit by hand.
2
+ export const name = 'nodemailer';
3
+ export const version = '10.0.14';
4
+ export const homepage = 'https://nodemailer.com/';
@@ -0,0 +1,3 @@
1
+ {
2
+ "type": "module"
3
+ }
@@ -0,0 +1,73 @@
1
+ /**
2
+ * Creates an array containing the numeric code points of each Unicode
3
+ * character in the string. While JavaScript uses UCS-2 internally,
4
+ * this function will convert a pair of surrogate halves (each of which
5
+ * UCS-2 exposes as separate characters) into a single code point,
6
+ * matching UTF-16.
7
+ * @see `punycode.ucs2.encode`
8
+ * @see <https://mathiasbynens.be/notes/javascript-encoding>
9
+ * @memberOf punycode.ucs2
10
+ * @name decode
11
+ * @param string The Unicode input string (UCS-2).
12
+ * @returns The new array of code points.
13
+ */
14
+ declare function ucs2decode(string: string): number[];
15
+ /**
16
+ * Converts a Punycode string of ASCII-only symbols to a string of Unicode
17
+ * symbols.
18
+ * @memberOf punycode
19
+ * @param input The Punycode string of ASCII-only symbols.
20
+ * @returns The resulting string of Unicode symbols.
21
+ */
22
+ declare const decode: (input: string) => string;
23
+ /**
24
+ * Converts a string of Unicode symbols (e.g. a domain name label) to a
25
+ * Punycode string of ASCII-only symbols.
26
+ * @memberOf punycode
27
+ * @param input The string of Unicode symbols.
28
+ * @returns The resulting Punycode string of ASCII-only symbols.
29
+ */
30
+ declare const encode: (input: string) => string;
31
+ /**
32
+ * Converts a Punycode string representing a domain name or an email address
33
+ * to Unicode. Only the Punycoded parts of the input will be converted, i.e.
34
+ * it doesn't matter if you call it on a string that has already been
35
+ * converted to Unicode.
36
+ * @memberOf punycode
37
+ * @param input The Punycoded domain name or email address to
38
+ * convert to Unicode.
39
+ * @returns The Unicode representation of the given Punycode
40
+ * string.
41
+ */
42
+ declare const toUnicode: (input: string) => string;
43
+ /**
44
+ * Converts a Unicode string representing a domain name or an email address to
45
+ * Punycode. Only the non-ASCII parts of the domain name will be converted,
46
+ * i.e. it doesn't matter if you call it with a domain that's already in
47
+ * ASCII.
48
+ * @memberOf punycode
49
+ * @param input The domain name or email address to convert, as a
50
+ * Unicode string.
51
+ * @returns The Punycode representation of the given domain name or
52
+ * email address.
53
+ */
54
+ declare const toASCII: (input: string) => string;
55
+ /** Define the public API */
56
+ /**
57
+ * A string representing the current Punycode.js version number.
58
+ * @memberOf punycode
59
+ * @type String
60
+ */
61
+ export declare const version = "2.3.1";
62
+ /**
63
+ * An object of methods to convert from JavaScript's internal character
64
+ * representation (UCS-2) to Unicode code points, and back.
65
+ * @see <https://mathiasbynens.be/notes/javascript-encoding>
66
+ * @memberOf punycode
67
+ * @type Object
68
+ */
69
+ export declare const ucs2: {
70
+ decode: typeof ucs2decode;
71
+ encode: (codePoints: number[]) => string;
72
+ };
73
+ export { decode, encode, toASCII, toUnicode };