Я хочу настроить почтовый сервер для предотвращения удаления электронной почты
предпочтительно один вспомогательный maildir, который безупречно работает с roundcube
какой почтовый сервер вы бы порекомендовали и насколько легко его настроить?
А .. Обмен?
Серьезно, это бизнес-вещи более высокого уровня, и это обычно то, где открытый исходный код просто терпит неудачу. Полностью интегрированные внутренние политики хранения, а также юридически безопасный аудит входящих и исходящих электронных писем (потому что легко поддельные журналы не будут рассматриваться в суде) являются одной из причин, по которым Exchange (все еще) в бизнесе (и растет).
Я не знаю ни одного открытого источника или другого шлюза, который делает то, что вы просите (особенно с maildir).
возможно, вы можете использовать концепцию «общей папки» в IMAP (Сайрусs есть он и, возможно, другие реализации службы imap). сделайте владельцем почтового ящика некоего скрытого пользователя и «поделитесь им» с настоящим владельцем. видеть Сайрус общие папки и acls в документации. он может до некоторой степени работать безупречно с roundcube и другими клиентами, если вы используете только imap. было бы интересно это реализовать.
в качестве примечания (не следует), уродливые взломы файловой системы заставят imap выдавать ошибки клиенту, не зная о внешних настройках:
chattr +t Maildir/{cur,new,tmp}
это переведет почтовые папки в режим только добавления и работает только в том случае, если MDA перемещает сообщения в папку и не выполняет открытие / запись непосредственно в maildir (вероятно, большинство MDA не выполняют второе, а первое).
уродливая уловка номер два, оболочка MDA для chattr + i сообщения после того, как оно записано в maildir. нет гарантии, что клиент не удалит сообщение между MDA write и chattr
Я допускаю, что это не решение "Pro Enterprise Web2.0", но это может сработать:
Макет Maildir выглядит так:
/path/to/maildir/
new/ # Unread mails
cur/ # Read mails
Так что можно было написать inotifywait
скрипт ожидает новых файлов в /path/to/maildir/cur
и удалите разрешение на запись, сделайте файл неизменяемым, что угодно.