Один клиент может отправлять мне свои файлы данных только по электронной почте, поэтому я хочу получить вложение из электронного письма и автоматически разместить его в нужном месте при получении электронного письма или в какое-то время в течение дня. Как я могу настроить почтовый сервер в 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
помогает избежать перезаписи существующих вложений, если ваш клиент использует то же имя файла в другой день.