Hi folks.
Perhaps you find some time to look into this,... if you think I should better direct this do some dovecot mailing list,.. just tell :)
I'm trying to plan my mail system and would have some questions.
The overall idea is about the following:
- There is a (internet) server, which is the MTA (which will be postfix) and imap and/or pop3 server (which shall be, guess, dovecot!).
- Any spam filtering, virus-scanning, mail filtering happens on that server.
- I have not yet decided on whether to use maildrop for this or Sieve. Maildrop is nice, but has one major deficiency which I don't know how to work around.
- A few clients (that means I won't serve 100 of users) connect to that server via imap and should see all mails, etc. already in some fancy sorted hierarchy (that means filtered into different directories).
So far nothing complicated. But now...
Apart from spam, I never delete mail; and because I'm subscribed to many lists, I get a lot of mail.
Storage on my server is limited and it's located somewhere at my ISP, so I generally do not trust it with respect to safety... For both reasons, I want the canonical archive of all mail to be at home at some local server.
The local server should also be an imap server, so that I can access the archive from may computers at home.
The local server won't be available from the internet.
The local archive should have the same folder hierarchy as the internet server (I'd prefer not to filter twice).
Mail Flow:
I generally want to have _all_ mail (which is not sorted out because of being spam) to be archived at the local server.
But(!) I want to selectively keep (in addition) mail at the internet server. For example I may want to select the folder that contains all mail form some friend to be kept online completely. But I may want to decide that mailinglists keep only the last 10 days and/or 1000 messages of mail.
The idea is, that the local server regularly (when it is online/running) catches new mail from the internet server... and stores it in the archive.
So apart from new mail that has not yet been read, that local archive contains always all mails that are also on the internet server... the later may contain (for specific directories) the same, or just parts of.
The MUAs will then have two imap accounts, one to the internet server and one to the local archive,... each one being usable, depending on where I am.
- This is where my first problem arises: How can I implement that mail flow, especially:
- How do I secure that all mail is read from the internet server (i.e. that nothing is "forgotten"?
- How do I make sure that no mails are retrieved twice (or more)? A problem which I often had with pop, when the mail client crashed during sync?
- Further it must be secured, that when I delete something on the internet server, it is NOT deleted on the local server (on the next mail-fetching).... this is why I don't use the word "sync".
a) One stupid solution would be, that I duplicate all mail on the online server,... one part is for staying online, one part is for being fetched to the local archive. As soon as it was fetched... that copy gets removed (always). That solution would give a clean and secured separation of both? b) I don't think offlineimap or any other caching-like solution is the right thing... especially as one must always fear that such a cache may be accidentally wiped.
Are there better solutions than (a)?
Problem would be already a refinement of a working solution for (1) (but obviously not when using (1).(a) ). When e.g. reply to or forward a mail using the online server,... and that mail had already been fetched,... can I make the flag synced?
Is dovecot suitable for the local server?
Ideally of course, I would use dovecot there, too... because that would mean one piece of software less to understand.
I couldn't sue maildir locally, because I loose just to much space to the block fragmentation.
I'd prefer not to use dbox (the thing that the indices are crucial scares me a bit off).
a) When using mbox... is dovecot able to manage a really big folder hierarchy that basically ever keeps growing... with easily several 100k mails per folder... and that is in total already over 100GB?
- I would prefer to have fast full text search. Does dovecot provide this?
I was looking into database backed mail systems (again,... just for the local archive)... namely dbmail and archiveopteryx (are there other open source solutions?)... Not sure which of the two... or whether it's a good idea at all. I remember some dovecot wiki page that showed a comparison which said that both do not perfectly implement imap.
Any suggestions with respect to that?
Or is there even some SQL backend planned for dovecot?
Thanks a lot, Chris.