%20%D0%B2%20%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%20linux%20(%D0%BF%D0%BE%20%D0%BE%D1%82%D0%B4%D0%B5%D0%BB%D1%8C%D0%BD%D0%BE%D1%81%D1%82%D0%B8).png)
Кто-нибудь знает, как скопировать все новые пришедшие письма (в Fedora Linux) и сохранить их в каталоге Linux (не в какой-то другой почтовой папке, а в каталоге файловой системы Linux)?
Мы используем Procmail в качестве системы доставки. Я посмотрел много документов, но все они показывают только две модели относительно копирования:
- Добавить в mail.bkp — не знаете, зачем добавлять все письма в один файл?
- Поместите все в /dev/null — для обработки спама
Мне нужен «легкий» механизм для копирования/архивации всех новых писем в файловую систему Linux, например
- /home/имя_пользователя/data/archive/mail1.x
- /home/имя_пользователя/data/archive/mail2.x
- /home/имя_пользователя/data/archive/mail3.x
и затем я планирую использовать прослушиватель каталогов Java для параллельного чтения этих писем.
Пожалуйста, дайте мне ваш ценный совет.
решение1
Решением вашей проблемы может стать сохранение копии письма в формате Maildir с помощью файла procmailrc.
Maildir сохраняет каждое письмо как отдельный файл, что решает одну вашу проблему. Кроме того, если вы скопируете письмо, оно все равно попадет в другие существующие расположения:
Ваш procmailrc будет иметь следующие (или похожие) строки в верхней части:
:0c:
$HOME/Maildir/
Вам все равно придется создать папку Maildir
в вашем домашнем каталоге.
решение2
Доставка в каталог только для того, чтобы иметь сложную систему для мониторинга этого каталога, довольно неудобна. Если ваша программа Java может читать стандартный ввод, просто перенаправьте его напрямую в него.
:0
| /path/to/java -crash -boom -bang -coredump=always