0

Я пытаюсь сделать почтовый клиент, который является HTML5/JS, только там, где пользователи должны будут определять свой почтовый сервер и учетные данные.Какую библиотеку/функцию я буду использовать для создания почтового клиента?

Я занялся поиском google, ведущим к тупикам, и решил, что это следующее лучшее место (или superuser.com).

Я думал об использовании HTML5 WebSocket, если мог, чтобы установить соединение с сервером, но я не знаю достаточной архитектуры smtp, imap или pop3, чтобы понять, как javascript может передавать аргументы и выполнять то, что я хочу. делать.

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

Любая помощь в поиске этого будет фантастической.

ответ

2

Ничего не невозможно. Кроме этого.

В стандартном HTML или JavaScript вы не можете подключаться к raw-socket соединениям, что вам нужно будет говорить на любом из перечисленных вами протоколов. WebSocket API не поможет вам, потому что сервер должен также говорить на WebSockets, а почтовые серверы - нет. Это на самом деле все хорошо. Представьте, если вы посетили случайный веб-сайт, и он подключился к вашему домашнему маршрутизатору, поджег его и сжег ваш дом. Это то, что веб-сайты могли бы сделать, если бы они могли инициировать простые соединения сокетов TCP.

У вас есть несколько вариантов, о которых я могу думать, ни одна из которых не связана с созданием веб-страницы. (И чтобы быть понятным, вы не сказали, что ваш проект должен быть веб-страницей, вы просто сказали HTML/JS, так что это действительно законные варианты.)

Во-первых, это что-то вроде node-webkit. Как говорится в readme: «Вы можете писать собственные приложения в HTML и Javascript с помощью узла-webkit». Вам все равно придется распространять его как родное приложение, потому что это то, что есть.

Второй - это Chrome app, в частности, с использованием API-интерфейса chrome.socket. Но получайте удовольствие, написав слой TLS над этими сокетами, который вы найдете, это требование для почти любого почтового сервера в эти дни. Если вам удастся это сделать, вы сможете распространять свой почтовый клиент в Интернет-магазине Chrome, где я заверяю вас, что почтовый клиент будет довольно популярен.

В-третьих, напишите веб-сервер, который работает локально, поэтому ваши пользователи посетят что-то вроде http://localhost:9999/mail в своем браузере. Это будет реальная боль для распространения, но вы можете использовать практически любую технологию, которую хотите.

Я уверен, что есть четвертый действительный вариант, и кто-то другой может прослушивать его.

Удачи.

+0

Приложение Chrome - это план из-за его отсутствия для хромированных книг и слуха многих людей, которых я знаю, говоря: «Я бы ЛЮБЛЮ свою хромовую книгу, если бы у меня (введите тип продукта здесь)». Это будет упакованное приложение, и это то, что я ищу. Спасибо за точку в правильном направлении! –

+0

Отправьте звездочку https://code.google.com/p/chromium/issues/detail?id=132896, которая предоставит вам необходимый API-интерфейс сокета. Между тем, вы наверняка сможете добиться прогресса в небезопасной версии вашего приложения Chrome, и, возможно, к тому времени, когда вы будете готовы к отправке, эта ошибка будет исправлена. – sowbug