diff --git a/packages/twenty-server/src/modules/messaging/message-folder-manager/drivers/imap/services/imap-get-all-folders.service.ts b/packages/twenty-server/src/modules/messaging/message-folder-manager/drivers/imap/services/imap-get-all-folders.service.ts index b8eb1ecd83..f2a0c1a374 100644 --- a/packages/twenty-server/src/modules/messaging/message-folder-manager/drivers/imap/services/imap-get-all-folders.service.ts +++ b/packages/twenty-server/src/modules/messaging/message-folder-manager/drivers/imap/services/imap-get-all-folders.service.ts @@ -102,7 +102,7 @@ export class ImapGetAllFoldersService implements MessageFolderDriver { pathToExternalIdMap.set(mailbox.path, externalId); if (this.isValidMailbox(mailbox, folders)) { - const standardFolder = getStandardFolderByRegex(mailbox.path); + const standardFolder = getStandardFolderByRegex(mailbox.name); if (!shouldCreateFolderByDefault(standardFolder)) { continue; diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/imap/utils/__tests__/get-sent-folder-candidates-by-regex.util.spec.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/imap/utils/__tests__/get-sent-folder-candidates-by-regex.util.spec.ts index 5334507c66..b6fd97b5f4 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/imap/utils/__tests__/get-sent-folder-candidates-by-regex.util.spec.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/imap/utils/__tests__/get-sent-folder-candidates-by-regex.util.spec.ts @@ -141,4 +141,18 @@ describe('getSentFolderCandidatesByRegex', () => { expect(result).toEqual([]); }); + + it('matches Sent folder when nested under INBOX', () => { + const input: ListResponse[] = [ + { path: 'INBOX', name: 'Inbox' } as ListResponse, + { path: 'INBOX/Sent', name: 'Sent' } as ListResponse, + { path: 'INBOX/Archive', name: 'Archive' } as ListResponse, + ]; + + const result = getImapSentFolderCandidatesByRegex(input); + + expect(result).toHaveLength(1); + expect(result[0].path).toBe('INBOX/Sent'); + expect(result[0].name).toBe('Sent'); + }); }); diff --git a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/imap/utils/get-sent-folder-candidates-by-regex.util.ts b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/imap/utils/get-sent-folder-candidates-by-regex.util.ts index 142330cffc..cbc601cd5c 100644 --- a/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/imap/utils/get-sent-folder-candidates-by-regex.util.ts +++ b/packages/twenty-server/src/modules/messaging/message-import-manager/drivers/imap/utils/get-sent-folder-candidates-by-regex.util.ts @@ -9,7 +9,7 @@ export function getImapSentFolderCandidatesByRegex( const regexCandidateFolders: string[] = []; for (const folder of list) { - const standardFolder = getStandardFolderByRegex(folder.path); + const standardFolder = getStandardFolderByRegex(folder.name); if (standardFolder === StandardFolder.SENT) { regexCandidateFolders.push(folder.path);