Назад | Перейти на главную страницу

электронные письма из определенной папки пользователя, которые будут заархивированы и перенаправлены на внешний почтовый ящик

Я пытаюсь перенаправить все электронные письма, которые хранятся (перемещаются) в определенную папку пользователя, на заранее определенный адрес электронной почты.

например

Любая новая электронная почта, хранящаяся в / home / mycooluser / mail / spam-mail, будет перенаправлена ​​на spamreport@mycooldomain.com.

Я пытаюсь добиться этого с помощью некоторой конфигурации procmail, проблема в том, что сообщения необходимо заархивировать и отправлять в виде вложения.

Может ли кто-нибудь пролить свет на то, как я мог этого добиться?

Контекст, в котором работает Procmail, - это когда вы принимаете новое сообщение. Внутри вашего .procmailrc вы обычно еще не знаете, где будет храниться доставленное вами сообщение, потому что решение теперь это работа Procmail. После того, как он принял решение, можно сделать дополнительные действия; но ваше требование заархивировать папку кажется неуместным для такой логики. Я полагаю, вы не хотите архивировать и отправлять всю папку каждый раз, когда в нее добавляется одно новое сообщение ...?

Более естественной реализацией будет периодическая работа cron. Решите, как часто он должен запускаться (ежечасно? Ежечасно?), И должен ли он стирать сообщения, которые он успешно заархивирует и отправляет. Если с момента предыдущего запуска в папке нет сообщений, очевидно, не архивируйте и не отправляйте ничего.

Если вы действительно хотите использовать для этого Procmail, логика выглядит примерно так:

:0c
!otheraddress@example.net
:0:
Foldername

Если Foldername папка maildir, потеряйте двоеточие после :0 и настройте имя папки на правильный синтаксис (папки maildir не требуют блокировки).

! просто пересылает без застежки. Нетрудно узнать, как также заархивировать, но я не буду развивать это дальше, поскольку полагаю, что это не совсем то, что вам нужно или нужно, как объяснялось выше.