Лучшие практики для разбора электронных писем с Ruby - PullRequest
3 голосов
/ 09 августа 2009

Привет разработчикам Ruby / Rails / Merb!

В настоящее время я работаю над веб-проектом, который будет иметь возможность общаться с клиентами по электронной почте. Итак, допустим, я создал учетную запись для клиента в своей панели администратора, а затем создал тему / тему для обсуждения вопросов, задач и других связанных с работой вещей. Итак, клиент получит уведомление по электронной почте. Также клиент сможет войти в систему и написать ответы в системе. Но я пытаюсь сделать следующее: после того, как клиент ответил на уведомление (которое содержит специальный идентификационный код сообщения), мне нужно импортировать этот ответ в поток. Это делает общение между клиентами действительно удобным.

Кроме того, решение должно работать и с вложенными файлами.

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

Я видел такой пример в программном обеспечении BaseCamp 37signals.

Вопрос: Каковы наилучшие практики для этого?

Ответы [ 3 ]

1 голос
/ 09 августа 2009

Я полагаю, что ваше собственное решение, скрипт извлечения почты, было бы лучшим способом для этого. Отправка почты или иное прямое получение почты от ruby ​​может привести к потере сообщений, если в вашем приложении возникли проблемы. Позвольте почтовому серверу выполнять тяжелую работу и время от времени опрашивать его.

Ruby поставляется с поддержкой Net::IMAP в стандартной библиотеке.

1 голос
/ 09 августа 2009

Другой подход, о котором следует знать, - это передача электронной почты из MTA (postfix, sendmail) прямо из файла aliases в программу, которую вы пишете, для обработки почты и помещения ее в ваше приложение.

/etc/aliases:
your-application-email: /path/to/your/email/receiving/script

Менеджер списков рассылки Mailman использует этот подход. Недостатком является то, что требуется доступ к почтовой конфигурации системы. Вероятно, не проблема с областью применения.

0 голосов
/ 21 августа 2009

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

Вы, вероятно, могли бы позаимствовать эту функциональность с минимальными изменениями: -)

redmine.org

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