There are plenty of mobile applications that you sign into with different accounts to retrieve email, contacts, and calendar (such as CloudMagic), and a couple desktop clients (such as Inky). Yet I can find no web based clients that do so, besides forwarding of messages from provider to provider.

Say I want to create a NodeJS web based email client that has full read and write access (like a normal email client), and it will link to my users' Gmail and Office365 accounts. All IMAP functionality is on the NodeJS backend, but obviously, one of the concerns that this would raise is storing passwords in my own database to access IMAP of the client. I do not want to do this.

But that concern is mitigated to an extent by using OAuth tokens to access IMAP and mail APIs, right? I'm sure I am missing something as I feel like there would be plenty of web clients that exist that do this.

  • @AndréB Sorry, I should have specified there is a server side to this web based client. I have edited my question. The server side handles all IMAP functionality, and the web client consumes what it needs with HTTPS to the server.
    – G Pete
    Commented Aug 15, 2015 at 20:14
  • Gmail can do this via POP3: support.google.com/mail/answer/…
    – Ajedi32
    Commented Aug 17, 2015 at 19:56

1 Answer 1


You're correct, this is possible if the mail provider offers a mechanism to access user email using OAuth 2.0. However, not all online mail providers allow full IMAP access using an OAuth 2.0 token. From a quick glance around the web the only provider I found that allowed full IMAP access was Google. Office365 and Yahoo both only allow user email access through the use of an API. I'm assuming this idea isn't popular because of the interoperability issues. If you implemented this users could only consolidate their emails from a few online email providers instead of all their emails from every email provider when using a native client.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .