It's currently not possible to do in a normal web app in the browser. It is however possible to do in packaged apps with access to privileged apis:
- Firefox Apps use the emerging W3C standard (TCPSocket): https://developer.mozilla.org/en-US/docs/Web/API/TCPSocket
- Chrome Apps use a proprietary api (chrome.socket): https://developer.chrome.com/apps/socket
If you're looking for a battle proven library, whiteout.io develops and maintains a well tested IMAP / SMTP / MIME-codec implementation in pure JS:
http://emailjs.org
It's MIT licensed and free to use.