<DKIM> Is OfflineIMAP right for my use case?

Nicolas Sebrecht nicolas.s-dev at laposte.net
Sun Jul 24 01:24:34 UTC 2016


On Sat, Jul 23, 2016 at 01:06:12PM +0200, Mike Murdoch wrote:

> Hello,

Hi,

> I've been trying to find solutions to ease my Email management for a
> while now. OfflineIMAP looks promising, but before I start setting
> things up, I'm wondering if it is even the right thing to use.
> 
> Current setup:
> - A couple of different Email accounts with different providers
> - Different devices (email clients) in different networks that should
> have access to all accounts
> - A home server
> 
> Requirements:
> - Grab Email from the provider a soon as possible, leave nothing behind
> (i.e. POP3 principle, delete from server)
> - Still allow synchronization of mail between clients
> - Make setup of a new client easier (don't want to add 10 accounts to
> each new device)
> 
> So I was thinking about using a sort of proxy on my home server. The
> idea is that the proxy grabs mail from all accounts and stores them
> locally. Then my clients only need to connect to this proxy via IMAP to
> see all mail and stay synchronized.
> 
> One way this could work is that each provider gets its own folder on the
> proxy. e.g. Gmail/Inbox, Gmail/Sent, etc.

I've never tried something like that. I think it's possible to get
something near to what to aim, though. Here's my idea:

- One devocot IMAP server (at home) serving as proxy.
- Create one account on the home dovecot server used by all the final
  devices.
- Configure each external account to synchronize via offlineimap to the
  home server.

While I did not think about this use case deeply, I see no reason why
this would fail. 

The main limitation is that offlineimap does NOT support deleting
synchronized emails. There is a possible workarounds:

1. By syncing all the remotes to the maildirs handled by Dovecot, one
folder (maildir) per account. Archive emails on the Dovecot server to
maildirs filtered in offlineimap (see the folderfilter configuration
option) so they are deleted on the remotes.  This might be done
automatically by scripts of your own (perhaps relying on the
postsynchook feature of offlineimap).

2. By using a temporary synchronization storage: offlineimap would sync
the maidlirs to the temporary location and a script moves the new emails
to the maildirs handled by Dovecot. On next sync, the emails would look
as deleted by offlineimap so it would propagate the deletions on the
remotes IMAP servers.

Option 2 looks the most suitable and flexible.

> A remaining issue is how to handle outgoing mail. If I have everything
> going through the proxy, how do I tell it which account to ultimately
> send with? And I *do* want to be able to send via any account.

First, sending emails relies on SMTP which is out of IMAP and
offlineimap. Emails need a path to go out. You might want to configure
your own SMTP server and tune the usual restrictions to allow outgoing
emails from the end-devices you have. Please, bear in mind this is NOT
our expertise so requesting teams of SMTP softwares is a good advice.

> Is OfflineIMAP suitable for this kind of task? If not, is there
> something else?

Your use case is not usual. I'm not aware of a tool providing what you
want out of the box. However, I'm pretty sure you can get what you want
with any IMAP server (Dovecot is a good choice, it's known to work with
offlineimap), offlineimap and perhaps some scripts of your own depending
on the level of integration you want.

> Should I even bother with OfflineIMAP or wait for imapfw to mature?

imapfw would be natural and good choice to build your own product. As
you know, it's still not ready and you should not expect it in the short
term. I have no idea when we'll get something working. Also, you should
not expect others to implement your own use case.

BTW, I'm welcoming contributors for both products if you think this
worth the efforts.


Hope this helps!

-- 
Nicolas Sebrecht



More information about the OfflineIMAP-project mailing list