2011-01-10 1 views
3

Я использовал basecamp, и для клиентов, чтобы ответить на сообщение и автоматически отвечает на него в basecamp, это довольно приятная функция.PHP Basecamp ответ с помощью функции электронной почты

Мне было интересно, как это делается, у кого-нибудь есть идеи?

Я разработчик PHP CodeIgniter, было бы полезно, если бы кто-то дал мне несколько советов, чтобы сделать некоторые исследования в этом ..

Спасибо!

ответ

2

Я начал использовать SendGrid для обработки парсинга входящих сообщений электронной почты. Он работает очень хорошо.

+0

привет, вы можете поделиться кодом, как вы обрабатываете входящую электронную почту, будет очень полезно. – umefarooq

2

Создание такого рода функциональность является довольно сложной, но давайте дадим ему попробовать:

  • Вы должны иметь какое-то удостоверение личности для каждого сообщения электронной почты отправки, так что вы знаете, к которому сообщение/тема/объект принадлежит. Я считаю, что Basecamp использует специальный обратный адрес ([email protected]) для каждого сообщения.
  • Каждый раз, когда новое сообщение доставляется во входящие сообщения объекта, читайте его содержимое и сопоставляйте все данные выше ====== reply above this line =====. Проверьте адрес электронной почты отправителя, проверьте, разрешено ли пользователю публиковать на этом объекте, записать в объект и удалить сообщение. Вы можете проверить, есть ли у вашего почтового сервера какая-то поддержка крюка, которая срабатывает каждый раз, когда появляются новые сообщения. В качестве альтернативы вы можете запускать это как cron-задание каждые несколько минут (но это не очень эффективно, как вы можете себе представить).

Лично я давно хотел сделать реализацию Node.js входящего почтового сервера, но я не пришел вокруг него еще (но проверить this GitHub project какое-то вдохновение.)

+0

Означает ли это, что мне нужно было бы контролировать почтовый сервер, чтобы получить хэш? – tpae

+0

Нет, вы можете подключиться к папке «Входящие» с помощью PHP imap_open() (см. Http://www.php.net/manual/en/book.imap.php). – joelcox

+4

SendGrid имеет функцию, в которой он принимает входящую почту для вас, и POST-содержимое содержит URL-адрес по вашему выбору. Это означает, что вы можете обрабатывать входящие письма API, который упрощает работу. [http://wiki.sendgrid.com/doku.php?id=parse_api](http://wiki.sendgrid.com/doku.php?id=parse_api) – ohadpr