Commit Graph
81 Commits
Author SHA1 Message Date
rustmailer 4b0d571cf2 feat(smtp): implement built-in SMTP server for mail ingestion
- Add lightweight SMTP server support using `lettre` and `tokio`.
- Implement `DATA_SMTP_INGEST` permission check for inbound mail.
- Support real-time email archiving via SMTP protocol.
- Integrate with existing EML index manager for automated indexing.
2026-03-10 01:25:02 +08:00
rustmailer a273b7f5e1 Fix eml ID conversion issue 2026-03-07 17:50:20 +08:00
rustmailer 54ed2c3c0a chore: optimize CPU usage #159 2026-03-06 22:54:38 +08:00
rustmailer 5e3d0f1c06 fix : Memory usage keeps growing #167 2026-03-06 21:04:36 +08:00
rustmailer a9a9b4a85f fix delete emails 2026-03-06 20:49:18 +08:00
rustmailer c15fe2a503 remove unnecessary code. 2026-03-06 16:03:43 +08:00
rustmailer 5f013ea173 add regex pattern validation via DuckDB 2026-03-05 16:41:30 +08:00
rustmailer d2936ed4a7 refactor!: replace Tantivy search engine with DuckDB 2026-03-03 12:30:26 +08:00
rustmailer 2295585deb update 2026-02-01 21:58:54 +08:00
rustmailer 57afa30b5b fix: make pst recipient_table optional 2026-02-01 16:32:42 +08:00
rustmailer 673e593c4f fix: treat ID command as best-effort and ignore failures 2026-01-29 19:19:39 +08:00
rustmailer 579822762f chore: remove bb8 pool for IMAP; create a new session per operation to avoid stale connections 2026-01-28 20:41:17 +08:00
rustmailer d63b1e0d7c fix: batch size validation 2026-01-28 20:39:47 +08:00
rustmailer bdbbc04832 chore: adjust IMAP connection timeout configuration 2026-01-28 13:20:09 +08:00
rustmailer fed28c3eca fix: add tolerant HTML-to-text extraction (#141) 2026-01-28 13:19:33 +08:00
rustmailer e29e8d76b2 fix: dashboard fails with error 500 #80 2026-01-24 20:42:12 +08:00
rustmailer ecb81ac344 feat: limit concurrent mailbox downloads to 5 per account 2026-01-23 13:06:28 +08:00
rustmailer 694e5ecbec feat: reset the login password #126 2026-01-22 13:19:21 +08:00
rustmailer fcd19b1c9f Fix: storage dir creation logic and permissions issues ( #120, #121) 2026-01-21 00:10:07 +08:00
rustmailer 9b49005522 fix: "unknown" sender when importing PST #117 2026-01-20 01:22:06 +08:00
rustmailer 7240be8c31 feat: Separate Docker config file location and email data storage location #81 2026-01-19 22:53:03 +08:00
rustmailer 0d20a9676a feat(search-ui): optimize search UI 2026-01-19 01:52:07 +08:00
rustmailerandGitHub 48f8092b5a Merge pull request #113 from ktdd/search-improvements-v1
Search improvements
2026-01-14 14:32:38 +08:00
rustmailer f82b20e2fd chore: Set minimum username length to 3 #106 2026-01-14 01:11:01 +08:00
rustmailer 97c3db3bd2 chore: default to binding 0.0.0.0 and support binding IPv6 addresses. 2026-01-14 00:27:31 +08:00
rustmailerandGitHub 82fb2a02bc Merge pull request #110 from op3/feat/support-listening-on-ipv6
Support listening on IPv6 addresses
2026-01-13 23:59:02 +08:00
rustmailerandGitHub c61977ce5c Merge pull request #107 from metlos/no-cap-on-sync-interval
Remove the maximum from the sync_interval_min.
2026-01-13 23:51:14 +08:00
rustmailer 3b040d0cd6 feat: add support for Outlook PST file import #105 2026-01-13 23:32:18 +08:00
rustmailer 5d3c319a67 fix: skip invalid MBOX files during import 2026-01-13 23:31:45 +08:00
ktdd ad2a43aa35 Search improvements 2026-01-13 12:48:55 +02:00
Oliver Papst bc3eba5bf7 feat: change default bind address to :: for dual‑stack support
The socket bound to :: accepts both IPv6 and IPv4 (mapped) connections,
so this change enables IPv6 connectivity in addition to the existing
IPv4 behaviour.
2026-01-10 22:36:31 +01:00
Oliver Papst 4dc99b4a84 feat: Add IPv6 support for bichon_bind_ip configuration
Also try to parse the bind_ip address as std::net::Ipv6Addr to accept
both IPv4 and IPv6 addresses. The TcpListener of poem utilizes
ToSocketAddrs trait, which also supports IPv6.
2026-01-10 22:25:31 +01:00
Lukas Krejci 8ce8b9692d Remove the maximum from the sync_interval_min. 2026-01-09 01:35:58 +01:00
rustmailer 54a0a71c44 fix: Missing permission 'user:manage' #102 2026-01-07 23:01:25 +08:00
rustmailer b490923e17 refactor(search): search filtering and sorting 2026-01-07 16:40:45 +08:00
ktdd 7edd7c2e35 Updated presets and added a 'sort by' feature. 2026-01-06 12:33:09 +02:00
rustmailer 0c46432150 fix: Inline attachments are not counted as attachments and are not shown when searching for emails with attachments. 2026-01-06 16:28:55 +08:00
rustmailer 55e97510c4 fix: Folder limit cannot be empty #97 2026-01-05 21:32:00 +08:00
rustmailer e56fe5ebea feat(mailbox): support mailbox cleanup #96 2026-01-05 18:27:40 +08:00
rustmailer 3f4b37be17 feat(cli): add interactive email import tool for EML, MBOX, and Thunderbird
- Implement `bichonctl` interactive CLI using `dialoguer`.
- Support recursive EML directory scanning with folder structure preservation.
- Support single MBOX file streaming import.
- Support Thunderbird profile import with automatic `.sbd` hierarchy detection.
- Add batch processing (Base64 encoding & batch API requests) for improved performance.
2026-01-05 14:31:04 +08:00
rustmailer 09375ee11c fix: #94 2026-01-01 20:28:23 +08:00
rustmailer b2e43b0907 fix: skip default admin role validation when global_roles is None #93 2026-01-01 15:24:51 +08:00
rustmailer ef891b20c3 fix(account): update sync range and handle all-mode reset 2025-12-31 22:57:20 +08:00
rustmailer a6216c2ce6 feat: support restoring single message to IMAP #77 2025-12-31 22:56:06 +08:00
rustmailer ae916574de Fix: modifying the admin user 2025-12-31 02:43:57 +08:00
rustmailer f49929dd67 Update message.rs 2025-12-30 22:41:51 +08:00
rustmailerandGitHub e666f76d87 Merge branch 'main' into feat/envelope-endpoint-and-api-improvements 2025-12-30 22:32:11 +08:00
rustmailer 7fb6575f8d feat: use email 'Date' header for statistics and search filtering #87 2025-12-30 22:21:53 +08:00
rustmailer 455e6b1a75 feat: support user appearance preferences with persisted theme and language #85 2025-12-30 15:09:41 +08:00
rustmailer 62d956c7d6 feat: increase password max to 256, fix i18n, and force re-login #83
- Raise password maximum length from 32 to 256 characters
- fix profileSchema to accept `t` for proper internationalization
- Invalidate user's WebUI token on password change, requiring re-login
2025-12-30 11:05:07 +08:00