6 Commits

Author SHA1 Message Date
113a72f1d6 refactor: replace rust-pop3-client with custom POP3 implementation
Replace third-party POP3 client with a custom implementation using
native-tls for direct TLS socket communication. This change ensures
email messages are retrieved as raw bytes without encoding conversions
that could corrupt email data.

Key improvements:
- Direct byte-level message retrieval preserves original email structure
- Proper handling of POP3 byte-stuffing (doubled leading dots)
- Eliminates dependency on rust-pop3-client which performed unwanted
  string conversions and line ending modifications
- Uses only native-tls for TLS connections (already a project dependency)
2025-12-12 10:37:49 +01:00
e0b0c5e964 fix: add X-WS-* header detection and attachment test
- Detect X-WS-* headers (e.g., X-WS-Attachment-UUID) as MIME headers
  to ensure attachment headers like Content-Type and Content-Disposition
  get normalized properly
- Add test case for attachment header normalization
- Bump version to 0.5.0

The normalization fixes malformed continuation lines in attachment
headers generated by Infomaniak webmail, where lines like
"name=file.pdf" are missing the required leading whitespace.
2025-12-10 15:22:55 +01:00
d1dd56341f chore: fix Dockerfile now that we have lib.rs 2025-12-04 12:15:42 +01:00
610d10fd1e feat: normalize emails 2025-12-04 11:59:30 +01:00
4482c4041e feat(docker): optimize build caching and fix binary path
- Copy Cargo files first to leverage Docker layer caching
- Build dependencies separately before copying source code
- Use cache mounts for cargo registry to speed up builds
- Fix binary path in final stage from cargo bin to target release
2025-11-21 07:33:42 +01:00
4ee1ef0a81 initial import 2025-11-20 14:59:04 +01:00