@stamhoofd/email 2.24.0 → 2.25.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -40,13 +40,25 @@ declare class EmailStatic {
40
40
  * Get the raw email
41
41
  */
42
42
  parseEmailStr(emailStr: string): string[];
43
+ private matchWhitelist;
44
+ private filterWhitelist;
43
45
  private doSend;
46
+ /**
47
+ * @deprecated
48
+ * Please use EmailBuilder.sendEmailTemplate
49
+ */
44
50
  getInternalEmailFor(i18n: I18n): string;
51
+ getWebmasterFromEmail(): string;
52
+ getWebmasterToEmail(): string;
53
+ /**
54
+ * @deprecated
55
+ * Please use EmailBuilder.sendEmailTemplate
56
+ */
45
57
  getPersonalEmailFor(i18n: I18n): string;
46
58
  /**
47
- * Send an internal e-mail (from stamhoofd)
59
+ * Send an email to the webmaster
48
60
  */
49
- sendInternal(data: EmailInterfaceBase, i18n: I18n): void;
61
+ sendWebmaster(data: Omit<EmailInterfaceBase, "to">): void;
50
62
  send(data: EmailInterface): void;
51
63
  schedule(builder: EmailBuilder): void;
52
64
  scheduleAndWait(builder: EmailBuilder): void;
@@ -1 +1 @@
1
- {"version":3,"file":"Email.d.ts","sourceRoot":"","sources":["../../src/classes/Email.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,uBAAuB,CAAC;AAIzC,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAG9C,MAAM,MAAM,uBAAuB,GAAG;IAClC,IAAI,CAAC,EAAE,MAAM,GAAC,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,EAAE,EAAE,MAAM,GAAC,uBAAuB,EAAE,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAC,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,eAAe,GAAG,WAAW,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAC,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAC,IAAI,KAAK,IAAI,CAAC;CAC1C,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG;IAC9C,IAAI,EAAE,MAAM,CAAC;CAChB,CAAA;AAGD,MAAM,MAAM,YAAY,GAAG,MAAM,cAAc,GAAG,SAAS,CAAA;AAE3D,cAAM,WAAW;IACb,WAAW,EAAE,IAAI,CAAC;IAClB,wBAAwB,EAAE,IAAI,CAAC;IAC/B,GAAG,SAAK;IAER,YAAY,EAAE,YAAY,EAAE,CAAK;IACjC,OAAO,UAAQ;IAEf,aAAa;IAkDb,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAC,uBAAuB,EAAE,GAAG,uBAAuB,EAAE;IASxE;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;YAkF3B,MAAM;IA4KpB,mBAAmB,CAAC,IAAI,EAAE,IAAI;IAK9B,mBAAmB,CAAC,IAAI,EAAE,IAAI;IAI9B;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI;IAKjD,IAAI,CAAC,IAAI,EAAE,cAAc;IAgBzB,QAAQ,CAAC,OAAO,EAAE,YAAY;IAK9B,eAAe,CAAC,OAAO,EAAE,YAAY;CAIxC;AAED,eAAO,MAAM,KAAK,aAAoB,CAAC"}
1
+ {"version":3,"file":"Email.d.ts","sourceRoot":"","sources":["../../src/classes/Email.ts"],"names":[],"mappings":"AAEA,OAAO,IAAI,MAAM,uBAAuB,CAAC;AAIzC,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAA;AAG9C,MAAM,MAAM,uBAAuB,GAAG;IAClC,IAAI,CAAC,EAAE,MAAM,GAAC,IAAI,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB,CAAA;AAED,MAAM,MAAM,kBAAkB,GAAG;IAC7B,EAAE,EAAE,MAAM,GAAC,uBAAuB,EAAE,CAAC;IACrC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,GAAC,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAClH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,CAAC,EAAE,eAAe,GAAG,WAAW,CAAC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAC,IAAI,CAAC;IACtC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,GAAC,IAAI,KAAK,IAAI,CAAC;CAC1C,CAAA;AAED,MAAM,MAAM,cAAc,GAAG,kBAAkB,GAAG;IAC9C,IAAI,EAAE,MAAM,CAAC;CAChB,CAAA;AAGD,MAAM,MAAM,YAAY,GAAG,MAAM,cAAc,GAAG,SAAS,CAAA;AAE3D,cAAM,WAAW;IACb,WAAW,EAAE,IAAI,CAAC;IAClB,wBAAwB,EAAE,IAAI,CAAC;IAC/B,GAAG,SAAK;IAER,YAAY,EAAE,YAAY,EAAE,CAAK;IACjC,OAAO,UAAQ;IAEf,aAAa;IAkDb,OAAO,CAAC,gBAAgB;IA2BxB,OAAO,CAAC,EAAE,EAAE,MAAM,GAAC,uBAAuB,EAAE,GAAG,uBAAuB,EAAE;IASxE;;OAEG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAkFzC,OAAO,CAAC,cAAc;IAqBtB,OAAO,CAAC,eAAe;YAUT,MAAM;IAgKpB;;;OAGG;IACH,mBAAmB,CAAC,IAAI,EAAE,IAAI;IAK9B,qBAAqB;IAIrB,mBAAmB;IAInB;;;OAGG;IACH,mBAAmB,CAAC,IAAI,EAAE,IAAI;IAI9B;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,kBAAkB,EAAE,IAAI,CAAC;IAQlD,IAAI,CAAC,IAAI,EAAE,cAAc;IAgBzB,QAAQ,CAAC,OAAO,EAAE,YAAY;IAK9B,eAAe,CAAC,OAAO,EAAE,YAAY;CAIxC;AAED,eAAO,MAAM,KAAK,aAAoB,CAAC"}
@@ -169,6 +169,30 @@ class EmailStatic {
169
169
  endAddress();
170
170
  return addresses;
171
171
  }
172
+ matchWhitelist(email, whitelist) {
173
+ if (!whitelist.includes('*') && !whitelist.includes('*@*')) {
174
+ const l = email.toLowerCase();
175
+ if (whitelist.includes(l)) {
176
+ return true;
177
+ }
178
+ const domainIndex = l.indexOf('@');
179
+ const domain = l.substring(domainIndex);
180
+ if (whitelist.includes('*' + domain)) {
181
+ return true;
182
+ }
183
+ console.warn("Filtered email to " + l + ": not whitelisted");
184
+ return false;
185
+ }
186
+ return true;
187
+ }
188
+ filterWhitelist(recipients, whitelist) {
189
+ if (!whitelist.includes('*') && !whitelist.includes('*@*')) {
190
+ return recipients.filter(mail => {
191
+ return this.matchWhitelist(mail.email, whitelist);
192
+ });
193
+ }
194
+ return recipients;
195
+ }
172
196
  async doSend(data) {
173
197
  if (STAMHOOFD.environment === 'test') {
174
198
  // Do not send any emails
@@ -202,21 +226,7 @@ class EmailStatic {
202
226
  // Filter by environment
203
227
  if (STAMHOOFD.environment !== 'production') {
204
228
  const whitelist = STAMHOOFD.WHITELISTED_EMAIL_DESTINATIONS ?? [];
205
- if (!whitelist.includes('*') && !whitelist.includes('*@*')) {
206
- recipients = recipients.filter(mail => {
207
- const l = mail.email.toLowerCase();
208
- if (whitelist.includes(l)) {
209
- return true;
210
- }
211
- const domainIndex = l.indexOf('@');
212
- const domain = l.substring(domainIndex);
213
- if (whitelist.includes('*' + domain)) {
214
- return true;
215
- }
216
- console.warn("Filtered email to " + l + ": not whitelisted in WHITELISTED_EMAIL_DESTINATIONS");
217
- return false;
218
- });
219
- }
229
+ recipients = this.filterWhitelist(recipients, whitelist);
220
230
  }
221
231
  if (recipients.length === 0) {
222
232
  // Invalid string
@@ -268,11 +278,17 @@ class EmailStatic {
268
278
  });
269
279
  }
270
280
  }
281
+ const parsedFrom = this.parseEmailStr(data.from);
282
+ if (parsedFrom.length !== 1) {
283
+ throw new Error("Invalid from email " + data.from);
284
+ }
271
285
  try {
272
- // todo: read from environment
273
- if (!data.from.includes('@stamhoofd.be') && !data.from.includes('@stamhoofd.nl')) {
274
- // Not supported
275
- data.type = 'broadcast';
286
+ // Can we send from the transactional email server?
287
+ if (STAMHOOFD.TRANSACTIONAL_WHITELIST !== undefined && data.type === 'transactional') {
288
+ if (!this.matchWhitelist(parsedFrom[0], STAMHOOFD.TRANSACTIONAL_WHITELIST)) {
289
+ // Not supported
290
+ data.type = 'broadcast';
291
+ }
276
292
  }
277
293
  const transporter = (data.type === "transactional") ? this.transactionalTransporter : this.transporter;
278
294
  const info = await transporter.sendMail(mail);
@@ -304,30 +320,46 @@ class EmailStatic {
304
320
  }
305
321
  // Email address is not verified.
306
322
  if (STAMHOOFD.environment !== 'development') {
307
- if (!data.from.includes("hallo@stamhoofd.be")) {
308
- this.sendInternal({
309
- to: "hallo@stamhoofd.be",
323
+ if (data.from !== this.getWebmasterFromEmail()) {
324
+ this.sendWebmaster({
310
325
  subject: "E-mail kon niet worden verzonden",
311
326
  text: "Een e-mail vanaf " + data.from + " kon niet worden verstuurd aan " + mail.to + ": \n\n" + e + "\n\n" + (mail.text ?? ""),
312
327
  type: (data.type === "transactional") ? "broadcast" : "transactional"
313
- }, new backend_i18n_1.I18n("nl", "BE"));
328
+ });
314
329
  }
315
330
  }
316
331
  }
317
332
  }
318
333
  }
334
+ /**
335
+ * @deprecated
336
+ * Please use EmailBuilder.sendEmailTemplate
337
+ */
319
338
  getInternalEmailFor(i18n) {
320
339
  // todo: use default email in platform settings
321
- return '"' + (STAMHOOFD.platformName ?? 'Stamhoofd') + ' " <' + (i18n.$t("shared.emails.general")) + '>';
340
+ return '"' + (STAMHOOFD.platformName ?? 'Stamhoofd') + ' " <hallo@' + (i18n.localizedDomains.defaultTransactionalEmail()) + '>';
322
341
  }
342
+ getWebmasterFromEmail() {
343
+ return '"' + (STAMHOOFD.platformName ?? 'Stamhoofd') + ' " <webmaster@' + (new backend_i18n_1.I18n("nl", "BE").localizedDomains.defaultTransactionalEmail()) + '>';
344
+ }
345
+ getWebmasterToEmail() {
346
+ return 'hallo@stamhoofd.be';
347
+ }
348
+ /**
349
+ * @deprecated
350
+ * Please use EmailBuilder.sendEmailTemplate
351
+ */
323
352
  getPersonalEmailFor(i18n) {
324
353
  return '"Simon Backx" <' + (i18n.$t("shared.emails.personal")) + '>';
325
354
  }
326
355
  /**
327
- * Send an internal e-mail (from stamhoofd)
356
+ * Send an email to the webmaster
328
357
  */
329
- sendInternal(data, i18n) {
330
- const mail = Object.assign(data, { from: this.getInternalEmailFor(i18n) });
358
+ sendWebmaster(data) {
359
+ const mail = Object.assign(data, {
360
+ from: this.getWebmasterFromEmail(),
361
+ to: this.getWebmasterToEmail()
362
+ });
331
363
  this.send(mail);
332
364
  }
333
365
  send(data) {
@@ -1 +1 @@
1
- {"version":3,"file":"Email.js","sourceRoot":"","sources":["../../src/classes/Email.ts"],"names":[],"mappings":";;;;AAAA,gDAA8D;AAC9D,oEAAmC;AAEnC,yDAAsD;AACtD,wEAAsC;AACtC,gDAA2C;AAC3C,0DAA8C;AAC9C,6DAAwD;AA4BxD,MAAM,WAAW;IACb,WAAW,CAAO;IAClB,wBAAwB,CAAO;IAC/B,GAAG,GAAG,EAAE,CAAA;IAER,YAAY,GAAmB,EAAE,CAAA;IACjC,OAAO,GAAG,KAAK,CAAA;IAEf,aAAa;QACT,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,OAAO;QACX,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,CAAC;YAC/C,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAChE,OAAO;QACX,CAAC;QAED,sEAAsE;QACtE,IAAI,CAAC,WAAW,GAAG,oBAAU,CAAC,eAAe,CAAC;YAC1C,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,SAAS,CAAC,SAAS;YACzB,IAAI,EAAE,SAAS,CAAC,SAAS;YACzB,IAAI,EAAE;gBACF,IAAI,EAAE,SAAS,CAAC,aAAa,EAAE,0BAA0B;gBACzD,IAAI,EAAE,SAAS,CAAC,aAAa,CAAC,8BAA8B;aAC/D;SACJ,CAAC,CAAC;QAEH,sEAAsE;QACtE,IAAI,CAAC,wBAAwB,GAAG,oBAAU,CAAC,eAAe,CAAC;YACvD,IAAI,EAAE,IAAI;YACV,IAAI,EAAE,SAAS,CAAC,uBAAuB;YACvC,IAAI,EAAE,SAAS,CAAC,uBAAuB;YACvC,IAAI,EAAE;gBACF,IAAI,EAAE,SAAS,CAAC,2BAA2B,EAAE,0BAA0B;gBACvE,IAAI,EAAE,SAAS,CAAC,2BAA2B,CAAC,8BAA8B;aAC7E;SACJ,CAAC,CAAC;QAEH,kCAAkC;QAClC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC9B,IAAI,KAAK,EAAE,CAAC;gBACR,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,KAAK,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,2CAA2C,CAAC,CAAC;YAC7D,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,kCAAkC;QAClC,IAAI,CAAC,wBAAwB,CAAC,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE;YAC3C,IAAI,KAAK,EAAE,CAAC;gBACR,OAAO,CAAC,KAAK,CAAC,uCAAuC,EAAE,KAAK,CAAC,CAAC;YAClE,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,yDAAyD,CAAC,CAAC;YAC3E,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,gBAAgB;QACpB,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAChB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;gBAClC,OAAM;YACV,CAAC;YACD,IAAI,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;YAEjC,OAAO,IAAI,KAAK,SAAS,EAAE,CAAC;gBACxB,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAA;gBACzB,IAAI,IAAI,CAAC,YAAY,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;oBAChC,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAA;oBAClC,OAAM;gBACV,CAAC;gBACD,IAAI,GAAG,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAA;YACjC,CAAC;YAED,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC;YACpB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE;gBACxB,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;YACpB,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,OAAO,GAAG,KAAK,CAAA;gBACpB,IAAI,CAAC,gBAAgB,EAAE,CAAA;YAC3B,CAAC,CAAC,CAAA;QACN,CAAC;IACL,CAAC;IAED,OAAO,CAAC,EAAoC;QACxC,IAAI,OAAO,EAAE,KAAK,QAAQ,EAAE,CAAC;YACzB,OAAO,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAA;QAC3D,CAAC;QAED,iCAAiC;QACjC,OAAO,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,uBAAa,CAAC,YAAY,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9D,CAAC;IAED;;OAEG;IACH,aAAa,CAAC,QAAgB;QAC1B,IAAI,WAAW,GAAG,KAAK,CAAA;QACvB,IAAI,OAAO,GAAG,KAAK,CAAA;QACnB,IAAI,MAAM,GAAG,KAAK,CAAA;QAClB,IAAI,KAAK,GAAG,EAAE,CAAA;QACd,IAAI,WAAW,GAAG,KAAK,CAAA;QACvB,IAAI,UAAU,GAAG,EAAE,CAAA;QAEnB,MAAM,SAAS,GAAa,EAAE,CAAA;QAE9B,SAAS,UAAU;YACf,IAAI,CAAS,CAAA;YACb,IAAI,WAAW,EAAE,CAAC;gBACd,CAAC,GAAG,KAAK,CAAC,IAAI,EAAE,CAAA;YACpB,CAAC;iBAAM,CAAC;gBACJ,CAAC,GAAG,UAAU,CAAC,IAAI,EAAE,CAAA;YACzB,CAAC;YACD,IAAI,uBAAa,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC;gBAChC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;YACrB,CAAC;YACD,WAAW,GAAG,KAAK,CAAA;YACnB,KAAK,GAAG,EAAE,CAAA;YACV,MAAM,GAAG,KAAK,CAAA;YACd,WAAW,GAAG,KAAK,CAAA;YACnB,OAAO,GAAG,KAAK,CAAA;YACf,UAAU,GAAG,EAAE,CAAA;QACnB,CAAC;QAED,4DAA4D;QAC5D,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,EAAE,CAAC;YACnD,MAAM,YAAY,GAAG,OAAO,CAAA;YAC5B,IAAI,OAAO,EAAE,CAAC;gBACV,OAAO,GAAG,KAAK,CAAA;YACnB,CAAC;YACD,MAAM,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;YAClC,IAAI,WAAW,EAAE,CAAC;gBACd,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;oBACrB,OAAO,GAAG,IAAI,CAAA;oBACd,SAAQ;gBACZ,CAAC;YACL,CAAC;YAED,IAAI,CAAC,YAAY,EAAE,CAAC;gBAChB,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;oBACrB,IAAI,WAAW,EAAE,CAAC;wBACd,WAAW,GAAG,KAAK,CAAA;wBACnB,SAAQ;oBACZ,CAAC;oBACD,WAAW,GAAG,IAAI,CAAA;oBAClB,SAAQ;gBACZ,CAAC;gBAED,IAAI,CAAC,WAAW,EAAE,CAAC;oBACf,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;wBACpB,MAAM,GAAG,IAAI,CAAA;wBACb,SAAQ;oBACZ,CAAC;oBAED,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;wBACpB,MAAM,GAAG,KAAK,CAAA;wBACd,WAAW,GAAG,IAAI,CAAA;wBAClB,SAAQ;oBACZ,CAAC;oBAED,IAAI,SAAS,KAAK,GAAG,EAAE,CAAC;wBACpB,uBAAuB;wBACvB,UAAU,EAAE,CAAA;wBACZ,SAAQ;oBACZ,CAAC;gBACL,CAAC;YACL,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACT,KAAK,IAAI,SAAS,CAAA;YACtB,CAAC;YACD,UAAU,IAAI,SAAS,CAAA;QAC3B,CAAC;QAED,UAAU,EAAE,CAAA;QACZ,OAAO,SAAS,CAAA;IACpB,CAAC;IAEO,KAAK,CAAC,MAAM,CAAC,IAAoB;QACrC,IAAI,SAAS,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YACnC,yBAAyB;YACzB,OAAO;QACX,CAAC;QAED,4CAA4C;QAC5C,uCAAuC;QACvC,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QACtC,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,iBAAiB;YACjB,OAAO,CAAC,IAAI,CAAC,0BAA0B,GAAC,IAAI,CAAC,EAAE,GAAC,mBAAmB,CAAC,CAAA;YACpE,OAAM;QACV,CAAC;QAED,yBAAyB;QACzB,UAAU,GAAG,MAAM,2BAAY,CAAC,YAAY,CAAC,UAAU,CAAC,CAAA;QAExD,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,iBAAiB;YACjB,OAAO,CAAC,IAAI,CAAC,+CAA+C,GAAC,IAAI,CAAC,EAAE,GAAC,mBAAmB,CAAC,CAAA;YAEzF,IAAI,CAAC;gBACD,IAAI,CAAC,QAAQ,EAAE,CACX,IAAI,2BAAW,CAAC;oBACZ,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,wDAAwD;oBACjE,KAAK,EAAE,+DAA+D;iBACzE,CAAC,CACL,CAAA;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAA;YAC/C,CAAC;YACD,OAAM;QACV,CAAC;QAED,wBAAwB;QACxB,IAAI,SAAS,CAAC,WAAW,KAAK,YAAY,EAAE,CAAC;YACzC,MAAM,SAAS,GAAG,SAAS,CAAC,8BAA8B,IAAI,EAAE,CAAA;YAEhE,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBACzD,UAAU,GAAG,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;oBAClC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;oBACnC,IAAI,SAAS,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;wBACxB,OAAO,IAAI,CAAC;oBAChB,CAAC;oBAED,MAAM,WAAW,GAAG,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;oBACnC,MAAM,MAAM,GAAG,CAAC,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;oBAEvC,IAAI,SAAS,CAAC,QAAQ,CAAC,GAAG,GAAG,MAAM,CAAC,EAAE,CAAC;wBACnC,OAAO,IAAI,CAAC;oBAChB,CAAC;oBAED,OAAO,CAAC,IAAI,CAAC,oBAAoB,GAAG,CAAC,GAAG,qDAAqD,CAAC,CAAA;oBAC9F,OAAO,KAAK,CAAC;gBACjB,CAAC,CAAC,CAAA;YACN,CAAC;QACL,CAAC;QAED,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,iBAAiB;YACjB,IAAI,CAAC;gBACD,IAAI,CAAC,QAAQ,EAAE,CACX,IAAI,2BAAW,CAAC;oBACZ,IAAI,EAAE,cAAc;oBACpB,OAAO,EAAE,gDAAgD;oBACzD,KAAK,EAAE,8GAA8G;iBACxH,CAAC,CACL,CAAA;YACL,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAA;YAC/C,CAAC;YACD,OAAM;QACV,CAAC;QAED,aAAa;QACb,MAAM,EAAE,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE;YACpC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;gBAClB,OAAO,SAAS,CAAC,KAAK,CAAA;YAC1B,CAAC;YACD,MAAM,WAAW,GAAG,mBAAS,CAAC,eAAe,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC7D,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACzB,OAAO,SAAS,CAAC,KAAK,CAAA;YAC1B,CAAC;YACD,OAAO,GAAG,GAAC,WAAW,GAAC,KAAK,GAAC,SAAS,CAAC,KAAK,GAAC,GAAG,CAAA;QACpD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QAEb,IAAI,CAAC,aAAa,EAAE,CAAC;QAErB,0CAA0C;QAC1C,MAAM,IAAI,GAAQ;YACd,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,iBAAiB;YAClC,GAAG,EAAE,CAAC,SAAS,CAAC,WAAW,KAAK,YAAY,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,oBAAoB;YAC5F,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,EAAE;YACF,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,eAAe;YACtC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,kBAAkB;SACtC,CAAC;QAEF,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YACnB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC;QACxC,CAAC;QAED,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC;QAChC,CAAC;QAED,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACZ,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;YAEtB,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACb,IAAI,CAAC,IAAI,GAAG,sBAAU,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,EAAE;oBACzC,QAAQ,EAAE,IAAI;oBACd,uBAAuB,EAAE,KAAK;iBACjC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;QAED,IAAI,CAAC;YACD,8BAA8B;YAC9B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,EAAE,CAAC;gBAC/E,gBAAgB;gBAChB,IAAI,CAAC,IAAI,GAAG,WAAW,CAAA;YAC3B,CAAC;YAED,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAA;YAGtG,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;YAC9C,OAAO,CAAC,GAAG,CAAC,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAE1E,IAAI,CAAC;gBACD,IAAI,CAAC,QAAQ,EAAE,CAAC,IAAI,CAAC,CAAA;YACzB,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACT,OAAO,CAAC,KAAK,CAAC,yBAAyB,EAAE,CAAC,CAAC,CAAA;YAC/C,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,OAAO,CAAC,KAAK,CAAC,wBAAwB,CAAC,CAAA;YACvC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACjB,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;YAEpB,uEAAuE;YACvE,MAAM,IAAA,eAAK,EAAC,IAAI,CAAC,CAAC;YAElB,mEAAmE;YACnE,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;YAE7C,IAAI,IAAI,CAAC,UAAU,IAAI,CAAC,EAAE,CAAC;gBACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACpB,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC;oBACD,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC,CAAC,CAAA;gBACtB,CAAC;gBAAC,OAAO,EAAE,EAAE,CAAC;oBACV,OAAO,CAAC,KAAK,CAAC,iCAAiC,EAAE,EAAE,EAAE,oBAAoB,EAAE,CAAC,CAAC,CAAA;gBACjF,CAAC;gBAED,iCAAiC;gBACjC,IAAI,SAAS,CAAC,WAAW,KAAK,aAAa,EAAE,CAAC;oBAC1C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;wBAC5C,IAAI,CAAC,YAAY,CAAC;4BACd,EAAE,EAAE,oBAAoB;4BACxB,OAAO,EAAE,kCAAkC;4BAC3C,IAAI,EAAE,mBAAmB,GAAC,IAAI,CAAC,IAAI,GAAC,iCAAiC,GAAC,IAAI,CAAC,EAAE,GAAC,QAAQ,GAAC,CAAC,GAAC,MAAM,GAAC,CAAC,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC;4BACjH,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,eAAe,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,eAAe;yBACxE,EAAE,IAAI,mBAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC,CAAA;oBAC5B,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC;IACL,CAAC;IAED,mBAAmB,CAAC,IAAU;QAC1B,+CAA+C;QAC/C,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,YAAY,IAAI,WAAW,CAAC,GAAG,MAAM,GAAE,CAAC,IAAI,CAAC,EAAE,CAAC,uBAAuB,CAAC,CAAC,GAAE,GAAG,CAAA;IAC1G,CAAC;IAED,mBAAmB,CAAC,IAAU;QAC1B,OAAO,iBAAiB,GAAE,CAAC,IAAI,CAAC,EAAE,CAAC,wBAAwB,CAAC,CAAC,GAAE,GAAG,CAAA;IACtE,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,IAAwB,EAAE,IAAU;QAC7C,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA;QAC1E,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IACnB,CAAC;IAED,IAAI,CAAC,IAAoB;QACrB,IAAI,SAAS,CAAC,WAAW,KAAK,MAAM,EAAE,CAAC;YACnC,yBAAyB;YACzB,OAAO;QACX,CAAC;QACD,IAAI,OAAO,GAAG,KAAK,CAAA;QAEnB,IAAI,CAAC,QAAQ,CAAC,GAAG,EAAE;YACf,IAAI,OAAO,EAAE,CAAC;gBACV,OAAO,SAAS,CAAA;YACpB,CAAC;YACD,OAAO,GAAG,IAAI,CAAC;YACf,OAAO,IAAI,CAAA;QACf,CAAC,CAAC,CAAA;IACN,CAAC;IAED,QAAQ,CAAC,OAAqB;QAC1B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAA;IAC3B,CAAC;IAED,eAAe,CAAC,OAAqB;QACjC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;QAC/B,IAAI,CAAC,gBAAgB,EAAE,CAAA;IAC3B,CAAC;CACJ;AAEY,QAAA,KAAK,GAAG,IAAI,WAAW,EAAE,CAAC"}
1
+ {"version":3,"file":"Email.js","sourceRoot":"","sources":["../../src/classes/Email.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stamhoofd/email",
3
- "version": "2.24.0",
3
+ "version": "2.25.0",
4
4
  "main": "./dist/index.js",
5
5
  "types": "./dist/index.d.ts",
6
6
  "license": "UNLICENCED",
@@ -25,5 +25,5 @@
25
25
  "publishConfig": {
26
26
  "access": "public"
27
27
  },
28
- "gitHead": "bad7d2adfa412af0b0de101274e46ed0b539ae38"
28
+ "gitHead": "48963030dd9e90bef4ea1c96db2cf6ddb6e1908a"
29
29
  }
@@ -212,6 +212,37 @@ class EmailStatic {
212
212
  return addresses
213
213
  }
214
214
 
215
+ private matchWhitelist(email: string, whitelist: string[]) {
216
+ if (!whitelist.includes('*') && !whitelist.includes('*@*')) {
217
+ const l = email.toLowerCase();
218
+ if (whitelist.includes(l)) {
219
+ return true;
220
+ }
221
+
222
+ const domainIndex = l.indexOf('@');
223
+ const domain = l.substring(domainIndex)
224
+
225
+ if (whitelist.includes('*' + domain)) {
226
+ return true;
227
+ }
228
+
229
+ console.warn("Filtered email to " + l + ": not whitelisted")
230
+ return false;
231
+ }
232
+
233
+ return true
234
+ }
235
+
236
+ private filterWhitelist(recipients: EmailInterfaceRecipient[], whitelist: string[]) {
237
+ if (!whitelist.includes('*') && !whitelist.includes('*@*')) {
238
+ return recipients.filter(mail => {
239
+ return this.matchWhitelist(mail.email, whitelist)
240
+ })
241
+ }
242
+
243
+ return recipients
244
+ }
245
+
215
246
  private async doSend(data: EmailInterface) {
216
247
  if (STAMHOOFD.environment === 'test') {
217
248
  // Do not send any emails
@@ -251,25 +282,7 @@ class EmailStatic {
251
282
  // Filter by environment
252
283
  if (STAMHOOFD.environment !== 'production') {
253
284
  const whitelist = STAMHOOFD.WHITELISTED_EMAIL_DESTINATIONS ?? []
254
-
255
- if (!whitelist.includes('*') && !whitelist.includes('*@*')) {
256
- recipients = recipients.filter(mail => {
257
- const l = mail.email.toLowerCase();
258
- if (whitelist.includes(l)) {
259
- return true;
260
- }
261
-
262
- const domainIndex = l.indexOf('@');
263
- const domain = l.substring(domainIndex)
264
-
265
- if (whitelist.includes('*' + domain)) {
266
- return true;
267
- }
268
-
269
- console.warn("Filtered email to " + l + ": not whitelisted in WHITELISTED_EMAIL_DESTINATIONS")
270
- return false;
271
- })
272
- }
285
+ recipients = this.filterWhitelist(recipients, whitelist)
273
286
  }
274
287
 
275
288
  if (recipients.length === 0) {
@@ -331,11 +344,18 @@ class EmailStatic {
331
344
  }
332
345
  }
333
346
 
347
+ const parsedFrom = this.parseEmailStr(data.from)
348
+ if (parsedFrom.length !== 1) {
349
+ throw new Error("Invalid from email " + data.from)
350
+ }
351
+
334
352
  try {
335
- // todo: read from environment
336
- if (!data.from.includes('@stamhoofd.be') && !data.from.includes('@stamhoofd.nl')) {
337
- // Not supported
338
- data.type = 'broadcast'
353
+ // Can we send from the transactional email server?
354
+ if (STAMHOOFD.TRANSACTIONAL_WHITELIST !== undefined && data.type === 'transactional') {
355
+ if (!this.matchWhitelist(parsedFrom[0], STAMHOOFD.TRANSACTIONAL_WHITELIST)) {
356
+ // Not supported
357
+ data.type = 'broadcast'
358
+ }
339
359
  }
340
360
 
341
361
  const transporter = (data.type === "transactional") ? this.transactionalTransporter : this.transporter
@@ -371,33 +391,51 @@ class EmailStatic {
371
391
 
372
392
  // Email address is not verified.
373
393
  if (STAMHOOFD.environment !== 'development') {
374
- if (!data.from.includes("hallo@stamhoofd.be")) {
375
- this.sendInternal({
376
- to: "hallo@stamhoofd.be",
394
+ if (data.from !== this.getWebmasterFromEmail()) {
395
+ this.sendWebmaster({
377
396
  subject: "E-mail kon niet worden verzonden",
378
397
  text: "Een e-mail vanaf "+data.from+" kon niet worden verstuurd aan "+mail.to+": \n\n"+e+"\n\n"+(mail.text ?? ""),
379
398
  type: (data.type === "transactional") ? "broadcast" : "transactional"
380
- }, new I18n("nl", "BE"))
399
+ })
381
400
  }
382
401
  }
383
402
  }
384
403
  }
385
404
  }
386
405
 
406
+ /**
407
+ * @deprecated
408
+ * Please use EmailBuilder.sendEmailTemplate
409
+ */
387
410
  getInternalEmailFor(i18n: I18n) {
388
411
  // todo: use default email in platform settings
389
- return '"' + (STAMHOOFD.platformName ?? 'Stamhoofd') + ' " <'+ (i18n.$t("shared.emails.general")) +'>'
412
+ return '"' + (STAMHOOFD.platformName ?? 'Stamhoofd') + ' " <hallo@'+ (i18n.localizedDomains.defaultTransactionalEmail()) +'>'
413
+ }
414
+
415
+ getWebmasterFromEmail() {
416
+ return '"' + (STAMHOOFD.platformName ?? 'Stamhoofd') + ' " <webmaster@'+ (new I18n("nl", "BE").localizedDomains.defaultTransactionalEmail()) +'>'
417
+ }
418
+
419
+ getWebmasterToEmail() {
420
+ return 'hallo@stamhoofd.be'
390
421
  }
391
422
 
423
+ /**
424
+ * @deprecated
425
+ * Please use EmailBuilder.sendEmailTemplate
426
+ */
392
427
  getPersonalEmailFor(i18n: I18n) {
393
428
  return '"Simon Backx" <'+ (i18n.$t("shared.emails.personal")) +'>'
394
429
  }
395
430
 
396
431
  /**
397
- * Send an internal e-mail (from stamhoofd)
432
+ * Send an email to the webmaster
398
433
  */
399
- sendInternal(data: EmailInterfaceBase, i18n: I18n) {
400
- const mail = Object.assign(data, { from: this.getInternalEmailFor(i18n) })
434
+ sendWebmaster(data: Omit<EmailInterfaceBase, "to">) {
435
+ const mail = Object.assign(data, {
436
+ from: this.getWebmasterFromEmail(),
437
+ to: this.getWebmasterToEmail()
438
+ })
401
439
  this.send(mail)
402
440
  }
403
441