2010-04-25 2 views
5

После того, как я услышал о git commit hooks, я подумал, может быть, есть такие вещи, как крючки электронной почты ...Есть ли такие вещи, как Email Hooks?

Возможно ли создать программу, в которой говорится: «Эй, вы только что получили электронное письмо, теперь запустите это ruby script "? Что-то вроде GMail Web Hook. Есть ли что-нибудь в этом роде? Я имею в виду, что я мог бы создать cron-вещь, которая проверяла мою электронную почту все время, но, возможно, есть более формальный способ.

Ищете онлайн-систему электронной почты, чтобы сделать это, а не сказать мою Mac Mail.

+0

[Как вытащить письма из GMail с Rails] (http://www.papodenerd.net/how-to-pull-emails-from -gmail-to-rails-with-attachments /) и [чтение писем с использованием POP3 в Ruby] (http://www.java-samples.com/showtutorial.php?tutorialid=1120) выглядят как начало. –

ответ

3

Вы можете попробовать smtp2web. Он в основном состоит из SMTP-демона, который отображает входящую электронную почту по HTTP-адресам. Затем вы можете запустить код на стороне сервера по вашему выбору на этих URL-адресах. Это всего лишь один из способов подойти к проблеме. Он разработан специально для использования с Google App Engine.

Вы можете либо запустить свой собственный экземпляр, либо просто sign up for mapping (например, [email protected] ->http://viatropos.com) и перенаправить на него свою учетную запись Gmail. Затем вы запускаете HTTP-сервер на viatropos.com.

EDIT: Я также нашел Astrotrain, который аналогичен, но написан на Ruby.

+0

, который выглядит потрясающе, но отрывочно из-за его минималистского характера :) –

+0

op, но он был [создан человеком Google] (http://almaer.com/blog/smtp2webcom-bridge-smtp-to-http -let-app-engine-accept-email), отлично! –

1

Ответ на это полностью зависит от того, как вы читаете свое письмо. В gmail, AFAIK нет доступных для пользователя крючков, но вы можете вытащить gmail через POP3 и сосать его через некоторую систему обработки почты, такую ​​как procmail.

1

Вы можете пересылать все входящие письма в скрипт. Обычно .forward файл в вашем домашнем каталоге, который выглядит примерно так будет достаточно:

|/path/to/your/script 

Сценарий должен быть исполняемым.

Об этом article. Это для PHP, но для Ruby это тоже самое. В скрипте вам просто нужно прочитать STDIN, чтобы получить сообщение.