Ничего не невозможно. Кроме этого.
В стандартном 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
в своем браузере. Это будет реальная боль для распространения, но вы можете использовать практически любую технологию, которую хотите.
Я уверен, что есть четвертый действительный вариант, и кто-то другой может прослушивать его.
Удачи.
Приложение Chrome - это план из-за его отсутствия для хромированных книг и слуха многих людей, которых я знаю, говоря: «Я бы ЛЮБЛЮ свою хромовую книгу, если бы у меня (введите тип продукта здесь)». Это будет упакованное приложение, и это то, что я ищу. Спасибо за точку в правильном направлении! –
Отправьте звездочку https://code.google.com/p/chromium/issues/detail?id=132896, которая предоставит вам необходимый API-интерфейс сокета. Между тем, вы наверняка сможете добиться прогресса в небезопасной версии вашего приложения Chrome, и, возможно, к тому времени, когда вы будете готовы к отправке, эта ошибка будет исправлена. – sowbug