Интеграция с электронной почтой - PullRequest
12 голосов
/ 13 марта 2009

Мне было интересно, может ли кто-нибудь мне помочь. В некоторых веб-приложениях приложение будет отправлять электронные письма, например, при публикации нового сообщения. Затем вместо того, чтобы войти в приложение, чтобы опубликовать ответ, вы можете просто ответить на электронное письмо, и оно автоматически обновит веб-приложение вашим ответом.

Мой вопрос: как это делается и как это называется?

Спасибо

Ответы [ 6 ]

7 голосов
/ 13 марта 2009

Обычно:

1) Создайте специальную учетную запись электронной почты для этой цели.

2) Запрограммируйте монитор почтового ящика (скажем, fetchmail, поскольку это то, что я делаю).

3) Когда электронная почта поступает в учетную запись, fetchmail загружает электронную почту, записывает ее на диск и вызывает сценарий или программу, которую вы написали с файлом электронной почты, в качестве аргумента.

4) Ваш скрипт или программа анализирует электронную почту и предпринимает соответствующие действия.

Часть, которая обычно загадочна для людей, это часть fetchmail (# 2).

Специально для почтовых серверов (если вы достаточно управляете почтовым сервером для перенаправления писем в сценарии) :

1-3) Настройте адрес для написания сценария, который вы написали.

4) То же, что и выше.

5 голосов
/ 27 августа 2009

Вам стоит взглянуть на Лэмсон ; это позволит вам делать то, что вы описали, и многое другое.

4 голосов
/ 13 марта 2009

Из ваших тегов я предполагаю, что вы хотите сделать это в Django.

Существует приложение под названием jutda-helpdesk , которое делает именно то, что вы ищете, используя poplib, что означает, что вам просто нужно настроить POP3-совместимый адрес электронной почты.

Посмотрите на их get_email.py , чтобы узнать, как они это делают. Вы просто запускаете этот скрипт из cron.

3 голосов
/ 13 марта 2009

Это область, в которой мир Rails впереди: Rails имеет встроенную поддержку для получения электронной почты . Хотя конфигурация почтового сервера, вероятно, такая же.

2 голосов
/ 13 марта 2009

Чтобы увидеть рабочий пример того, как получать письма в Python и обрабатывать их, а затем использовать django, отметьте это: http://code.google.com/p/jutda-helpdesk/

1 голос
/ 13 марта 2009

Обычный инструмент, используемый для этой цели: procmail .

Вам необходимо настроить выделенный адрес электронной почты (это адрес "from_email" в исходящей электронной почте). Тогда ваш MTA, такой как postfix или qmail, будет доставлять почту на этот адрес в procmail вместо реального почтового ящика.

Затем Procmail может передать электронное письмо вашему скрипту Python, который может обновлять приложение. См. автономные сценарии django от James Bennett о том, как кодировать сценарии python, которые могут работать с вашим приложением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...