我该如何处理这个问题:
我们有一个基于DOVECOT IMAP的邮件系统,不同的用户,不同的login。
我想以某种方式rsync所有发送的一些用户的文件夹,所以一个用户可以检查另一个用户已经写了例如给客户。 发送的电子邮件应该复制到指定的每个用户的发送文件夹。
基本的想法是,每个用户都应该能够查看他发送的文件夹,看看他或她写了什么给客户。 客户写入INBOX的内容不应同步。 因为客户可能会为每个用户提供不同的主题。
所以如果客户地址给user1的东西,user2不需要拷贝。 但是,如果user1向客户发送消息,它应该同步到27个用户的发送文件夹。
我知道这使用了大量的磁盘空间。
我最终想要将user1,user2 … usern的SENT电子邮件混合到此用户的所有已发送文件夹中。 我不想使用共享文件夹,因为这是危险的,一个用户可能会误删除原件。
所以我们需要在/ home / user2 / mail / sent / cur和/ home / user1 / mail / sent / new下使用/ home / user2 / mail /发送双向rsync / home / user1 / mail / /新,是什么意思
rsync -rtu --delete /home/user1/mail/sent/cur /home/user2/mail/sent/cur rsync -rtu --delete /home/user1/mail/sent/new /home/user2/mail/sent/new
第一个问题是当我有27个用户时如何解决它?
第二个问题是权利。 我怎样才能rsync权限的方式,复制的电子邮件应该属于他们同步的邮箱的所有者? (达夫科特不改变权利)
第三个问题是标题应该保留。
更新1我不想创build具有ACL的公用文件夹,并读取写入访问权限,并重新configurationMUA以使用它们作为发送的文件夹。 这是我的更优雅和复杂的解决scheme,但我不想要它。
更新2一个盲BCC解决scheme是不理想的,因为它将发送的电子邮件放在其他用户INBOX中,它会更改标题。
从rsync手册:
rsync -avz foo:src / bar / data / tmp
这将recursion地将机器foo上的src / bar目录下的所有文件转移到本地机器上的/ data / tmp / bar目录中。 文件以“归档”模式传输,确保传输中保留符号链接,设备,属性, 权限,所有权等 。 此外,将使用压缩来减less传输的数据部分的大小。
归档模式是-a开关。 修改你的命令:
rsync -artu --delete /home/user1/mail/sent/cur /home/user2/mail/sent/cur rsync -artu --delete /home/user1/mail/sent/new /home/user2/mail/sent/new
应该解决权限问题。
这是一个可怕的方法。 IMAP守护进程希望完全控制其文件系统结构,并且手动规避这个从来就不是一个好主意。
尝试使用IMAP ACL,并允许每个人读/写一个共同的共享文件夹,并将其指定为您的MUA发送的文件夹。 清楚地说明:这种方法不是关于同步。 使用共享文件夹和适当的权限,您允许用户A读取/写入用户B的文件夹。 如果您将邮件客户端(MUA)configuration为使用此共享文件夹作为发送文件夹,则每个人都使用此方式,而不需要奇怪的解决方法。
另一种方法:为所有外发邮件创build一个共享帐户的BCC。 这也可能在MTA级别上处理。