试图限制我的iPhone / iPad看到的IMAP文件夹/邮箱

(注意:我在Ubuntu 8.04.4 LTS上使用dovecot 1.0.10 ,是的,我知道我需要在明年之前升级:)

(注意:所讨论的SMTP / IMAP服务器仅仅服务于一些用户,当然,我在下面提出的,即使是这样,它也会成为任何大量用户的后勤噩梦)。

我已经注意到(并通过谷歌已经确认),iOS邮件应用程序在处理IMAP订阅,名称空间等方面是非常糟糕的。例如,我的iPhone和iPad将看到一切(所有邮箱,文件夹等),而客户端像雷鸟,高山等只看到我告诉他们看到。 这使得在邮箱之间移动邮件成为难以置信的痛苦,因为我必须滚动浏览一大堆事情。 mail_location中的dovecot.conf是:

 mail_location = mbox:%h/Mail/:INBOX=/var/mail/%u 

为了解决这个问题,我一直在考虑为用户foo做下面的事情:

  • 创build一个带有foo-ios虚拟用户的dovecot userdb ,其中的UID与真实(在/etc/passwdfoo用户以及/home/foo-ios的homedir相同。
  • ln -s /var/mail/foo /var/mail/foo-ios
  • mkdir -p /home/foo-ios/Mail
  • cd /home/foo-ios/Mail
  • ln -s /home/foo/Mail/mailbox-i-want-visible mailbox-i-want-visible
  • 为我想让iOS邮件应用程序显示的剩余有限邮箱/文件夹创build符号链接。
  • chown -R foo:foo /home/foo-ios
  • 更改iOS邮件应用程序设置以用户foo-ios而不是用户foologin。

这将工作或将有一些索引/文件损坏地狱,因为将有两组索引(一组居住在/home/foo-ios/Mail/.imap /home/foo/Mail/.imap和其他设置居住在/home/foo-ios/Mail/.imap )索引相同的底层mbox文件?

而且我更乐意听到更好的方式来与dovecot做到这一点! (或者听说dovecot 2.x在iOS设备上效果更好)。