From a44aaf00a5d8a4e8e934cd645ac1a3b836f6c0fd Mon Sep 17 00:00:00 2001 From: Krzysztof Wolski Date: Thu, 16 Mar 2023 19:07:24 +0100 Subject: [PATCH] Add SMTP server auth (#300) * Add SMTP server auth * Add changeset --- .changeset/seven-sheep-watch.md | 5 ++++ .../configuration/mjml-config-container.ts | 1 + .../configuration/mjml-config-input-schema.ts | 29 +------------------ .../modules/mjml/configuration/mjml-config.ts | 1 + .../ui/mjml-configuration-form.tsx | 15 ++++++++++ .../src/modules/mjml/send-email-with-smtp.ts | 6 +++- .../src/modules/mjml/send-mjml.ts | 15 ++++++++-- 7 files changed, 40 insertions(+), 32 deletions(-) create mode 100644 .changeset/seven-sheep-watch.md diff --git a/.changeset/seven-sheep-watch.md b/.changeset/seven-sheep-watch.md new file mode 100644 index 0000000..aacdaf3 --- /dev/null +++ b/.changeset/seven-sheep-watch.md @@ -0,0 +1,5 @@ +--- +"saleor-app-emails-and-messages": patch +--- + +Fixed SMTP auth data not being properly passed to the sending service diff --git a/apps/emails-and-messages/src/modules/mjml/configuration/mjml-config-container.ts b/apps/emails-and-messages/src/modules/mjml/configuration/mjml-config-container.ts index fbf6d58..22a98a5 100644 --- a/apps/emails-and-messages/src/modules/mjml/configuration/mjml-config-container.ts +++ b/apps/emails-and-messages/src/modules/mjml/configuration/mjml-config-container.ts @@ -22,6 +22,7 @@ export const getDefaultEmptyConfiguration = (): MjmlConfiguration => { smtpHost: "", smtpPort: "", smtpUser: "", + smtpPassword: "", encryption: "NONE", events: getDefaultEventsConfiguration(), }; diff --git a/apps/emails-and-messages/src/modules/mjml/configuration/mjml-config-input-schema.ts b/apps/emails-and-messages/src/modules/mjml/configuration/mjml-config-input-schema.ts index 4b608ed..88ce896 100644 --- a/apps/emails-and-messages/src/modules/mjml/configuration/mjml-config-input-schema.ts +++ b/apps/emails-and-messages/src/modules/mjml/configuration/mjml-config-input-schema.ts @@ -2,34 +2,6 @@ import { z } from "zod"; import { messageEventTypes } from "../../event-handlers/message-event-types"; import { smtpEncryptionTypes } from "./mjml-config"; -export const mjmlConfigInputSchema = z.object({ - configurations: z.array( - z.object({ - active: z.boolean(), - configurationName: z.string(), - senderName: z.string(), - senderEmail: z.string().email(), - smtpHost: z.string(), - smtpPort: z.string(), - smtpUser: z.string().min(0), - useTls: z.boolean(), - useSsl: z.boolean(), - templateInvoiceSentSubject: z.string(), - templateInvoiceSentTemplate: z.string(), - templateOrderCancelledSubject: z.string(), - templateOrderCancelledTemplate: z.string(), - templateOrderConfirmedSubject: z.string(), - templateOrderConfirmedTemplate: z.string(), - templateOrderFullyPaidSubject: z.string(), - templateOrderFullyPaidTemplate: z.string(), - templateOrderCreatedSubject: z.string(), - templateOrderCreatedTemplate: z.string(), - templateOrderFulfilledSubject: z.string(), - templateOrderFulfilledTemplate: z.string(), - }) - ), -}); - export const mjmlConfigurationEventObjectSchema = z.object({ active: z.boolean(), eventType: z.enum(messageEventTypes), @@ -45,6 +17,7 @@ export const mjmlConfigurationBaseObjectSchema = z.object({ smtpHost: z.string().min(1), smtpPort: z.string(), smtpUser: z.string(), + smtpPassword: z.string(), encryption: z.enum(smtpEncryptionTypes), }); diff --git a/apps/emails-and-messages/src/modules/mjml/configuration/mjml-config.ts b/apps/emails-and-messages/src/modules/mjml/configuration/mjml-config.ts index 666c9c1..93fccb7 100644 --- a/apps/emails-and-messages/src/modules/mjml/configuration/mjml-config.ts +++ b/apps/emails-and-messages/src/modules/mjml/configuration/mjml-config.ts @@ -20,6 +20,7 @@ export interface MjmlConfiguration { smtpHost: string; smtpPort: string; smtpUser: string; + smtpPassword: string; encryption: SmtpEncryptionType; events: MjmlEventConfiguration[]; } diff --git a/apps/emails-and-messages/src/modules/mjml/configuration/ui/mjml-configuration-form.tsx b/apps/emails-and-messages/src/modules/mjml/configuration/ui/mjml-configuration-form.tsx index 483962a..12137f9 100644 --- a/apps/emails-and-messages/src/modules/mjml/configuration/ui/mjml-configuration-form.tsx +++ b/apps/emails-and-messages/src/modules/mjml/configuration/ui/mjml-configuration-form.tsx @@ -258,6 +258,21 @@ export const MjmlConfigurationForm = (props: Props) => { )} /> + ( + + )} + /> +