If you ever try to write a email client, you will immediately realize how difficult, if not impossible, to fix all the bugs for a email client. It is a multi-different-protocol-version-async-client-handling-same-database-with-thousands-of-race-condition backwards compatibility nightmare.
Writing a email client with support of just up-to-date protocols and assume it is the single client that will operate that account is trivial, write one that covers all corner cases is a totally different story.