V__
a month ago
A small warning for anyone wanting to use this in a setting with legal requirements:
> Please note that the term “sync” in Bichon may be misleading—“download” might be more accurate. [1]
If an email is deleted before bichon can download it, then it may not get archived. Most of the time the legal requirements are, that all emails hitting an inbox have to be archived, regardless of user action.
For those cases, a solution like mailpiler is better. Just BCC any incoming and outgoing mail to mailpiler and that is it.
[1] https://github.com/rustmailer/bichon/wiki/FAQ-(Frequently-As...
rustmailer
a month ago
Bichon connects to the IMAP server via IMAP and uses a sync interval, for example 10 minutes. Every 10 minutes, Bichon downloads emails from the IMAP server to the local machine, then stores and indexes them. If an email is permanently deleted within that interval, Bichon has no way to detect it. That is indeed how Bichon currently works.
pabs3
25 days ago
IMAP has mechanisms to notify clients about incoming emails (IIRC IMAP IDLE), have you considered implementing those?
rustmailer
24 days ago
IMAP IDLE tends to be unstable and unreliable in real-world deployments, especially for long-running background services. It also introduces significant operational and implementation complexity, which makes it harder to maintain and reason about. For a system like Bichon, a simpler diff-based approach is usually easier to operate and more predictable.
pabs3
23 days ago
Could you use IDLE to trigger the diffs?