xenon
@xenon
Too drunk to fsck

Почему нет(?) популярного REST API для IMAP?

Краткий поиск практически не дал результата. Для таких супер-популярных тем как электронная почта и IMAP на гитхабе нашелся разве что httpmail (10 звезд, 15 лет назад). Другие проекты либо архивированные, либо еще меньше звезд.

Мне кажется это очень странным.... Вебмейлы - популярны: roundcube/rainloop (по 4-5k звезд). Но каждый вебмейл (в нашу эпоху опенсорса и стандартов) идет со своим бэкендом (зачем именно свой-то?). Причем каждый вебмейл как сендвич зачем-то состоит из двух половинок, каждая с разными технологиями, требует разные скиллы от программиста и имеет зачем-то требования к системе. Будто бы, если мне нравится интерфейс RoundCube, я обязан ставить PHP и MySQL (я знаю, что там много вариантов) и PHP на системе.

Насколько я понимаю, напрямую из браузера залезть на IMAP сервер нельзя, нужна "прокладка".

Мне кажется, в идеальном мире, есть протокол IMAP, есть некий (может даже унифицированный) REST интерфейс к нему (вот эта прокладка), и далее вебмейлы пишут фронт-енд программисты, все на JS и fetch(). Весь вебмейл может состоять хоть даже из одного HTML с JS внутри в экстремальном случае и может хоститься статически.

Почему это не так? Я что-то упускаю, есть какой-то фактор, по которому REST API для IMAP - сложная задача или не очень безопасная?
  • Вопрос задан
  • 202 просмотра
Пригласить эксперта
Ответы на вопрос 5
neuotq
@neuotq
Прокрастинация
Как верно выше сказали вы путаете протокол и сервисы/серверы.
IMAP - это протокол(прикладного уровня, почитайте про модель OSI), те некое соглашение чтобы всё по сети работало одинаково везде и всегда.
REST API - это совсем другое, работает внутри другого протокола HTTP.
Поэтому вам нужно искать не API к IMAP, а сервер IMAP в котором есть нужные API. Такие есть, гуглить нечто вроде
"imap server with rest api"
И там уже сами разработчики серверов реализовывают разные штуки, от управление аккаунтами, до манипуляция с самыми почтовыми ящиками и почтой.
Ответ написан
vabka
@vabka
Токсичный шарпист
Потому что IMAP - это сам себе протокол.
Каждый почтовый сервис может для себя придумать какой-нибудь свой REST API, но все эти варианты не стандартизированы.

Из стандартизированных есть jmap, но мало кто его использует.
Ответ написан
Комментировать
Есть стандарты RFC 8620, RFC 8621 RFC 8887 (JMAP), фактически на REST API для почты и того что рядом с ней, если поищите - есть библиотеки этот стандарт реализующие, например сервер и клиент на Rust.

По факту, это стандартизованный FastMail'ом его API, другим вебпочтам переезжать со своего давно написанного и отлаженного API на FastMail'овский причин нет, т.к. это означает что придется переписывать не только серверную, но и клиентскую часть, причем при наличии мобильных приложений использующих API какое-то время поддерживать две версии API, потому что пересадить клиентов на новый API одномоментно невозможно, а преимуществ, по крайней мере прямо сейчас нет - "универсальные" клиенты используют IMAP.

Есть и другие документированые (но не стандартизованные) API, например у Google.
Ответ написан
Комментировать
Sanes
@Sanes
Будто бы, если мне нравится интерфейс RoundCube, я обязан ставить PHP и MySQL

Не обязаны. PHP поддерживает работу с IMAP. Пишите свой велосипед и радуйтесь.
Ответ написан
Комментировать
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Блин, Ярославище, ну ты даешь. IMAP - это протокол, по которому работают. Используя этот протокол, можно получать почту, читать ее и все такое. rest api для IMAP - это совершенно второстепенная финтифлюшка.

Ну и кроме того - обратил внимание, что почтовых клиентов, как независимвх приложений - сейчас полторы калеки? Outlook и Thunderbird, что ужаснее - еще трудно сказать. Ну крыса еще, если жива. Все учапали в веб-морды, поголовно.

CommuniGate нам тут рекламировали - дык для того, чтобы его посмотреть, хотя бы клиента - нужно сервер разворачивать, потому что по IMAP он как раз нихрена не работает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы