Я соглашаюсь с проверкой длины особенно, если Ваше рассмотрение Смешивания Unix и серверов Wintel как глубина направляющих может отличаться значительно, и для определенных серверов не может быть возможно быть смешанным с другими серверами. Межсетевые устройства очень виновны в этом также, поскольку я видел несколько с нестандартными глубинами, которые потребовали, чтобы серверы были установлены в стойку в других корпусах, поскольку длина направляющей не была достаточно большой, чтобы серверы были установлены в стойку после того, как Корпус был обновлен для работы с межсетевыми устройствами.
С помощью ripmime и cronjob вы можете решить эту проблему. Ripmime - это инструмент для получения MIME-частей письма. Вы можете получить текст и вложения и извлечь их в папку. С помощью cronjob вы можете запустить сценарий оболочки, который просматривает Maildir и запускает ripmime для каждой почты.
Установите ripmime из http://www.pldaniels.com/ripmime/
После этого я использую этот сценарий оболочки для загрузки вложений:
for file in /var/spool/cyrus/mail/x/user/username/*. ; do
echo "$file"
ripmime -i $file -d /home/username
rm $file
done
С помощью crontab -e вы можете добавить эту задачу:
*/1 * * * * sh /home/ftp-scripts.sh >> /var/log/ripmime_ftp.log
После получения почты в / var / spool / ... этот сценарий вызывает ripmime и извлекает вложение в каталог ftp.
Я не могу поддерживать то, что вы хотите! Электронная почта не предназначена для отправки файлов. См. Этот вопрос и ответы: Почему у нас все еще есть такие ограничения размера вложений электронной почты?
FTP уже предназначен для передачи файлов. Поэтому не упаковывайте файлы в сообщения электронной почты для их передачи. Если вы не не хотите передавать файлы через FTP, тогда ищите что-нибудь другое. Но не по электронной почте.