我该如何处理:
我们有一个基于 DOVECOT IMAP、不同用户、不同登录名的电子邮件系统。
我想以某种方式同步某些用户的所有已发送文件夹,以便一个用户可以检查另一个用户写给客户的内容。发送的电子邮件应复制到每个指定用户的已发送文件夹。
基本思想是每个用户都应该能够查看他发送的文件夹以查看他或其他人写给客户的内容。不应同步客户写入和进入收件箱的内容。因为客户可能会向每个用户提出不同的主题。
所以如果客户地址给user1什么的,user2就不需要复制进去了。但是,如果 user1 向客户发送地址,则应将其同步到 27 个用户的发送文件夹。
我知道这会占用大量磁盘空间。
我希望最终将 user1、user2 ... usern 的 SENT 电子邮件混合在该用户的所有已发送文件夹中。我不想使用共享文件夹,因为这很危险,一个用户可能会错误地删除原件。
所以我们需要双向 rsync /home/user1/mail/sent/cur 和 /home/user2/mail/sent/cur 和 /home/user1/mail/sent/new 和 /home/user2/mail/sent /新,什么意思
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 个用户时如何解决?
第二个问题是权利。如何以 Imap 权限的方式进行 rsync,使复制的电子邮件应属于它们同步到的邮箱的所有者?(Dovecot 不改变权利)
第三个问题是标题应该保留。
更新 1 我不想创建具有 ACL 和读写访问权限的通用文件夹并重新配置 MUA 以将它们用作发送文件夹。这是我的更优雅和更复杂的解决方案,但我不想要它。
更新 2 盲密件抄送解决方案不是最理想的,因为它将发送的电子邮件放入其他用户的收件箱并更改标题。
这是一种可怕的做法。IMAP 守护进程希望对其文件系统结构具有完全控制权,而手动规避这一点绝不是一个好主意。
请尝试改用 IMAP ACL,并允许每个人读/写一个公共共享文件夹,并将其指定为您的 MUA 的发送文件夹。明确一点:这种方法与同步无关。使用共享文件夹和适当的权限,您允许用户 A 读取/写入用户 B 的文件夹。如果您将您的邮件客户端 (MUA) 配置为将此共享文件夹用作已发送文件夹,那么每个人都只是使用它,并且不需要奇怪的解决方法。
另一种方法:为所有外发邮件创建一个密件抄送共享帐户。这也可以在 MTA 级别上处理。
从 rsync 手册:
rsync -avz foo:src/bar /data/tmp
这将递归地将所有文件从机器 foo 上的目录 src/bar 传输到本地机器上的 /data/tmp/bar 目录中。文件以“归档”模式传输,确保符号链接、设备、属性、 权限、所有权等 在传输过程中得到保留。此外,压缩将用于减少传输的数据部分的大小。
归档模式是 -a 开关。将您的命令修改为:
应该解决权限问题。