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

Установите почтовый сервер и сохраните вложения в определенном месте

Один клиент может отправлять мне свои файлы данных только по электронной почте, поэтому я хочу получить вложение из электронного письма и автоматически разместить его в нужном месте при получении электронного письма или в какое-то время в течение дня. Как я могу настроить почтовый сервер в Linux и делать то, что я описал выше?

Существуют различные подходы, которые можно настроить для принимающего пользователя. Двумя общими являются .forward, а procmail программа.

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

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

Вы могли бы использовать ripMIME (или другой аналогичный инструмент) в качестве mailbox_command в Postfix.

ripMIME -i <mime file> -d <directory> [-p prefix] [-e [header file]] [-vVh] [--version]
       [--no_nameless] [--unique_names [--prefix|--postfix|--infix]][--paranoid] 
       [--mailbox] [--formdata] [--debug][--no-tnef] [--no-quotedprintable] [--no-uudecode]

Options available :
    -i : Input MIME encoded file (use '-' to input from STDIN)
                    If <mime file> is a directory, it will be recursed
    -d : Output directory

Поэтому я бы попробовал (но на самом деле не тестировал) использовать что-то вроде этого:

mailbox_command = /path/to/ripMIME - -d /tmp/attachments --prefix

Если это не сработает, можно использовать другой подход. ripMIME против почтового ящика (или Maildir) в cron задание, которое сначала извлекает все вложения, а затем удаляет файл почтового ящика, например

ripMIME -i /home/mailuser/mail/Inbox -d /home/mailuser/attachments --prefix
rm /home/mailuser/mail/Inbox

Удаление почтового ящика после извлечения помогает избежать создания нескольких файлов вложений из одного сообщения, в то время как --prefix помогает избежать перезаписи существующих вложений, если ваш клиент использует то же имя файла в другой день.