Pull to refresh

Все сообщения в одном месте

Reading time2 min
Views1.2K
Зарегистрировавшись в нескольких социальных сетях, форумах, а так же используя почту GMail, mail.ru, yandex.ru и многое другое я подумал, а почему бы не написать что нибудь, чтобы собирать все сообщения из разных источников в одном месте, а не лазить с утра до вечера по ссылкам из сообщений «Вам пришло сообщение от ******».
И вот погемороившись посидев некоторое время в блокноте (не люблю я всякие IDE) создал SMail:
SMail - альфа


Почти все использует AJAX, сделано немного в стиле GMail, email часть использует чужие классы работы с imap/pop/smtp.
Пока что это безобразие находится в зачаточной стадии и даже страшно открывать на всеобщее обозрение. Но как видите по скриншоту умеет принимать/посылать сообщения от/на:
  • Вебнео webneo.ru — сама система где SMail живет и питается контактами.
  • Вконтакте vkontakte.ru — собирает и принимает только сообщение от пользователей, чей ID занесен в контакты. При этом есть интерфейс синхронизации контактов между webneo.ru и vkontakte.ru
  • Gmail gmail.com — принимает только новую почту из папки Входящие, а так же отсылает ответы и просто почту. Без изысков — только текст.
  • Gmail my.opera.com — принимает все новые сообщения из папки Входящие (помечая сообщение как прочитанное), отсылка сообщений контактам, чьи myOpera логины добавленные в список друзей.

Пару дней потратил на синхронизацию с odnoklassniki.ru, потом осознал что ID отношения между клиентом и его друзьями меняются от сервера к серверу и от сессии к сессии, поэтому забросил это дело.
В планах на будущее научить принимать/отправлять файлы по почте, подключить еще и facebook и научить создавать цепочки сообщений, где это возможно.
Отправить сообщение пользователь может любому контакту занесенному в его контакт-лист. При этом сам контакт может содержать множество способов связи (социальные сети, почта, внутренние сообщения webneo) и соответственно есть приоритеты отправки, которые пользователь может редактировать. По умолчанию это «webneo», «вконтакте», «gmail». Это означает что при написании нового сообщения просматривается контакт-лист, выбирается самый приоритетный (из доступных) способов отправки и происходит запись задания (задания на отправку) в базу данных. Каждые 10...15 минут запускается скрипт и смотрит что ему дают на съедение отправить, а после отправки смотрит что появилось нового в том или ином источнике и забирает от туда сообщения, записывая их в туже базу данных. Приоритеты могут меняться сами: при ответе на сообщение наибольшим приоритетом обладает источник этого сообщения.

Хотелось бы узнать у хабра людей чего еще бы такого накрутить, чтобы было не стыдно назвать это чем то новым и полезным обществу?

UPD:
Сделанно:
  • цепочки сообщений для webneo и gmail.com
  • исправлены баги при ответе на сообщение
  • при поиске контактов можно выбирать способ отправки сообщения
  • переписан класс PHPMailer для работы с цепочками сообщений

Думаю скоро буду открывать пользователям (после того как доделаю отправку/прием файлов)
Более подробно об измененях на сайте проекта
Tags:
Hubs:
Total votes 43: ↑39 and ↓4+35
Comments19

Articles