From aede38000e3bc8bf5f392fece6800c8bb1127e35 Mon Sep 17 00:00:00 2001 From: neo773 <62795688+neo773@users.noreply.github.com> Date: Thu, 10 Jul 2025 18:47:26 +0530 Subject: [PATCH] feat: SMTP Driver Integration (#12993) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: greptile-apps[bot] <165735046+greptile-apps[bot]@users.noreply.github.com> Co-authored-by: Félix Malfait Co-authored-by: Félix Malfait --- nx.json | 143 +++++-- .../src/generated-metadata/graphql.ts | 9 +- .../twenty-front/src/generated/graphql.ts | 4 +- .../modules/app/components/SettingsRoutes.tsx | 20 +- .../components/ClientConfigProviderEffect.tsx | 7 + .../states/isImapSmtpCaldavEnabledState.ts | 5 + .../client-config/types/ClientConfig.ts | 2 +- ...tingsAccountsConnectedAccountsListCard.tsx | 16 +- .../SettingsAccountsConnectionForm.tsx | 354 ++++++++++++++++++ ...sAccountsEditImapSmtpCaldavConnection.tsx} | 78 ++-- .../SettingsAccountsListEmptyStateCard.tsx | 14 +- ...ttingsAccountsMessageChannelsContainer.tsx | 3 + ...gsAccountsNewImapSmtpCaldavConnection.tsx} | 36 +- .../SettingsAccountsRowDropdownMenu.tsx | 15 + .../SettingsConnectedAccountIcon.tsx | 83 ++++ .../SetttingsAccountsImapConnectionForm.tsx | 123 ------ .../accounts/constants/AccountProtocols.ts | 1 + .../getConnectedImapSmtpCaldavAccount.ts | 3 - .../useTriggerProviderReconnect.test.tsx | 238 ++++++++++++ .../useConnectedImapSmtpCaldavAccount.ts | 12 +- .../accounts/hooks/useImapConnectionForm.ts | 133 ------- .../hooks/useImapSmtpCaldavConnectionForm.ts | 184 +++++++++ .../hooks/useTriggerProviderReconnect.ts | 4 +- .../connectionImapSmtpCalDav.ts | 47 +++ .../settings/components/SettingsListCard.tsx | 4 +- .../src/modules/types/SettingsPath.ts | 4 +- .../WorkflowEditActionSendEmail.tsx | 6 +- .../src/testing/mock-data/config.ts | 2 +- packages/twenty-server/.env.example | 2 +- packages/twenty-server/.env.test | 2 +- .../client-config.controller.spec.ts | 2 +- .../client-config/client-config.entity.ts | 2 +- .../services/client-config.service.ts | 4 +- .../constants/public-feature-flag.const.ts | 9 +- .../enums/feature-flag-key.enum.ts | 2 +- .../dtos/imap-smtp-caldav-connection.dto.ts | 6 - .../imap-smtp-caldav-connection.resolver.ts | 52 +-- ...mtp-caldav-connection-validator.service.ts | 15 +- .../imap-smtp-caldav-connection.service.ts | 71 +++- .../types/imap-smtp-caldav-connection.type.ts | 2 - .../twenty-config/config-variables.ts | 2 +- .../core/utils/seed-feature-flags.util.ts | 2 +- .../services/imap-smtp-caldav-apis.service.ts | 56 ++- .../imap/providers/imap-client.provider.ts | 4 +- .../smtp/messaging-smtp-driver.module.ts | 9 + .../smtp/providers/smtp-client.provider.ts | 35 ++ .../messaging-import-manager.module.ts | 2 + .../messaging-send-message.service.ts | 13 +- .../public/images/lab/is-imap-enabled.png | Bin 107036 -> 0 bytes .../lab/is-imap-smtp-caldav-enabled.png | Bin 0 -> 133233 bytes 50 files changed, 1358 insertions(+), 484 deletions(-) create mode 100644 packages/twenty-front/src/modules/client-config/states/isImapSmtpCaldavEnabledState.ts create mode 100644 packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx rename packages/twenty-front/src/modules/settings/accounts/components/{SettingsAccountsEditImapConnection.tsx => SettingsAccountsEditImapSmtpCaldavConnection.tsx} (53%) rename packages/twenty-front/src/modules/settings/accounts/components/{SettingsAccountsNewImapConnection.tsx => SettingsAccountsNewImapSmtpCaldavConnection.tsx} (64%) create mode 100644 packages/twenty-front/src/modules/settings/accounts/components/SettingsConnectedAccountIcon.tsx delete mode 100644 packages/twenty-front/src/modules/settings/accounts/components/SetttingsAccountsImapConnectionForm.tsx create mode 100644 packages/twenty-front/src/modules/settings/accounts/constants/AccountProtocols.ts create mode 100644 packages/twenty-front/src/modules/settings/accounts/hooks/__tests__/useTriggerProviderReconnect.test.tsx delete mode 100644 packages/twenty-front/src/modules/settings/accounts/hooks/useImapConnectionForm.ts create mode 100644 packages/twenty-front/src/modules/settings/accounts/hooks/useImapSmtpCaldavConnectionForm.ts create mode 100644 packages/twenty-front/src/modules/settings/accounts/validation-schemas/connectionImapSmtpCalDav.ts create mode 100644 packages/twenty-server/src/modules/messaging/message-import-manager/drivers/smtp/messaging-smtp-driver.module.ts create mode 100644 packages/twenty-server/src/modules/messaging/message-import-manager/drivers/smtp/providers/smtp-client.provider.ts delete mode 100644 packages/twenty-website/public/images/lab/is-imap-enabled.png create mode 100644 packages/twenty-website/public/images/lab/is-imap-smtp-caldav-enabled.png diff --git a/nx.json b/nx.json index f00167368..144c02a8c 100644 --- a/nx.json +++ b/nx.json @@ -1,6 +1,12 @@ { + "workspaceLayout": { + "appsDir": "packages", + "libsDir": "packages" + }, "namedInputs": { - "default": ["{projectRoot}/**/*"], + "default": [ + "{projectRoot}/**/*" + ], "excludeStories": [ "default", "!{projectRoot}/.storybook/*", @@ -28,17 +34,26 @@ "targetDefaults": { "build": { "cache": true, - "inputs": ["^production", "production"], - "dependsOn": ["^build"] + "inputs": [ + "^production", + "production" + ], + "dependsOn": [ + "^build" + ] }, "start": { "cache": true, - "dependsOn": ["^build"] + "dependsOn": [ + "^build" + ] }, "lint": { "executor": "@nx/eslint:lint", "cache": true, - "outputs": ["{options.outputFile}"], + "outputs": [ + "{options.outputFile}" + ], "options": { "eslintConfig": "{projectRoot}/.eslintrc.cjs", "cache": true, @@ -46,10 +61,16 @@ "ignorePath": "{workspaceRoot}/.gitignore" }, "configurations": { - "ci": { "cacheStrategy": "content" }, - "fix": { "fix": true } + "ci": { + "cacheStrategy": "content" + }, + "fix": { + "fix": true + } }, - "dependsOn": ["^build"] + "dependsOn": [ + "^build" + ] }, "fmt": { "executor": "nx:run-commands", @@ -63,10 +84,16 @@ "write": false }, "configurations": { - "ci": { "cacheStrategy": "content" }, - "fix": { "write": true } + "ci": { + "cacheStrategy": "content" + }, + "fix": { + "write": true + } }, - "dependsOn": ["^build"] + "dependsOn": [ + "^build" + ] }, "typecheck": { "executor": "nx:run-commands", @@ -76,24 +103,34 @@ "command": "tsc -b tsconfig.json --incremental" }, "configurations": { - "watch": { "watch": true } + "watch": { + "watch": true + } }, - "dependsOn": ["^build"] + "dependsOn": [ + "^build" + ] }, "test": { "executor": "@nx/jest:jest", "cache": true, - "dependsOn": ["^build"], + "dependsOn": [ + "^build" + ], "inputs": [ "^default", "excludeStories", "{workspaceRoot}/jest.preset.js" ], - "outputs": ["{projectRoot}/coverage"], + "outputs": [ + "{projectRoot}/coverage" + ], "options": { "jestConfig": "{projectRoot}/jest.config.ts", "coverage": true, - "coverageReporters": ["text-summary"], + "coverageReporters": [ + "text-summary" + ], "cacheDirectory": "../../.cache/jest/{projectRoot}" }, "configurations": { @@ -101,31 +138,49 @@ "ci": true, "maxWorkers": 3 }, - "coverage": { "coverageReporters": ["lcov", "text"] }, - "watch": { "watch": true } + "coverage": { + "coverageReporters": [ + "lcov", + "text" + ] + }, + "watch": { + "watch": true + } } }, "test:e2e": { "cache": true, - "dependsOn": ["^build"] + "dependsOn": [ + "^build" + ] }, "storybook:build": { "executor": "nx:run-commands", "cache": true, - "inputs": ["^default", "excludeTests"], - "outputs": ["{projectRoot}/{options.output-dir}"], + "inputs": [ + "^default", + "excludeTests" + ], + "outputs": [ + "{projectRoot}/{options.output-dir}" + ], "options": { "cwd": "{projectRoot}", "command": "VITE_DISABLE_TYPESCRIPT_CHECKER=true VITE_DISABLE_ESLINT_CHECKER=true storybook build --test", "output-dir": "storybook-static", "config-dir": ".storybook" }, - "dependsOn": ["^build"] + "dependsOn": [ + "^build" + ] }, "storybook:serve:dev": { "executor": "nx:run-commands", "cache": true, - "dependsOn": ["^build"], + "dependsOn": [ + "^build" + ], "options": { "cwd": "{projectRoot}", "command": "storybook dev", @@ -134,7 +189,9 @@ }, "storybook:serve:static": { "executor": "nx:run-commands", - "dependsOn": ["storybook:build"], + "dependsOn": [ + "storybook:build" + ], "options": { "cwd": "{projectRoot}", "command": "npx http-server {args.staticDir} -a={args.host} --port={args.port} --silent={args.silent}", @@ -147,8 +204,13 @@ "storybook:test": { "executor": "nx:run-commands", "cache": true, - "inputs": ["^default", "excludeTests"], - "outputs": ["{projectRoot}/coverage/storybook"], + "inputs": [ + "^default", + "excludeTests" + ], + "outputs": [ + "{projectRoot}/coverage/storybook" + ], "options": { "cwd": "{projectRoot}", "commands": [ @@ -164,7 +226,10 @@ }, "storybook:test:no-coverage": { "executor": "nx:run-commands", - "inputs": ["^default", "excludeTests"], + "inputs": [ + "^default", + "excludeTests" + ], "options": { "cwd": "{projectRoot}", "commands": [ @@ -192,7 +257,9 @@ "checkCoverage": true }, "configurations": { - "text": { "reporter": "text" } + "text": { + "reporter": "text" + } } }, "storybook:serve-and-test:static": { @@ -252,12 +319,20 @@ }, "@nx/vite:test": { "cache": true, - "inputs": ["default", "^default"] + "inputs": [ + "default", + "^default" + ] }, "@nx/vite:build": { "cache": true, - "dependsOn": ["^build"], - "inputs": ["default", "^default"] + "dependsOn": [ + "^build" + ], + "inputs": [ + "default", + "^default" + ] } }, "installation": { @@ -289,10 +364,12 @@ "tasksRunnerOptions": { "default": { "options": { - "cacheableOperations": ["storybook:build"] + "cacheableOperations": [ + "storybook:build" + ] } } }, "useInferencePlugins": false, "defaultBase": "main" -} +} \ No newline at end of file diff --git a/packages/twenty-front/src/generated-metadata/graphql.ts b/packages/twenty-front/src/generated-metadata/graphql.ts index 909008775..299e3f8f5 100644 --- a/packages/twenty-front/src/generated-metadata/graphql.ts +++ b/packages/twenty-front/src/generated-metadata/graphql.ts @@ -435,7 +435,6 @@ export type ConnectionParameters = { password: Scalars['String']; port: Scalars['Float']; secure?: InputMaybe; - username: Scalars['String']; }; export type ConnectionParametersOutput = { @@ -444,7 +443,6 @@ export type ConnectionParametersOutput = { password: Scalars['String']; port: Scalars['Float']; secure?: Maybe; - username: Scalars['String']; }; export type CreateApiKeyDto = { @@ -708,7 +706,7 @@ export enum FeatureFlagKey { IS_AIRTABLE_INTEGRATION_ENABLED = 'IS_AIRTABLE_INTEGRATION_ENABLED', IS_AI_ENABLED = 'IS_AI_ENABLED', IS_FIELDS_PERMISSIONS_ENABLED = 'IS_FIELDS_PERMISSIONS_ENABLED', - IS_IMAP_ENABLED = 'IS_IMAP_ENABLED', + IS_IMAP_SMTP_CALDAV_ENABLED = 'IS_IMAP_SMTP_CALDAV_ENABLED', IS_JSON_FILTER_ENABLED = 'IS_JSON_FILTER_ENABLED', IS_MORPH_RELATION_ENABLED = 'IS_MORPH_RELATION_ENABLED', IS_POSTGRESQL_INTEGRATION_ENABLED = 'IS_POSTGRESQL_INTEGRATION_ENABLED', @@ -3270,7 +3268,7 @@ export type GetConnectedImapSmtpCaldavAccountQueryVariables = Exact<{ }>; -export type GetConnectedImapSmtpCaldavAccountQuery = { __typename?: 'Query', getConnectedImapSmtpCaldavAccount: { __typename?: 'ConnectedImapSmtpCaldavAccount', id: string, handle: string, provider: string, accountOwnerId: string, connectionParameters?: { __typename?: 'ImapSmtpCaldavConnectionParameters', IMAP?: { __typename?: 'ConnectionParametersOutput', host: string, port: number, secure?: boolean | null, username: string, password: string } | null, SMTP?: { __typename?: 'ConnectionParametersOutput', host: string, port: number, secure?: boolean | null, username: string, password: string } | null, CALDAV?: { __typename?: 'ConnectionParametersOutput', host: string, port: number, secure?: boolean | null, username: string, password: string } | null } | null } }; +export type GetConnectedImapSmtpCaldavAccountQuery = { __typename?: 'Query', getConnectedImapSmtpCaldavAccount: { __typename?: 'ConnectedImapSmtpCaldavAccount', id: string, handle: string, provider: string, accountOwnerId: string, connectionParameters?: { __typename?: 'ImapSmtpCaldavConnectionParameters', IMAP?: { __typename?: 'ConnectionParametersOutput', host: string, port: number, secure?: boolean | null, password: string } | null, SMTP?: { __typename?: 'ConnectionParametersOutput', host: string, port: number, secure?: boolean | null, password: string } | null, CALDAV?: { __typename?: 'ConnectionParametersOutput', host: string, port: number, secure?: boolean | null, password: string } | null } | null } }; export type CreateDatabaseConfigVariableMutationVariables = Exact<{ key: Scalars['String']; @@ -6003,21 +6001,18 @@ export const GetConnectedImapSmtpCaldavAccountDocument = gql` host port secure - username password } SMTP { host port secure - username password } CALDAV { host port secure - username password } } diff --git a/packages/twenty-front/src/generated/graphql.ts b/packages/twenty-front/src/generated/graphql.ts index df15bedef..8bcf6aa33 100644 --- a/packages/twenty-front/src/generated/graphql.ts +++ b/packages/twenty-front/src/generated/graphql.ts @@ -435,7 +435,6 @@ export type ConnectionParameters = { password: Scalars['String']; port: Scalars['Float']; secure?: InputMaybe; - username: Scalars['String']; }; export type ConnectionParametersOutput = { @@ -444,7 +443,6 @@ export type ConnectionParametersOutput = { password: Scalars['String']; port: Scalars['Float']; secure?: Maybe; - username: Scalars['String']; }; export type CreateApiKeyDto = { @@ -672,7 +670,7 @@ export enum FeatureFlagKey { IS_AIRTABLE_INTEGRATION_ENABLED = 'IS_AIRTABLE_INTEGRATION_ENABLED', IS_AI_ENABLED = 'IS_AI_ENABLED', IS_FIELDS_PERMISSIONS_ENABLED = 'IS_FIELDS_PERMISSIONS_ENABLED', - IS_IMAP_ENABLED = 'IS_IMAP_ENABLED', + IS_IMAP_SMTP_CALDAV_ENABLED = 'IS_IMAP_SMTP_CALDAV_ENABLED', IS_JSON_FILTER_ENABLED = 'IS_JSON_FILTER_ENABLED', IS_MORPH_RELATION_ENABLED = 'IS_MORPH_RELATION_ENABLED', IS_POSTGRESQL_INTEGRATION_ENABLED = 'IS_POSTGRESQL_INTEGRATION_ENABLED', diff --git a/packages/twenty-front/src/modules/app/components/SettingsRoutes.tsx b/packages/twenty-front/src/modules/app/components/SettingsRoutes.tsx index 8a9f1332f..b4e996ffd 100644 --- a/packages/twenty-front/src/modules/app/components/SettingsRoutes.tsx +++ b/packages/twenty-front/src/modules/app/components/SettingsRoutes.tsx @@ -64,19 +64,19 @@ const SettingsNewObject = lazy(() => })), ); -const SettingsNewImapConnection = lazy(() => +const SettingsNewImapSmtpCaldavConnection = lazy(() => import( - '@/settings/accounts/components/SettingsAccountsNewImapConnection' + '@/settings/accounts/components/SettingsAccountsNewImapSmtpCaldavConnection' ).then((module) => ({ - default: module.SettingsAccountsNewImapConnection, + default: module.SettingsAccountsNewImapSmtpCaldavConnection, })), ); -const SettingsEditImapConnection = lazy(() => +const SettingsEditImapSmtpCaldavConnection = lazy(() => import( - '@/settings/accounts/components/SettingsAccountsEditImapConnection' + '@/settings/accounts/components/SettingsAccountsEditImapSmtpCaldavConnection' ).then((module) => ({ - default: module.SettingsAccountsEditImapConnection, + default: module.SettingsAccountsEditImapSmtpCaldavConnection, })), ); @@ -375,12 +375,12 @@ export const SettingsRoutes = ({ element={} /> } + path={SettingsPath.NewImapSmtpCaldavConnection} + element={} /> } + path={SettingsPath.EditImapSmtpCaldavConnection} + element={} /> { calendarBookingPageIdState, ); + const setIsImapSmtpCaldavEnabled = useSetRecoilState( + isImapSmtpCaldavEnabledState, + ); + const { data, loading, error, fetchClientConfig } = useClientConfig(); useEffect(() => { @@ -183,6 +188,7 @@ export const ClientConfigProviderEffect = () => { })); setCalendarBookingPageId(data?.clientConfig?.calendarBookingPageId ?? null); + setIsImapSmtpCaldavEnabled(data?.clientConfig?.isImapSmtpCaldavEnabled); }, [ data, loading, @@ -210,6 +216,7 @@ export const ClientConfigProviderEffect = () => { setIsAttachmentPreviewEnabled, setIsConfigVariablesInDbEnabled, setCalendarBookingPageId, + setIsImapSmtpCaldavEnabled, ]); return <>; diff --git a/packages/twenty-front/src/modules/client-config/states/isImapSmtpCaldavEnabledState.ts b/packages/twenty-front/src/modules/client-config/states/isImapSmtpCaldavEnabledState.ts new file mode 100644 index 000000000..21d4efcd1 --- /dev/null +++ b/packages/twenty-front/src/modules/client-config/states/isImapSmtpCaldavEnabledState.ts @@ -0,0 +1,5 @@ +import { createState } from 'twenty-ui/utilities'; +export const isImapSmtpCaldavEnabledState = createState({ + key: 'isImapSmtpCaldavEnabled', + defaultValue: false, +}); diff --git a/packages/twenty-front/src/modules/client-config/types/ClientConfig.ts b/packages/twenty-front/src/modules/client-config/types/ClientConfig.ts index 6811e7d90..fcef4b3e3 100644 --- a/packages/twenty-front/src/modules/client-config/types/ClientConfig.ts +++ b/packages/twenty-front/src/modules/client-config/types/ClientConfig.ts @@ -30,7 +30,7 @@ export type ClientConfig = { isMicrosoftCalendarEnabled: boolean; isMicrosoftMessagingEnabled: boolean; isMultiWorkspaceEnabled: boolean; - isIMAPMessagingEnabled: boolean; + isImapSmtpCaldavEnabled: boolean; publicFeatureFlags: Array; sentry: Sentry; signInPrefilled: boolean; diff --git a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsConnectedAccountsListCard.tsx b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsConnectedAccountsListCard.tsx index a4603b1c2..4ce4a54fe 100644 --- a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsConnectedAccountsListCard.tsx +++ b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsConnectedAccountsListCard.tsx @@ -4,21 +4,11 @@ import { SettingsPath } from '@/types/SettingsPath'; import { SettingsAccountsConnectedAccountsRowRightContainer } from '@/settings/accounts/components/SettingsAccountsConnectedAccountsRowRightContainer'; import { useLingui } from '@lingui/react/macro'; -import { - IconComponent, - IconGoogle, - IconMail, - IconMicrosoft, -} from 'twenty-ui/display'; + +import { SettingsConnectedAccountIcon } from '@/settings/accounts/components/SettingsConnectedAccountIcon'; import { useNavigateSettings } from '~/hooks/useNavigateSettings'; import { SettingsListCard } from '../../components/SettingsListCard'; -const ProviderIcons: { [k: string]: IconComponent } = { - google: IconGoogle, - microsoft: IconMicrosoft, - imap: IconMail, -}; - export const SettingsAccountsConnectedAccountsListCard = ({ accounts, loading, @@ -38,7 +28,7 @@ export const SettingsAccountsConnectedAccountsListCard = ({ items={accounts} getItemLabel={(account) => account.handle} isLoading={loading} - RowIconFn={(row) => ProviderIcons[row.provider]} + RowIconFn={(row) => SettingsConnectedAccountIcon({ account: row })} RowRightComponent={({ item: account }) => ( )} diff --git a/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx new file mode 100644 index 000000000..61f9f17b8 --- /dev/null +++ b/packages/twenty-front/src/modules/settings/accounts/components/SettingsAccountsConnectionForm.tsx @@ -0,0 +1,354 @@ +import styled from '@emotion/styled'; +import { useLingui } from '@lingui/react/macro'; +import { Control, Controller } from 'react-hook-form'; + +import { Select } from '@/ui/input/components/Select'; +import { TextInput } from '@/ui/input/components/TextInput'; + +import { ConnectionFormData } from '@/settings/accounts/hooks/useImapSmtpCaldavConnectionForm'; +import { H2Title } from 'twenty-ui/display'; +import { Section } from 'twenty-ui/layout'; +import { MOBILE_VIEWPORT } from 'twenty-ui/theme'; + +const StyledFormContainer = styled.div` + display: flex; + flex-direction: column; + gap: ${({ theme }) => theme.spacing(6)}; +`; + +const StyledConnectionSection = styled.div` + display: flex; + flex-direction: column; + gap: ${({ theme }) => theme.spacing(2)}; +`; + +const StyledSectionHeader = styled.div` + margin-bottom: ${({ theme }) => theme.spacing(2)}; +`; + +const StyledSectionTitle = styled.h3` + color: ${({ theme }) => theme.font.color.primary}; + font-size: ${({ theme }) => theme.font.size.md}; + font-weight: ${({ theme }) => theme.font.weight.medium}; + margin: 0; + margin-bottom: ${({ theme }) => theme.spacing(1)}; +`; + +const StyledSectionDescription = styled.p` + color: ${({ theme }) => theme.font.color.tertiary}; + font-size: ${({ theme }) => theme.font.size.sm}; + margin: 0; +`; + +const StyledFieldRow = styled.div` + display: flex; + gap: ${({ theme }) => theme.spacing(3)}; + + @media (max-width: ${MOBILE_VIEWPORT}px) { + flex-direction: column; + } +`; + +const StyledFieldGroup = styled.div` + flex: 1; + + & > * { + width: 100%; + } +`; + +type SettingsAccountsConnectionFormProps = { + control: Control; + isEditing: boolean; +}; + +export const SettingsAccountsConnectionForm = ({ + control, + isEditing, +}: SettingsAccountsConnectionFormProps) => { + const { t } = useLingui(); + + const getTitle = () => { + return isEditing ? t`Edit Email Account` : t`New Email Account`; + }; + + const getDescription = () => { + if (isEditing) { + return t`Update your email account configuration. Configure any combination of IMAP, SMTP, and CalDAV as needed.`; + } + return t`You can set up any combination of IMAP (receiving emails), SMTP (sending emails), and CalDAV (calendar sync).`; + }; + + const handlePortChange = (value: string) => Number(value); + + return ( +
+ + + ( + + )} + /> + + + + {t`IMAP Configuration`} + + {t`Configure IMAP settings to receive and sync your emails.`} +
+ {t`Leave blank if you don't need to import emails.`} +
+
+ + ( + + )} + /> + + ( + + )} + /> + + + + ( + + field.onChange(handlePortChange(value)) + } + error={fieldState.error?.message} + /> + )} + /> + + + + ( + + )} + /> + + +
+ + + + {t`CalDAV Configuration`} + + {t`Configure CalDAV settings to sync your calendar events.`} +
+ {t`Leave blank if you don't need calendar sync.`} +
+
+ + ( + + )} + /> + + ( + + )} + /> + + + + ( + + field.onChange(handlePortChange(value)) + } + error={fieldState.error?.message} + /> + )} + /> + + + + ( + - )} - /> - ( - - )} - /> -
-
- ); -}; diff --git a/packages/twenty-front/src/modules/settings/accounts/constants/AccountProtocols.ts b/packages/twenty-front/src/modules/settings/accounts/constants/AccountProtocols.ts new file mode 100644 index 000000000..d16da6b23 --- /dev/null +++ b/packages/twenty-front/src/modules/settings/accounts/constants/AccountProtocols.ts @@ -0,0 +1 @@ +export const ACCOUNT_PROTOCOLS = ['IMAP', 'SMTP', 'CALDAV'] as const; diff --git a/packages/twenty-front/src/modules/settings/accounts/graphql/queries/getConnectedImapSmtpCaldavAccount.ts b/packages/twenty-front/src/modules/settings/accounts/graphql/queries/getConnectedImapSmtpCaldavAccount.ts index 133408e62..d02aac3c6 100644 --- a/packages/twenty-front/src/modules/settings/accounts/graphql/queries/getConnectedImapSmtpCaldavAccount.ts +++ b/packages/twenty-front/src/modules/settings/accounts/graphql/queries/getConnectedImapSmtpCaldavAccount.ts @@ -12,21 +12,18 @@ export const GET_CONNECTED_IMAP_SMTP_CALDAV_ACCOUNT = gql` host port secure - username password } SMTP { host port secure - username password } CALDAV { host port secure - username password } } diff --git a/packages/twenty-front/src/modules/settings/accounts/hooks/__tests__/useTriggerProviderReconnect.test.tsx b/packages/twenty-front/src/modules/settings/accounts/hooks/__tests__/useTriggerProviderReconnect.test.tsx new file mode 100644 index 000000000..3556c2e58 --- /dev/null +++ b/packages/twenty-front/src/modules/settings/accounts/hooks/__tests__/useTriggerProviderReconnect.test.tsx @@ -0,0 +1,238 @@ +import { act, renderHook } from '@testing-library/react'; +import { ReactNode } from 'react'; +import { RecoilRoot } from 'recoil'; + +import { SettingsPath } from '@/types/SettingsPath'; +import { ConnectedAccountProvider } from 'twenty-shared/types'; +import { + CalendarChannelVisibility, + MessageChannelVisibility, +} from '~/generated-metadata/graphql'; +import { useTriggerProviderReconnect } from '../useTriggerProviderReconnect'; + +const mockTriggerApisOAuth = jest.fn(); +const mockNavigate = jest.fn(); + +jest.mock('@/settings/accounts/hooks/useTriggerApiOAuth', () => ({ + useTriggerApisOAuth: jest.fn().mockImplementation(() => ({ + triggerApisOAuth: mockTriggerApisOAuth, + })), +})); + +jest.mock('~/hooks/useNavigateSettings', () => ({ + useNavigateSettings: jest.fn().mockImplementation(() => mockNavigate), +})); + +const Wrapper = ({ children }: { children: ReactNode }) => ( + {children} +); + +describe('useTriggerProviderReconnect', () => { + beforeEach(() => { + jest.clearAllMocks(); + }); + + describe('IMAP_SMTP_CALDAV provider', () => { + it('should navigate to new connection when no accountId is provided', async () => { + const { result } = renderHook(() => useTriggerProviderReconnect(), { + wrapper: Wrapper, + }); + + await act(async () => { + await result.current.triggerProviderReconnect( + ConnectedAccountProvider.IMAP_SMTP_CALDAV, + ); + }); + + expect(mockNavigate).toHaveBeenCalledWith( + SettingsPath.NewImapSmtpCaldavConnection, + ); + expect(mockTriggerApisOAuth).not.toHaveBeenCalled(); + }); + + it('should navigate to edit connection when accountId is provided', async () => { + const { result } = renderHook(() => useTriggerProviderReconnect(), { + wrapper: Wrapper, + }); + + const accountId = 'test-account-id-123'; + + await act(async () => { + await result.current.triggerProviderReconnect( + ConnectedAccountProvider.IMAP_SMTP_CALDAV, + accountId, + ); + }); + + expect(mockNavigate).toHaveBeenCalledWith( + SettingsPath.EditImapSmtpCaldavConnection, + { + connectedAccountId: accountId, + }, + ); + expect(mockTriggerApisOAuth).not.toHaveBeenCalled(); + }); + + it('should ignore options parameter for IMAP_SMTP_CALDAV provider', async () => { + const { result } = renderHook(() => useTriggerProviderReconnect(), { + wrapper: Wrapper, + }); + + const accountId = 'test-account-id-123'; + const options = { + redirectLocation: '/some-path', + calendarVisibility: CalendarChannelVisibility.SHARE_EVERYTHING, + }; + + await act(async () => { + await result.current.triggerProviderReconnect( + ConnectedAccountProvider.IMAP_SMTP_CALDAV, + accountId, + options, + ); + }); + + expect(mockNavigate).toHaveBeenCalledWith( + SettingsPath.EditImapSmtpCaldavConnection, + { + connectedAccountId: accountId, + }, + ); + expect(mockTriggerApisOAuth).not.toHaveBeenCalled(); + }); + }); + + describe('OAuth providers', () => { + it('should trigger OAuth for Google provider without options', async () => { + const { result } = renderHook(() => useTriggerProviderReconnect(), { + wrapper: Wrapper, + }); + + await act(async () => { + await result.current.triggerProviderReconnect( + ConnectedAccountProvider.GOOGLE, + ); + }); + + expect(mockTriggerApisOAuth).toHaveBeenCalledWith( + ConnectedAccountProvider.GOOGLE, + undefined, + ); + expect(mockNavigate).not.toHaveBeenCalled(); + }); + + it('should trigger OAuth for Microsoft provider without options', async () => { + const { result } = renderHook(() => useTriggerProviderReconnect(), { + wrapper: Wrapper, + }); + + await act(async () => { + await result.current.triggerProviderReconnect( + ConnectedAccountProvider.MICROSOFT, + ); + }); + + expect(mockTriggerApisOAuth).toHaveBeenCalledWith( + ConnectedAccountProvider.MICROSOFT, + undefined, + ); + expect(mockNavigate).not.toHaveBeenCalled(); + }); + + it('should trigger OAuth for Google provider with options', async () => { + const { result } = renderHook(() => useTriggerProviderReconnect(), { + wrapper: Wrapper, + }); + + const options = { + redirectLocation: '/custom-redirect', + calendarVisibility: CalendarChannelVisibility.METADATA, + messageVisibility: MessageChannelVisibility.SUBJECT, + loginHint: 'user@example.com', + }; + + await act(async () => { + await result.current.triggerProviderReconnect( + ConnectedAccountProvider.GOOGLE, + undefined, + options, + ); + }); + + expect(mockTriggerApisOAuth).toHaveBeenCalledWith( + ConnectedAccountProvider.GOOGLE, + options, + ); + expect(mockNavigate).not.toHaveBeenCalled(); + }); + + it('should trigger OAuth for Microsoft provider with options', async () => { + const { result } = renderHook(() => useTriggerProviderReconnect(), { + wrapper: Wrapper, + }); + + const options = { + redirectLocation: '/another-redirect', + calendarVisibility: CalendarChannelVisibility.SHARE_EVERYTHING, + messageVisibility: MessageChannelVisibility.SHARE_EVERYTHING, + }; + + await act(async () => { + await result.current.triggerProviderReconnect( + ConnectedAccountProvider.MICROSOFT, + 'some-account-id', + options, + ); + }); + + expect(mockTriggerApisOAuth).toHaveBeenCalledWith( + ConnectedAccountProvider.MICROSOFT, + options, + ); + expect(mockNavigate).not.toHaveBeenCalled(); + }); + + it('should ignore accountId parameter for OAuth providers', async () => { + const { result } = renderHook(() => useTriggerProviderReconnect(), { + wrapper: Wrapper, + }); + + await act(async () => { + await result.current.triggerProviderReconnect( + ConnectedAccountProvider.GOOGLE, + 'ignored-account-id', + ); + }); + + expect(mockTriggerApisOAuth).toHaveBeenCalledWith( + ConnectedAccountProvider.GOOGLE, + undefined, + ); + expect(mockNavigate).not.toHaveBeenCalled(); + }); + }); + + describe('error handling', () => { + it('should handle triggerApisOAuth errors gracefully', async () => { + const { result } = renderHook(() => useTriggerProviderReconnect(), { + wrapper: Wrapper, + }); + + const error = new Error('OAuth failed'); + mockTriggerApisOAuth.mockRejectedValue(error); + + await expect(async () => { + await act(async () => { + await result.current.triggerProviderReconnect( + ConnectedAccountProvider.GOOGLE, + ); + }); + }).rejects.toThrow('OAuth failed'); + + expect(mockTriggerApisOAuth).toHaveBeenCalledWith( + ConnectedAccountProvider.GOOGLE, + undefined, + ); + }); + }); +}); diff --git a/packages/twenty-front/src/modules/settings/accounts/hooks/useConnectedImapSmtpCaldavAccount.ts b/packages/twenty-front/src/modules/settings/accounts/hooks/useConnectedImapSmtpCaldavAccount.ts index f30bff7e1..6624a3cde 100644 --- a/packages/twenty-front/src/modules/settings/accounts/hooks/useConnectedImapSmtpCaldavAccount.ts +++ b/packages/twenty-front/src/modules/settings/accounts/hooks/useConnectedImapSmtpCaldavAccount.ts @@ -1,11 +1,21 @@ -import { useGetConnectedImapSmtpCaldavAccountQuery } from '~/generated-metadata/graphql'; +import { + type GetConnectedImapSmtpCaldavAccountQuery, + useGetConnectedImapSmtpCaldavAccountQuery, +} from '~/generated-metadata/graphql'; + +export type ConnectedImapSmtpCaldavAccount = + GetConnectedImapSmtpCaldavAccountQuery['getConnectedImapSmtpCaldavAccount']; export const useConnectedImapSmtpCaldavAccount = ( connectedAccountId: string | undefined, + onCompleted?: (data: ConnectedImapSmtpCaldavAccount) => void, ) => { const { data, loading, error } = useGetConnectedImapSmtpCaldavAccountQuery({ variables: { id: connectedAccountId ?? '' }, skip: !connectedAccountId, + onCompleted: (data) => { + onCompleted?.(data.getConnectedImapSmtpCaldavAccount); + }, }); return { diff --git a/packages/twenty-front/src/modules/settings/accounts/hooks/useImapConnectionForm.ts b/packages/twenty-front/src/modules/settings/accounts/hooks/useImapConnectionForm.ts deleted file mode 100644 index b3d544fdf..000000000 --- a/packages/twenty-front/src/modules/settings/accounts/hooks/useImapConnectionForm.ts +++ /dev/null @@ -1,133 +0,0 @@ -import { zodResolver } from '@hookform/resolvers/zod'; -import { useForm } from 'react-hook-form'; -import { useRecoilValue } from 'recoil'; -import { z } from 'zod'; - -import { SettingsPath } from '@/types/SettingsPath'; -import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar'; -import { ApolloError } from '@apollo/client'; -import { useLingui } from '@lingui/react/macro'; -import { - ConnectionParameters, - useSaveImapSmtpCaldavMutation, -} from '~/generated-metadata/graphql'; -import { useNavigateSettings } from '~/hooks/useNavigateSettings'; -import { currentWorkspaceMemberState } from '~/modules/auth/states/currentWorkspaceMemberState'; -import { currentWorkspaceState } from '~/modules/auth/states/currentWorkspaceState'; - -const imapConnectionFormSchema = z.object({ - handle: z.string().email('Invalid email address'), - host: z.string().min(1, 'IMAP server is required'), - port: z.number().int().positive('Port must be a positive number'), - secure: z.boolean(), - password: z.string().min(1, 'Password is required'), -}); - -type ImapConnectionFormValues = z.infer; - -type UseImapConnectionFormProps = { - initialData?: ImapConnectionFormValues; - isEditing?: boolean; - connectedAccountId?: string; -}; - -export const useImapConnectionForm = ({ - initialData, - isEditing = false, - connectedAccountId, -}: UseImapConnectionFormProps = {}) => { - const { t } = useLingui(); - const navigate = useNavigateSettings(); - const { enqueueErrorSnackBar, enqueueSuccessSnackBar } = useSnackBar(); - const currentWorkspace = useRecoilValue(currentWorkspaceState); - const currentWorkspaceMember = useRecoilValue(currentWorkspaceMemberState); - - const [saveImapConnection, { loading: saveLoading }] = - useSaveImapSmtpCaldavMutation(); - - const resolver = zodResolver(imapConnectionFormSchema); - - const defaultValues = { - handle: initialData?.handle || '', - host: initialData?.host || '', - port: initialData?.port || 993, - secure: initialData?.secure ?? true, - password: initialData?.password || '', - }; - - const formMethods = useForm({ - mode: 'onSubmit', - resolver, - defaultValues, - }); - - const { handleSubmit, formState } = formMethods; - const { isValid, isSubmitting } = formState; - const canSave = isValid && !isSubmitting; - const loading = saveLoading; - - const handleSave = async ( - formValues: ConnectionParameters & { handle: string }, - ) => { - if (!currentWorkspace?.id) { - enqueueErrorSnackBar({}); - return; - } - - if (!currentWorkspaceMember?.id) { - enqueueErrorSnackBar({}); - return; - } - - try { - const variables = { - ...(isEditing && connectedAccountId ? { id: connectedAccountId } : {}), - accountOwnerId: currentWorkspaceMember.id, - handle: formValues.handle, - host: formValues.host, - port: formValues.port, - secure: formValues.secure, - password: formValues.password, - }; - - await saveImapConnection({ - variables: { - accountOwnerId: variables.accountOwnerId, - handle: variables.handle, - accountType: { - type: 'IMAP', - }, - connectionParameters: { - host: variables.host, - port: variables.port, - secure: variables.secure, - password: variables.password, - username: variables.handle, - }, - ...(variables.id ? { id: variables.id } : {}), - }, - }); - - enqueueSuccessSnackBar({ - message: connectedAccountId - ? t`IMAP connection successfully updated` - : t`IMAP connection successfully created`, - }); - - navigate(SettingsPath.Accounts); - } catch (error) { - enqueueErrorSnackBar({ - apolloError: error instanceof ApolloError ? error : undefined, - }); - } - }; - - return { - formMethods, - handleSave, - handleSubmit, - canSave, - isSubmitting, - loading, - }; -}; diff --git a/packages/twenty-front/src/modules/settings/accounts/hooks/useImapSmtpCaldavConnectionForm.ts b/packages/twenty-front/src/modules/settings/accounts/hooks/useImapSmtpCaldavConnectionForm.ts new file mode 100644 index 000000000..476bab325 --- /dev/null +++ b/packages/twenty-front/src/modules/settings/accounts/hooks/useImapSmtpCaldavConnectionForm.ts @@ -0,0 +1,184 @@ +import { zodResolver } from '@hookform/resolvers/zod'; +import { useCallback, useMemo } from 'react'; +import { useForm } from 'react-hook-form'; +import { useRecoilValue } from 'recoil'; + +import { currentWorkspaceMemberState } from '@/auth/states/currentWorkspaceMemberState'; +import { useSnackBar } from '@/ui/feedback/snack-bar-manager/hooks/useSnackBar'; + +import { SettingsPath } from '@/types/SettingsPath'; +import { t } from '@lingui/core/macro'; +import { + ConnectionParameters, + useSaveImapSmtpCaldavMutation, +} from '~/generated-metadata/graphql'; +import { useNavigateSettings } from '~/hooks/useNavigateSettings'; + +import { ImapSmtpCaldavAccount } from '@/accounts/types/ImapSmtpCaldavAccount'; +import { ACCOUNT_PROTOCOLS } from '@/settings/accounts/constants/AccountProtocols'; +import { + connectionImapSmtpCalDav, + isProtocolConfigured, +} from '@/settings/accounts/validation-schemas/connectionImapSmtpCalDav'; +import { isDefined } from 'twenty-shared/utils'; +import { + ConnectedImapSmtpCaldavAccount, + useConnectedImapSmtpCaldavAccount, +} from './useConnectedImapSmtpCaldavAccount'; + +type UseConnectionFormProps = { + isEditing?: boolean; + connectedAccountId?: string; +}; + +export type ConnectionFormData = { + handle: string; +} & ImapSmtpCaldavAccount; + +export const useImapSmtpCaldavConnectionForm = ({ + isEditing = false, + connectedAccountId, +}: UseConnectionFormProps = {}) => { + const navigate = useNavigateSettings(); + const currentWorkspaceMember = useRecoilValue(currentWorkspaceMemberState); + + const formMethods = useForm({ + mode: 'onSubmit', + resolver: zodResolver(connectionImapSmtpCalDav), + defaultValues: { + handle: '', + IMAP: { host: '', port: 993, password: '', secure: true }, + SMTP: { host: '', port: 587, password: '', secure: true }, + CALDAV: { host: '', port: 443, password: '', secure: true }, + }, + }); + + const { handleSubmit, formState, watch, reset } = formMethods; + const { enqueueErrorSnackBar, enqueueSuccessSnackBar } = useSnackBar(); + const { isSubmitting } = formState; + + const { connectedAccount, loading: accountLoading } = + useConnectedImapSmtpCaldavAccount( + isEditing ? connectedAccountId : undefined, + useCallback( + (account: ConnectedImapSmtpCaldavAccount | null) => { + if (isDefined(account)) { + reset({ + handle: account.handle || '', + IMAP: account.connectionParameters?.IMAP || undefined, + SMTP: account.connectionParameters?.SMTP || undefined, + CALDAV: account.connectionParameters?.CALDAV || undefined, + }); + } + }, + [reset], + ), + ); + + const [saveConnection, { loading: saveLoading }] = + useSaveImapSmtpCaldavMutation(); + + const watchedValues = watch(); + + const getConfiguredProtocols = useCallback( + ( + values: ConnectionFormData = watchedValues, + ): (keyof ImapSmtpCaldavAccount)[] => { + return ACCOUNT_PROTOCOLS.filter((protocol) => { + const protocolConfig = values[protocol]; + return ( + protocolConfig && + isProtocolConfigured(protocolConfig as ConnectionParameters) + ); + }); + }, + [watchedValues], + ); + + const isValid = useMemo(() => { + return ( + Boolean(watchedValues.handle?.trim()) && + getConfiguredProtocols().length > 0 + ); + }, [getConfiguredProtocols, watchedValues.handle]); + + const saveIndividualConnection = useCallback( + async ( + protocol: keyof ImapSmtpCaldavAccount, + formValues: ConnectionFormData, + ): Promise => { + if (!currentWorkspaceMember?.id) { + throw new Error('Workspace member ID is missing'); + } + + const protocolConfig = formValues[protocol]; + if (!protocolConfig) { + throw new Error(`${protocol} configuration is missing`); + } + + await saveConnection({ + variables: { + ...(isEditing && connectedAccountId + ? { id: connectedAccountId } + : {}), + accountOwnerId: currentWorkspaceMember.id, + handle: formValues.handle, + accountType: { + type: protocol, + }, + connectionParameters: protocolConfig, + }, + }); + }, + [saveConnection, isEditing, connectedAccountId, currentWorkspaceMember?.id], + ); + + const handleSave = useCallback( + async (formValues: ConnectionFormData): Promise => { + const configuredProtocols = getConfiguredProtocols(formValues); + + try { + await Promise.all( + configuredProtocols.map((protocol) => + saveIndividualConnection(protocol, formValues), + ), + ); + + const successMessage = isEditing + ? t`Connection successfully updated` + : t`Connection successfully created`; + + enqueueSuccessSnackBar({ message: successMessage }); + navigate(SettingsPath.Accounts); + } catch (error) { + const errorMessage = + error instanceof Error + ? error.message + : 'An unexpected error occurred'; + + enqueueErrorSnackBar({ message: errorMessage }); + } + }, + [ + getConfiguredProtocols, + saveIndividualConnection, + isEditing, + enqueueSuccessSnackBar, + enqueueErrorSnackBar, + navigate, + ], + ); + + const canSave = isValid && !isSubmitting; + const loading = accountLoading || saveLoading; + + return { + formMethods, + handleSave, + handleSubmit, + canSave, + isSubmitting, + loading, + connectedAccount, + }; +}; diff --git a/packages/twenty-front/src/modules/settings/accounts/hooks/useTriggerProviderReconnect.ts b/packages/twenty-front/src/modules/settings/accounts/hooks/useTriggerProviderReconnect.ts index 0c1305305..e4297ad2c 100644 --- a/packages/twenty-front/src/modules/settings/accounts/hooks/useTriggerProviderReconnect.ts +++ b/packages/twenty-front/src/modules/settings/accounts/hooks/useTriggerProviderReconnect.ts @@ -17,11 +17,11 @@ export const useTriggerProviderReconnect = () => { ) => { if (provider === ConnectedAccountProvider.IMAP_SMTP_CALDAV) { if (!accountId) { - navigate(SettingsPath.NewImapConnection); + navigate(SettingsPath.NewImapSmtpCaldavConnection); return; } - navigate(SettingsPath.EditImapConnection, { + navigate(SettingsPath.EditImapSmtpCaldavConnection, { connectedAccountId: accountId, }); return; diff --git a/packages/twenty-front/src/modules/settings/accounts/validation-schemas/connectionImapSmtpCalDav.ts b/packages/twenty-front/src/modules/settings/accounts/validation-schemas/connectionImapSmtpCalDav.ts new file mode 100644 index 000000000..ee37c903b --- /dev/null +++ b/packages/twenty-front/src/modules/settings/accounts/validation-schemas/connectionImapSmtpCalDav.ts @@ -0,0 +1,47 @@ +import { ACCOUNT_PROTOCOLS } from '@/settings/accounts/constants/AccountProtocols'; +import { z } from 'zod'; +import { ConnectionParameters } from '~/generated/graphql'; + +const connectionParameters = z + .object({ + host: z.string().default(''), + port: z.number().int().nullable().default(null), + password: z.string().default(''), + secure: z.boolean().default(true), + }) + .refine( + (data) => { + if (Boolean(data.host?.trim()) && Boolean(data.password?.trim())) { + return data.port && data.port > 0; + } + return true; + }, + { + message: 'Port must be a positive number when configuring this protocol', + path: ['port'], + }, + ); + +export const connectionImapSmtpCalDav = z + .object({ + handle: z.string().email('Invalid email address'), + IMAP: connectionParameters.optional(), + SMTP: connectionParameters.optional(), + CALDAV: connectionParameters.optional(), + }) + .refine( + (data) => { + return ACCOUNT_PROTOCOLS.some((protocol) => + isProtocolConfigured(data[protocol] as ConnectionParameters), + ); + }, + { + message: + 'At least one account type (IMAP, SMTP, or CalDAV) must be completely configured', + path: ['handle'], + }, + ); + +export const isProtocolConfigured = (config: ConnectionParameters): boolean => { + return Boolean(config?.host?.trim() && config?.password?.trim()); +}; diff --git a/packages/twenty-front/src/modules/settings/components/SettingsListCard.tsx b/packages/twenty-front/src/modules/settings/components/SettingsListCard.tsx index 9b9be92be..706a76e2e 100644 --- a/packages/twenty-front/src/modules/settings/components/SettingsListCard.tsx +++ b/packages/twenty-front/src/modules/settings/components/SettingsListCard.tsx @@ -4,9 +4,9 @@ import { ComponentType } from 'react'; import { SettingsListSkeletonCard } from '@/settings/components/SettingsListSkeletonCard'; -import { SettingsListItemCardContent } from './SettingsListItemCardContent'; -import { Card, CardFooter } from 'twenty-ui/layout'; import { IconComponent, IconPlus } from 'twenty-ui/display'; +import { Card, CardFooter } from 'twenty-ui/layout'; +import { SettingsListItemCardContent } from './SettingsListItemCardContent'; const StyledFooter = styled(CardFooter)` align-items: center; diff --git a/packages/twenty-front/src/modules/types/SettingsPath.ts b/packages/twenty-front/src/modules/types/SettingsPath.ts index f2e6e488c..78a0cbc2c 100644 --- a/packages/twenty-front/src/modules/types/SettingsPath.ts +++ b/packages/twenty-front/src/modules/types/SettingsPath.ts @@ -5,8 +5,8 @@ export enum SettingsPath { NewAccount = 'accounts/new', AccountsCalendars = 'accounts/calendars', AccountsEmails = 'accounts/emails', - NewImapConnection = 'accounts/new-imap-connection', - EditImapConnection = 'accounts/edit-imap-connection/:connectedAccountId', + NewImapSmtpCaldavConnection = 'accounts/new-imap-smtp-caldav-connection', + EditImapSmtpCaldavConnection = 'accounts/edit-imap-smtp-caldav-connection/:connectedAccountId', Billing = 'billing', Objects = 'objects', ObjectOverview = 'objects/overview', diff --git a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionSendEmail.tsx b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionSendEmail.tsx index 04b000a94..24242ce00 100644 --- a/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionSendEmail.tsx +++ b/packages/twenty-front/src/modules/workflow/workflow-steps/workflow-actions/components/WorkflowEditActionSendEmail.tsx @@ -98,7 +98,10 @@ export const WorkflowEditActionSendEmail = ({ } }; - if (!isDefined(scopes) || !hasSendScope(connectedAccount, scopes)) { + if ( + connectedAccount.provider !== ConnectedAccountProvider.IMAP_SMTP_CALDAV && + (!isDefined(scopes) || !hasSendScope(connectedAccount, scopes)) + ) { await triggerApisOAuth(connectedAccount.provider, { redirectLocation: redirectUrl, loginHint: connectedAccount.handle, @@ -180,6 +183,7 @@ export const WorkflowEditActionSendEmail = ({ provider: true, scopes: true, accountOwnerId: true, + connectionParameters: true, }, }); diff --git a/packages/twenty-front/src/testing/mock-data/config.ts b/packages/twenty-front/src/testing/mock-data/config.ts index b7b1baabd..1e6a15f69 100644 --- a/packages/twenty-front/src/testing/mock-data/config.ts +++ b/packages/twenty-front/src/testing/mock-data/config.ts @@ -54,5 +54,5 @@ export const mockedClientConfig: ClientConfig = { isGoogleCalendarEnabled: true, isAttachmentPreviewEnabled: true, isConfigVariablesInDbEnabled: false, - isIMAPMessagingEnabled: false, + isImapSmtpCaldavEnabled: false, }; diff --git a/packages/twenty-server/.env.example b/packages/twenty-server/.env.example index 8fd19eb95..ff27505ef 100644 --- a/packages/twenty-server/.env.example +++ b/packages/twenty-server/.env.example @@ -14,7 +14,7 @@ FRONTEND_URL=http://localhost:3001 # REFRESH_TOKEN_EXPIRES_IN=90d # FILE_TOKEN_EXPIRES_IN=1d # MESSAGING_PROVIDER_GMAIL_ENABLED=false -# MESSAGING_PROVIDER_IMAP_ENABLED=false +# IS_IMAP_SMTP_CALDAV_ENABLED=false # CALENDAR_PROVIDER_GOOGLE_ENABLED=false # MESSAGING_PROVIDER_MICROSOFT_ENABLED=false # CALENDAR_PROVIDER_MICROSOFT_ENABLED=false diff --git a/packages/twenty-server/.env.test b/packages/twenty-server/.env.test index 5600d859c..a672bd9dc 100644 --- a/packages/twenty-server/.env.test +++ b/packages/twenty-server/.env.test @@ -11,7 +11,7 @@ FRONTEND_URL=http://localhost:3001 AUTH_GOOGLE_ENABLED=false MESSAGING_PROVIDER_GMAIL_ENABLED=false -MESSAGING_PROVIDER_IMAP_ENABLED=false +IS_IMAP_SMTP_CALDAV_ENABLED=false CALENDAR_PROVIDER_GOOGLE_ENABLED=false MESSAGING_PROVIDER_MICROSOFT_ENABLED=false CALENDAR_PROVIDER_MICROSOFT_ENABLED=false diff --git a/packages/twenty-server/src/engine/core-modules/client-config/client-config.controller.spec.ts b/packages/twenty-server/src/engine/core-modules/client-config/client-config.controller.spec.ts index 15ffc1e1b..aafe22aae 100644 --- a/packages/twenty-server/src/engine/core-modules/client-config/client-config.controller.spec.ts +++ b/packages/twenty-server/src/engine/core-modules/client-config/client-config.controller.spec.ts @@ -96,7 +96,7 @@ describe('ClientConfigController', () => { isGoogleMessagingEnabled: false, isGoogleCalendarEnabled: false, isConfigVariablesInDbEnabled: false, - isIMAPMessagingEnabled: false, + isImapSmtpCaldavEnabled: false, calendarBookingPageId: undefined, }; diff --git a/packages/twenty-server/src/engine/core-modules/client-config/client-config.entity.ts b/packages/twenty-server/src/engine/core-modules/client-config/client-config.entity.ts index e48379c70..c13668547 100644 --- a/packages/twenty-server/src/engine/core-modules/client-config/client-config.entity.ts +++ b/packages/twenty-server/src/engine/core-modules/client-config/client-config.entity.ts @@ -178,7 +178,7 @@ export class ClientConfig { isConfigVariablesInDbEnabled: boolean; @Field(() => Boolean) - isIMAPMessagingEnabled: boolean; + isImapSmtpCaldavEnabled: boolean; @Field(() => String, { nullable: true }) calendarBookingPageId?: string; diff --git a/packages/twenty-server/src/engine/core-modules/client-config/services/client-config.service.ts b/packages/twenty-server/src/engine/core-modules/client-config/services/client-config.service.ts index ae61139c9..3e7cb44b4 100644 --- a/packages/twenty-server/src/engine/core-modules/client-config/services/client-config.service.ts +++ b/packages/twenty-server/src/engine/core-modules/client-config/services/client-config.service.ts @@ -138,8 +138,8 @@ export class ClientConfigService { isConfigVariablesInDbEnabled: this.twentyConfigService.get( 'IS_CONFIG_VARIABLES_IN_DB_ENABLED', ), - isIMAPMessagingEnabled: this.twentyConfigService.get( - 'MESSAGING_PROVIDER_IMAP_ENABLED', + isImapSmtpCaldavEnabled: this.twentyConfigService.get( + 'IS_IMAP_SMTP_CALDAV_ENABLED', ), calendarBookingPageId: this.twentyConfigService.get( 'CALENDAR_BOOKING_PAGE_ID', diff --git a/packages/twenty-server/src/engine/core-modules/feature-flag/constants/public-feature-flag.const.ts b/packages/twenty-server/src/engine/core-modules/feature-flag/constants/public-feature-flag.const.ts index 23cb30105..b485167b5 100644 --- a/packages/twenty-server/src/engine/core-modules/feature-flag/constants/public-feature-flag.const.ts +++ b/packages/twenty-server/src/engine/core-modules/feature-flag/constants/public-feature-flag.const.ts @@ -13,12 +13,13 @@ export type PublicFeatureFlag = { export const PUBLIC_FEATURE_FLAGS: PublicFeatureFlag[] = [ { - key: FeatureFlagKey.IS_IMAP_ENABLED, + key: FeatureFlagKey.IS_IMAP_SMTP_CALDAV_ENABLED, metadata: { - label: 'IMAP', + label: 'IMAP, SMTP, CalDAV', description: - 'Easily add email accounts from any provider that supports IMAP (and soon, send emails with SMTP)', - imagePath: 'https://twenty.com/images/lab/is-imap-enabled.png', + 'Easily add email accounts from any provider that supports IMAP, send emails with SMTP (and soon, sync calendars with CalDAV)', + imagePath: + 'https://twenty.com/images/lab/is-imap-smtp-caldav-enabled.png', }, }, ...(process.env.CLOUDFLARE_API_KEY diff --git a/packages/twenty-server/src/engine/core-modules/feature-flag/enums/feature-flag-key.enum.ts b/packages/twenty-server/src/engine/core-modules/feature-flag/enums/feature-flag-key.enum.ts index 099bd2ab7..edf2da73a 100644 --- a/packages/twenty-server/src/engine/core-modules/feature-flag/enums/feature-flag-key.enum.ts +++ b/packages/twenty-server/src/engine/core-modules/feature-flag/enums/feature-flag-key.enum.ts @@ -5,7 +5,7 @@ export enum FeatureFlagKey { IS_UNIQUE_INDEXES_ENABLED = 'IS_UNIQUE_INDEXES_ENABLED', IS_JSON_FILTER_ENABLED = 'IS_JSON_FILTER_ENABLED', IS_AI_ENABLED = 'IS_AI_ENABLED', - IS_IMAP_ENABLED = 'IS_IMAP_ENABLED', + IS_IMAP_SMTP_CALDAV_ENABLED = 'IS_IMAP_SMTP_CALDAV_ENABLED', IS_MORPH_RELATION_ENABLED = 'IS_MORPH_RELATION_ENABLED', IS_WORKFLOW_FILTERING_ENABLED = 'IS_WORKFLOW_FILTERING_ENABLED', IS_RELATION_CONNECT_ENABLED = 'IS_RELATION_CONNECT_ENABLED', diff --git a/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/dtos/imap-smtp-caldav-connection.dto.ts b/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/dtos/imap-smtp-caldav-connection.dto.ts index 9c63d8e78..c2de0808e 100644 --- a/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/dtos/imap-smtp-caldav-connection.dto.ts +++ b/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/dtos/imap-smtp-caldav-connection.dto.ts @@ -14,9 +14,6 @@ export class ConnectionParameters { @Field(() => Number) port: number; - @Field(() => String) - username: string; - /** * Note: This field is stored in plain text in the database. * While encrypting it could provide an extra layer of defense, we have decided not to, @@ -37,9 +34,6 @@ export class ConnectionParametersOutput { @Field(() => Number) port: number; - @Field(() => String) - username: string; - @Field(() => String) password: string; diff --git a/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/imap-smtp-caldav-connection.resolver.ts b/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/imap-smtp-caldav-connection.resolver.ts index 2fe6b7ec3..ef5060f35 100644 --- a/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/imap-smtp-caldav-connection.resolver.ts +++ b/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/imap-smtp-caldav-connection.resolver.ts @@ -1,4 +1,10 @@ -import { UseFilters, UseGuards, UsePipes } from '@nestjs/common'; +import { + HttpException, + HttpStatus, + UseFilters, + UseGuards, + UsePipes, +} from '@nestjs/common'; import { Args, Mutation, Query, Resolver } from '@nestjs/graphql'; import { ConnectedAccountProvider } from 'twenty-shared/types'; @@ -39,36 +45,6 @@ export class ImapSmtpCaldavResolver { private readonly mailConnectionValidatorService: ImapSmtpCaldavValidatorService, ) {} - private async checkIfFeatureEnabled( - workspaceId: string, - accountType: AccountType, - ): Promise { - if (accountType.type === 'IMAP') { - const isImapEnabled = await this.featureFlagService.isFeatureEnabled( - FeatureFlagKey.IS_IMAP_ENABLED, - workspaceId, - ); - - if (!isImapEnabled) { - throw new UserInputError( - 'IMAP feature is not enabled for this workspace', - ); - } - } - - if (accountType.type === 'SMTP') { - throw new UserInputError( - 'SMTP feature is not enabled for this workspace', - ); - } - - if (accountType.type === 'CALDAV') { - throw new UserInputError( - 'CALDAV feature is not enabled for this workspace', - ); - } - } - @Query(() => ConnectedImapSmtpCaldavAccount) @UseGuards(WorkspaceAuthGuard) async getConnectedImapSmtpCaldavAccount( @@ -111,7 +87,18 @@ export class ImapSmtpCaldavResolver { @AuthWorkspace() workspace: Workspace, @Args('id', { nullable: true }) id?: string, ): Promise { - await this.checkIfFeatureEnabled(workspace.id, accountType); + const isImapSmtpCaldavFeatureFlagEnabled = + await this.featureFlagService.isFeatureEnabled( + FeatureFlagKey.IS_IMAP_SMTP_CALDAV_ENABLED, + workspace.id, + ); + + if (!isImapSmtpCaldavFeatureFlagEnabled) { + throw new HttpException( + 'IMAP, SMTP, CalDAV feature is not enabled for this workspace', + HttpStatus.FORBIDDEN, + ); + } const validatedParams = this.mailConnectionValidatorService.validateProtocolConnectionParams( @@ -119,6 +106,7 @@ export class ImapSmtpCaldavResolver { ); await this.ImapSmtpCaldavConnectionService.testImapSmtpCaldav( + handle, validatedParams, accountType.type, ); diff --git a/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/services/imap-smtp-caldav-connection-validator.service.ts b/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/services/imap-smtp-caldav-connection-validator.service.ts index 0c5c192fd..98dd0af38 100644 --- a/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/services/imap-smtp-caldav-connection-validator.service.ts +++ b/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/services/imap-smtp-caldav-connection-validator.service.ts @@ -10,7 +10,6 @@ export class ImapSmtpCaldavValidatorService { private readonly protocolConnectionSchema = z.object({ host: z.string().min(1, 'Host is required'), port: z.number().int().positive('Port must be a positive number'), - username: z.string().min(1, 'Username is required'), password: z.string().min(1, 'Password is required'), secure: z.boolean().optional(), }); @@ -19,7 +18,10 @@ export class ImapSmtpCaldavValidatorService { params: ConnectionParameters, ): ConnectionParameters { if (!params) { - throw new UserInputError('Protocol connection parameters are required'); + throw new UserInputError('Protocol connection parameters are required', { + userFriendlyMessage: + 'Please provide connection details to configure your email account.', + }); } try { @@ -32,10 +34,17 @@ export class ImapSmtpCaldavValidatorService { throw new UserInputError( `Protocol connection validation failed: ${errorMessages}`, + { + userFriendlyMessage: + 'Please check your connection settings. Make sure the server host, port, and password are correct.', + }, ); } - throw new UserInputError('Protocol connection validation failed'); + throw new UserInputError('Protocol connection validation failed', { + userFriendlyMessage: + 'There was an issue with your connection settings. Please try again.', + }); } } } diff --git a/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/services/imap-smtp-caldav-connection.service.ts b/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/services/imap-smtp-caldav-connection.service.ts index f0e4b0930..bf0b57705 100644 --- a/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/services/imap-smtp-caldav-connection.service.ts +++ b/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/services/imap-smtp-caldav-connection.service.ts @@ -1,6 +1,7 @@ import { Injectable, Logger } from '@nestjs/common'; import { ImapFlow } from 'imapflow'; +import { createTransport } from 'nodemailer'; import { ConnectedAccountProvider } from 'twenty-shared/types'; import { UserInputError } from 'src/engine/core-modules/graphql/utils/graphql-errors.util'; @@ -19,17 +20,16 @@ export class ImapSmtpCaldavService { private readonly twentyORMGlobalManager: TwentyORMGlobalManager, ) {} - async testImapConnection(params: ConnectionParameters): Promise { - if (!params.host || !params.username || !params.password) { - throw new UserInputError('Missing required IMAP connection parameters'); - } - + async testImapConnection( + handle: string, + params: ConnectionParameters, + ): Promise { const client = new ImapFlow({ host: params.host, port: params.port, secure: params.secure ?? true, auth: { - user: params.username, + user: handle, pass: params.password, }, logger: false, @@ -57,16 +57,27 @@ export class ImapSmtpCaldavService { if (error.authenticationFailed) { throw new UserInputError( 'IMAP authentication failed. Please check your credentials.', + { + userFriendlyMessage: + "We couldn't log in to your email account. Please check your email address and password, then try again.", + }, ); } if (error.code === 'ECONNREFUSED') { throw new UserInputError( `IMAP connection refused. Please verify server and port.`, + { + userFriendlyMessage: + "We couldn't connect to your email server. Please check your server settings and try again.", + }, ); } - throw new UserInputError(`IMAP connection failed: ${error.message}`); + throw new UserInputError(`IMAP connection failed: ${error.message}`, { + userFriendlyMessage: + 'We encountered an issue connecting to your email account. Please check your settings and try again.', + }); } finally { if (client.authenticated) { await client.logout(); @@ -74,36 +85,70 @@ export class ImapSmtpCaldavService { } } - async testSmtpConnection(params: ConnectionParameters): Promise { - this.logger.log('SMTP connection testing not yet implemented', params); + async testSmtpConnection( + handle: string, + params: ConnectionParameters, + ): Promise { + const transport = createTransport({ + host: params.host, + port: params.port, + auth: { + user: handle, + pass: params.password, + }, + tls: { + rejectUnauthorized: false, + }, + }); + + try { + await transport.verify(); + } catch (error) { + this.logger.error( + `SMTP connection failed: ${error.message}`, + error.stack, + ); + throw new UserInputError(`SMTP connection failed: ${error.message}`, { + userFriendlyMessage: + "We couldn't connect to your outgoing email server. Please check your SMTP settings and try again.", + }); + } return true; } - async testCaldavConnection(params: ConnectionParameters): Promise { + async testCaldavConnection( + handle: string, + params: ConnectionParameters, + ): Promise { this.logger.log('CALDAV connection testing not yet implemented', params); return true; } async testImapSmtpCaldav( + handle: string, params: ConnectionParameters, accountType: AccountType, ): Promise { if (accountType === 'IMAP') { - return this.testImapConnection(params); + return this.testImapConnection(handle, params); } if (accountType === 'SMTP') { - return this.testSmtpConnection(params); + return this.testSmtpConnection(handle, params); } if (accountType === 'CALDAV') { - return this.testCaldavConnection(params); + return this.testCaldavConnection(handle, params); } throw new UserInputError( 'Invalid account type. Must be one of: IMAP, SMTP, CALDAV', + { + userFriendlyMessage: + 'Please select a valid connection type (IMAP, SMTP, or CalDAV) and try again.', + }, ); } diff --git a/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/types/imap-smtp-caldav-connection.type.ts b/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/types/imap-smtp-caldav-connection.type.ts index 40aace1f0..5109643a0 100644 --- a/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/types/imap-smtp-caldav-connection.type.ts +++ b/packages/twenty-server/src/engine/core-modules/imap-smtp-caldav-connection/types/imap-smtp-caldav-connection.type.ts @@ -1,7 +1,6 @@ export type ConnectionParameters = { host: string; port: number; - username: string; password: string; secure?: boolean; }; @@ -9,7 +8,6 @@ export type ConnectionParameters = { export type AccountType = 'IMAP' | 'SMTP' | 'CALDAV'; export type ImapSmtpCaldavParams = { - handle: string; IMAP?: ConnectionParameters; SMTP?: ConnectionParameters; CALDAV?: ConnectionParameters; diff --git a/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts b/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts index 81aa414bc..3027f2129 100644 --- a/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts +++ b/packages/twenty-server/src/engine/core-modules/twenty-config/config-variables.ts @@ -148,7 +148,7 @@ export class ConfigVariables { description: 'Enable or disable the IMAP messaging integration', type: ConfigVariableType.BOOLEAN, }) - MESSAGING_PROVIDER_IMAP_ENABLED = false; + IS_IMAP_SMTP_CALDAV_ENABLED = false; @ConfigVariablesMetadata({ group: ConfigVariablesGroup.MicrosoftAuth, diff --git a/packages/twenty-server/src/engine/workspace-manager/dev-seeder/core/utils/seed-feature-flags.util.ts b/packages/twenty-server/src/engine/workspace-manager/dev-seeder/core/utils/seed-feature-flags.util.ts index f8f32439d..0af48112b 100644 --- a/packages/twenty-server/src/engine/workspace-manager/dev-seeder/core/utils/seed-feature-flags.util.ts +++ b/packages/twenty-server/src/engine/workspace-manager/dev-seeder/core/utils/seed-feature-flags.util.ts @@ -46,7 +46,7 @@ export const seedFeatureFlags = async ( value: false, }, { - key: FeatureFlagKey.IS_IMAP_ENABLED, + key: FeatureFlagKey.IS_IMAP_SMTP_CALDAV_ENABLED, workspaceId: workspaceId, value: true, }, diff --git a/packages/twenty-server/src/modules/connected-account/services/imap-smtp-caldav-apis.service.ts b/packages/twenty-server/src/modules/connected-account/services/imap-smtp-caldav-apis.service.ts index 5e62d616b..dff013b17 100644 --- a/packages/twenty-server/src/modules/connected-account/services/imap-smtp-caldav-apis.service.ts +++ b/packages/twenty-server/src/modules/connected-account/services/imap-smtp-caldav-apis.service.ts @@ -88,6 +88,20 @@ export class ImapSmtpCalDavAPIService { workspaceId, }); + let shouldEnableSync = false; + + if (connectedAccount) { + const hadOnlySmtp = + connectedAccount.connectionParameters?.SMTP && + !connectedAccount.connectionParameters?.IMAP && + !connectedAccount.connectionParameters?.CALDAV; + + const isAddingImapOrCaldav = + input.accountType === 'IMAP' || input.accountType === 'CALDAV'; + + shouldEnableSync = Boolean(hadOnlySmtp && isAddingImapOrCaldav); + } + await workspaceDataSource.transaction(async () => { if (!existingAccountId) { const newConnectedAccount = await connectedAccountRepository.save( @@ -129,7 +143,10 @@ export class ImapSmtpCalDavAPIService { connectedAccountId: newOrExistingConnectedAccountId, type: MessageChannelType.EMAIL, handle, - syncStatus: MessageChannelSyncStatus.ONGOING, + isSyncEnabled: shouldEnableSync, + syncStatus: shouldEnableSync + ? MessageChannelSyncStatus.ONGOING + : MessageChannelSyncStatus.NOT_SYNCED, }, {}, ); @@ -200,9 +217,12 @@ export class ImapSmtpCalDavAPIService { }, { syncStage: MessageChannelSyncStage.FULL_MESSAGE_LIST_FETCH_PENDING, - syncStatus: null, + syncStatus: shouldEnableSync + ? MessageChannelSyncStatus.ONGOING + : MessageChannelSyncStatus.NOT_SYNCED, syncCursor: '', syncStageStartedAt: null, + isSyncEnabled: shouldEnableSync, }, ); @@ -227,22 +247,24 @@ export class ImapSmtpCalDavAPIService { } }); - if (this.twentyConfigService.get('MESSAGING_PROVIDER_IMAP_ENABLED')) { - const messageChannels = await messageChannelRepository.find({ - where: { - connectedAccountId: newOrExistingConnectedAccountId, - }, - }); + if (!shouldEnableSync) { + return; + } - for (const messageChannel of messageChannels) { - await this.messageQueueService.add( - MessagingMessageListFetchJob.name, - { - workspaceId, - messageChannelId: messageChannel.id, - }, - ); - } + const messageChannels = await messageChannelRepository.find({ + where: { + connectedAccountId: newOrExistingConnectedAccountId, + }, + }); + + for (const messageChannel of messageChannels) { + await this.messageQueueService.add( + MessagingMessageListFetchJob.name, + { + workspaceId, + messageChannelId: messageChannel.id, + }, + ); } } } diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/imap/providers/imap-client.provider.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/imap/providers/imap-client.provider.ts index 59f1ffe1e..c12360af3 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/imap/providers/imap-client.provider.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/imap/providers/imap-client.provider.ts @@ -64,14 +64,14 @@ export class ImapClientProvider { await client.connect(); this.logger.log( - `Connected to IMAP server for ${connectionParameters.handle}`, + `Connected to IMAP server for ${connectedAccount.handle}`, ); try { const mailboxes = await client.list(); this.logger.log( - `Available mailboxes for ${connectionParameters.handle}: ${mailboxes.map((m) => m.path).join(', ')}`, + `Available mailboxes for ${connectedAccount.handle}: ${mailboxes.map((m) => m.path).join(', ')}`, ); } catch (error) { this.logger.warn(`Failed to list mailboxes: ${error.message}`); diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/smtp/messaging-smtp-driver.module.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/smtp/messaging-smtp-driver.module.ts new file mode 100644 index 000000000..e2d288fd0 --- /dev/null +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/smtp/messaging-smtp-driver.module.ts @@ -0,0 +1,9 @@ +import { Module } from '@nestjs/common'; + +import { SmtpClientProvider } from './providers/smtp-client.provider'; + +@Module({ + providers: [SmtpClientProvider], + exports: [SmtpClientProvider], +}) +export class MessagingSmtpDriverModule {} diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/smtp/providers/smtp-client.provider.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/smtp/providers/smtp-client.provider.ts new file mode 100644 index 000000000..acb4a4706 --- /dev/null +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/smtp/providers/smtp-client.provider.ts @@ -0,0 +1,35 @@ +import { Injectable } from '@nestjs/common'; + +import { createTransport, Transporter } from 'nodemailer'; + +import { ConnectedAccountWorkspaceEntity } from 'src/modules/connected-account/standard-objects/connected-account.workspace-entity'; + +@Injectable() +export class SmtpClientProvider { + public async getSmtpClient( + connectedAccount: Pick< + ConnectedAccountWorkspaceEntity, + 'connectionParameters' | 'handle' + >, + ): Promise { + const smtpParams = connectedAccount.connectionParameters?.SMTP; + + if (!smtpParams) { + throw new Error('SMTP settings not configured for this account'); + } + + const transporter = createTransport({ + host: smtpParams.host, + port: smtpParams.port, + auth: { + user: connectedAccount.handle, + pass: smtpParams.password, + }, + tls: { + rejectUnauthorized: false, + }, + }); + + return transporter; + } +} diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/messaging-import-manager.module.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/messaging-import-manager.module.ts index fcffe688c..aaf8617fd 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/messaging-import-manager.module.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/messaging-import-manager.module.ts @@ -22,6 +22,7 @@ import { MessagingOngoingStaleCronJob } from 'src/modules/messaging/message-impo import { MessagingGmailDriverModule } from 'src/modules/messaging/message-import-manager/drivers/gmail/messaging-gmail-driver.module'; import { MessagingIMAPDriverModule } from 'src/modules/messaging/message-import-manager/drivers/imap/messaging-imap-driver.module'; import { MessagingMicrosoftDriverModule } from 'src/modules/messaging/message-import-manager/drivers/microsoft/messaging-microsoft-driver.module'; +import { MessagingSmtpDriverModule } from 'src/modules/messaging/message-import-manager/drivers/smtp/messaging-smtp-driver.module'; import { MessagingAddSingleMessageToCacheForImportJob } from 'src/modules/messaging/message-import-manager/jobs/messaging-add-single-message-to-cache-for-import.job'; import { MessagingCleanCacheJob } from 'src/modules/messaging/message-import-manager/jobs/messaging-clean-cache'; import { MessagingMessageListFetchJob } from 'src/modules/messaging/message-import-manager/jobs/messaging-message-list-fetch.job'; @@ -48,6 +49,7 @@ import { MessagingMonitoringModule } from 'src/modules/messaging/monitoring/mess MessagingGmailDriverModule, MessagingMicrosoftDriverModule, MessagingIMAPDriverModule, + MessagingSmtpDriverModule, MessagingCommonModule, TypeOrmModule.forFeature( [Workspace, DataSourceEntity, ObjectMetadataEntity], diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-send-message.service.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-send-message.service.ts index 7d6db35ca..be0018171 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-send-message.service.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/services/messaging-send-message.service.ts @@ -12,6 +12,7 @@ import { import { GmailClientProvider } from 'src/modules/messaging/message-import-manager/drivers/gmail/providers/gmail-client.provider'; import { OAuth2ClientProvider } from 'src/modules/messaging/message-import-manager/drivers/gmail/providers/oauth2-client.provider'; import { MicrosoftClientProvider } from 'src/modules/messaging/message-import-manager/drivers/microsoft/providers/microsoft-client.provider'; +import { SmtpClientProvider } from 'src/modules/messaging/message-import-manager/drivers/smtp/providers/smtp-client.provider'; import { isAccessTokenRefreshingError } from 'src/modules/messaging/message-import-manager/drivers/microsoft/utils/is-access-token-refreshing-error.utils'; import { mimeEncode } from 'src/modules/messaging/message-import-manager/utils/mime-encode.util'; @@ -27,6 +28,7 @@ export class MessagingSendMessageService { private readonly gmailClientProvider: GmailClientProvider, private readonly oAuth2ClientProvider: OAuth2ClientProvider, private readonly microsoftClientProvider: MicrosoftClientProvider, + private readonly smtpClientProvider: SmtpClientProvider, ) {} public async sendMessage( @@ -120,7 +122,16 @@ export class MessagingSendMessageService { break; } case ConnectedAccountProvider.IMAP_SMTP_CALDAV: { - throw new Error('IMAP provider does not support sending messages'); + const smtpClient = + await this.smtpClientProvider.getSmtpClient(connectedAccount); + + await smtpClient.sendMail({ + from: connectedAccount.handle, + to: sendMessageInput.to, + subject: sendMessageInput.subject, + text: sendMessageInput.body, + }); + break; } default: assertUnreachable( diff --git a/packages/twenty-website/public/images/lab/is-imap-enabled.png b/packages/twenty-website/public/images/lab/is-imap-enabled.png deleted file mode 100644 index d33c4fc836bbb3719b64b504fbb5dffdcc28b034..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107036 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 Bv2p+a diff --git a/packages/twenty-website/public/images/lab/is-imap-smtp-caldav-enabled.png b/packages/twenty-website/public/images/lab/is-imap-smtp-caldav-enabled.png new file mode 100644 index 0000000000000000000000000000000000000000..c741d352cf2c4f7e7f3951d120b507a55c5d708c GIT binary patch literal 133233 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

2SGWEhGvHLs5I^ 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 literal 0 HcmV?d00001