Сделать фотографию по электронной почте и отправить ее в твиттер
На почтовый сервер приходит электронное письмо с прикрепленной фотографией (например, предупреждение о движении от камеры безопасности), и я хотел бы переслать эту фотографию в учетную запись Twitter через DM. Я думаю, что у меня есть все инструменты, необходимые для этого, но я не собрал их все вместе.
- постфикс
- oysttyer
- Procmail
- ImageMagick
- голубятня (можно добавить сито / ямку)
- root-доступ для установки чего-либо еще
В настоящее время я могу отправить текстовое сообщение о том, что "с фотографией было предупреждение о движении, проверьте электронную почту", но это неоптимально.
Решение, которое я считаю лучшим (хотя я и открыт), состоит в том, чтобы выяснить, как извлечь изображение из электронного письма и сохранить его в доступном для http месте на сервере, а затем создать ссылку на это местоположение в DM. Тем не менее, я открыт для любых других идей.
1 ответ
ОК, у меня есть рабочее (если ужасное) решение.
Во-первых, используя ripmime, я передаю сообщение в ripmime из procmail. Это создает кучу мусорных файлов вместе с файлом изображения, который я хочу. Я горжусь этими файлами в веб-папке, а затем запускаю задачу cron, чтобы проверить URL-адрес изображения и удалить файлы мусора.
#!/bin/bash
BASE="/usr/local/www/photodrop/"
PHOTO=`find $BASE -cmin -2 -type f -name="*.jpg" -exec basename {} \;`
URL="http://www.example.com/photodrop/$PHOTO"
echo $URL
oysttyer -runcommand="/dm @[user] $URL"
В procmail я просто передаю сообщение в ripmime
:0
| ripmime -i - -v -d /usr/local/www/photodrop/
Я просмотрел несколько других пакетов MIME (например, munpack), но им не нравилось принимать сообщения по конвейеру, и munpack специально требовал путь к файлу, так что это было бесполезно. Итак, это работает. Не прошло.
В целях безопасности я удаляю изображения (собственно, я их перемещаю) через 5 минут.