Ответ 1
В настоящее время это невозможно сделать в обычном веб-приложении в браузере. Однако это возможно сделать в упакованных приложениях с доступом к привилегированным apis:
- Приложения Firefox используют новый стандарт W3C (TCPSocket): https://developer.mozilla.org/en-US/docs/Web/API/TCPSocket
- Приложения Chrome используют собственный api (chrome.socket): https://developer.chrome.com/apps/socket
Если вы ищете библиотеку, проверенную сражением, whiteout.io разрабатывает и поддерживает хорошо протестированную реализацию IMAP/SMTP/MIME-кодека в чистом JS:
Это MIT лицензировано и свободно используется.