At the end of last year, Google introduced changes in the rules of access to user data. So, after the release of version 1.16.0 I started to apply for verification of the application in Google in order to ensure that users of Keepmark do not see a message about a dangerous application when signing in. After sending the request, I received an answer from them:

(…) To proceed with the verification process, you’ll need to migrate off of SMTP protocol to use the Gmail API. We recommend that you use the https://www.googleapis.com/auth/gmail.send scope, which is sufficient to implement your project’s functionality.

To proceed with the verification process, you’ll need to migrate off of IMAP protocol to use the Gmail API. We recommend that you use the https://www.googleapis.com/auth/gmail.modify scope, which is sufficient to implement your project’s functionality. (…)

In Keepmark, mail handling from the very beginning was about implementing the IMAP standard for downloading messages from the server. After a while, it was also possible to send documents by e-mail. In the last release I converted both functionalities and merged them into a new one - “Email Accounts”.

In the first moment I wanted to ignore Google verification and remove OAUTH authorization for Google (there is a possibility to give access to Gmail applications without OAUTH authorization, but this requires additional action from the user in Gmail settings).

However, I know that it would be good to go through this process and let users access Gmail through OAUTH. So while working on Keepmark 1.17.0 I started working on separating interfaces for mail handling and creating separate implementations for IMAP/SMTP and Gmail. Among the additional advantages, I noticed that integration via Gmail api is simply faster - downloading mail and sending new messages takes much less time than with IMAP protocol.

It’s just a pity that most of the work on the new version will focus again on better email handling.