Сделать фотографию по электронной почте и отправить ее в твиттер

На почтовый сервер приходит электронное письмо с прикрепленной фотографией (например, предупреждение о движении от камеры безопасности), и я хотел бы переслать эту фотографию в учетную запись Twitter через DM. Я думаю, что у меня есть все инструменты, необходимые для этого, но я не собрал их все вместе.

  1. постфикс
  2. oysttyer
  3. Procmail
  4. ImageMagick
  5. голубятня (можно добавить сито / ямку)
  6. 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 минут.

Другие вопросы по тегам