Commit Graph
57 Commits
Author SHA1 Message Date
rustmailer 4083f0bffd normalize display names for special Graph API folders (INBOX, SENTITEMS, DRAFTS) 2025-11-05 17:29:36 +08:00
rustmailer bd9d161559 feat: Implement Outlook API email deletion support 2025-11-05 14:06:52 +08:00
rustmailer 8bb5c0f7a7 feat: Make /move-messages and /copy-messages compatible with Graph API accounts 2025-11-05 11:54:35 +08:00
rustmailer d4645ea9d6 feat: Make /get-thread-messages and /list-threads compatible with Graph API accounts 2025-11-05 10:26:02 +08:00
rustmailer c2ec7e869f feat(outlook): implement retrieve_outlook_raw_email to fetch and save EML via Graph API 2025-11-05 09:55:49 +08:00
rustmailer af345b8a95 feat: Add EmailAddedToFolder event callback for Graph API accounts 2025-10-30 21:34:07 +08:00
rustmailer 690c289aac feat: append-reply-to-draft supports Graph API
- Adjust AppendReplyToDraft request payload:
  * `mailbox` is only required for IMAP accounts; Graph API ignores it
  * Remove `draft_folder_path`; IMAP automatically uses `mailbox` attribute to filter
- API now returns `ReplyDraft` containing:
  * `id` of the created draft
  * mailbox name of the draft
2025-10-30 20:45:25 +08:00
rustmailer a51b95815c feat: add /disk-cache endpoint to manually clear disk cache 2025-10-30 06:37:40 +08:00
rustmailer 64b57f4ac2 feat: add GraphAPI account support for message-content endpoint 2025-10-30 06:37:12 +08:00
rustmailer bbcc1348ff feat(graph): add Graph API support and GraphAPI account type 2025-10-28 19:39:49 +08:00
rustmailer de8067f586 feat: Add Graph API synchronization process 2025-10-27 06:59:07 +08:00
rustmailer 55d54785cd update 2025-10-23 20:14:46 +08:00
rustmailer 5d6a721e77 add Graph tests 2025-10-22 21:27:23 +08:00
rustmailer c6bf402707 debug: log UID batch content in diff_uids_and_flags to investigate empty remote_uids_set 2025-10-22 19:38:21 +08:00
rustmailer 7522ffc289 feat: add folder_limit per account
- Add `folder_limit` field to account model
- Support limiting sync per folder/label for both IMAP and Gmail API accounts
- Ensures each folder/label syncs at most `folder_limit` messages
2025-10-18 15:23:58 +08:00
rustmailer f88791741c chore: Ensure idempotent writes when storing Gmail API–synced email metadata locally. 2025-10-17 09:47:10 +08:00
rustmailer 59c771a363 fix(gmail): make header name matching case-insensitive for robustness 2025-10-17 09:09:14 +08:00
rustmailer 3096208b59 fix(sync): optimize account cache cleanup during full sync to prevent potential thread blocking 2025-10-15 10:40:45 +08:00
rustmailer 1a240b8f6b Update flow.rs 2025-10-14 22:38:38 +08:00
rustmailer b73af25d71 sync: share semaphore between IMAP and Gmail API to limit concurrency and reduce CPU load 2025-10-10 10:50:20 +08:00
rustmailer 4c4aeaceb7 Reduce Gmail metadata fetch concurrency from 5 to 1 to mitigate high CPU usage 2025-10-09 00:21:22 +08:00
rustmailer 57035bbc95 debug(imap): add detailed mailbox and matched folder logging for Sent folder investigation 2025-10-08 16:44:10 +08:00
rustmailer bd6efb153c refactor: merge uid and mid into a single id field in EmailAddedToFolder and EmailEnvelopeV3 2025-10-08 12:05:31 +08:00
rustmailer 60041ee59f feat: unify UID/MID and UIDs/MIDs into single id/ids fields 2025-10-03 21:20:04 +08:00
rustmailer e6225d13bd fix(api): remove mailbox/label filtering so that get-thread-messages returns full conversation threads across INBOX and SENT 2025-10-01 00:55:01 +08:00
rustmailer 16c84abe67 refactor(list-messages): switch from page-based to cursor-based pagination
- Changed `list-messages` API from page/page_size to cursor/next_page_token
- Aligns pagination approach with Gmail API for easier integration
- Frontend updates to handle cursor-based navigation
2025-09-28 07:39:40 +08:00
rustmailer 08ef77c23c feat(gmail): make search API 2025-09-24 13:30:25 +08:00
rustmailer 4c00e45657 refactor(gmail): switch Gmail account message deletion to batch API for efficiency 2025-09-24 13:29:49 +08:00
rustmailer 40e8004f4f feat(mail): add raw email retrieval support for Gmail API accounts 2025-09-20 03:37:57 +08:00
rustmailer a54e3c9f18 feat(api): update reply and forward endpoints to support Gmail API accounts 2025-09-19 09:47:47 +08:00
rustmailer 05af9e82e9 feat(mailbox): extend MailboxTransferRequest for Gmail API support 2025-09-18 06:41:41 +08:00
rustmailer 0a038ffe94 feat(gmail): add compatibility for Gmail API send message endpoint 2025-09-17 09:56:04 +08:00
rustmailer 16ccdb00b7 feat(mail): make message deletion API compatible with Gmail API 2025-09-15 06:44:15 +08:00
rustmailer 60f3eaf239 feat(gmail api): handle label change events in history callback 2025-09-14 17:11:09 +08:00
rustmailer b7245a302d fix: remove filtering of labels with MessageListVisibility=hide 2025-09-11 22:11:41 +08:00
rustmailer fa2ecf1867 chore: add debug logs for Gmail label synchronization 2025-09-11 21:27:07 +08:00
rustmailer cbdc64fe1b chore: Enhance Gmail message fetch, add retry, increase timeout, reduce concurrency 2025-09-11 02:49:27 +08:00
rustmailer 70f499d403 Fix: date parsing for non-standard Gmail Date headers 2025-09-11 02:47:51 +08:00
rustmailer a91cc813ca fix(mailbox): make create, delete, update folder/label APIs compatible with Gmail API 2025-09-10 16:38:42 +08:00
rustmailer 5edbebfbf3 chore(disk cache): limit total cache items to 10000 2025-09-10 16:35:58 +08:00
rustmailer ee7f0673c7 fix: normalize URL-safe base64 to standard base64 when decoding 2025-09-09 04:18:51 +08:00
rustmailer 9d612ad81d Adapt Gmail API accounts: fetch email content & attachments, webhook for new emails, and frontend support 2025-09-08 11:03:00 +08:00
rustmailer a849c20d97 feat: add support for creating reply drafts in Gmail API accounts 2025-09-04 04:22:50 +08:00
rustmailer 7926ba7a46 feat(gmail): add list_threads & get_thread_message support 2025-09-04 02:20:52 +08:00
rustmailer 20e1a1cc4e refactor(gmail): update account sync logic and related files 2025-09-03 20:17:30 +08:00
rustmailer 7411233b48 feat: Add Gmail API sync workflow and integrate related data models 2025-09-01 23:50:00 +08:00
rustmailer 5851ef8e9b fix: Sync newly detected IMAP mailboxes according to configured time range 2025-09-01 23:46:47 +08:00
rustmailer 76d7d73f3f fix: skip mailbox sync when uid_validity is None 2025-08-29 14:32:38 +08:00
rustmailer 0dc9daeb6f fix(accounts): start sync task for IMAP/SMTP accounts 2025-08-28 15:38:58 +08:00
rustmailer fd64acc24f feat(account): add MailerType to support Gmail API and other mailers
- Introduced `MailerType` enum in Account model
- Enables selection of different mailer backends (e.g., Gmail API)
2025-08-28 03:20:49 +08:00