Как я могу справиться с этим:
У нас есть система электронной почты на основе DOVECOT IMAP, разные пользователи, разные логины.
Я хочу каким-то образом синхронизировать все отправленные папки некоторых пользователей, чтобы один пользователь мог проверить, что другой пользователь написал, например, клиентам. Отправленные электронные письма должны копироваться в папку отправленных каждого указанного пользователя.
Основная идея состоит в том, что каждый пользователь должен иметь возможность заглянуть в свою папку отправленных, чтобы увидеть, что он или другой написал клиенту. То, что клиент пишет и отправляет во входящие, не должно синхронизироваться. Потому что заказчик может обращаться к разным темам для каждого пользователя.
Таким образом, если клиент обращается к пользователю user1, то пользователю user2 не нужно копировать. Но если user1 адресует что-то клиенту, это должно быть синхронизировано с папкой отправки 27 пользователей.
Я знаю, что это занимает много места на диске.
Я хочу, чтобы электронная почта SENT пользователя user1, user2 ... usern была смешана во всех отправленных папках этих пользователей. Я не хочу использовать общую папку, потому что это опасно, один пользователь может по ошибке удалить оригиналы.
Таким образом, нам понадобится двусторонняя 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 пользователей?
Вторая проблема - это права. Как я могу выполнить rsync таким образом, чтобы права Imap были таким образом, чтобы скопированные электронные письма принадлежали владельцу почтового ящика, с которым они синхронизируются? (Dovecot права не меняет)
Третья проблема - заголовки должны сохраняться.
ОБНОВЛЕНИЕ 1 Я НЕ хочу создавать общие папки с ACL и доступом для чтения и записи, а также перенастраивать MUA для использования их в качестве отправленной папки. Это мое более элегантное и сложное решение, но мне оно не нужно.
ОБНОВЛЕНИЕ 2 Решение слепой BCC неоптимально, потому что оно помещает отправленные электронные письма в INBOX других пользователей и меняет заголовки.
Это ужасный подход. Демон IMAP рассчитывает получить полный контроль над структурой своей файловой системы, и обход этого вручную никогда не является хорошей идеей.
Попробуйте вместо этого использовать списки управления доступом IMAP и разрешить всем читать / записывать общую общую папку и назначить ее отправленной папкой для ваших MUA. Чтобы прояснить это: этот подход не касается синхронизации. Имея общую папку и соответствующие разрешения, вы разрешаете пользователю A читать / писать в папку пользователя B. Если вы настроили свои почтовые клиенты (MUA) на использование этой общей папки в качестве папки для отправки, все будут просто использовать ее, и нет необходимости в странных обходных путях.
Другой подход: создайте скрытую копию для общей учетной записи для всей исходящей почты. Это также может быть выполнено на уровне MTA.
Из руководства rsync:
rsync -avz foo: src / bar / data / tmp
Это рекурсивно перенесет все файлы из каталога src / bar на компьютере foo в каталог / data / tmp / bar на локальном компьютере. Файлы передаются в "архивный" режим, что гарантирует, что символические ссылки, устройства, атрибуты, разрешения, права собственности и т. д. сохраняются в передаче. Кроме того, сжатие будет использоваться для уменьшения размера передаваемых частей данных.
Режим архива - ключ -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
должен решить проблему с разрешениями.