Skip to content

Latest commit

 

History

History
21 lines (14 loc) · 1.23 KB

TechnicalNotes.md

File metadata and controls

21 lines (14 loc) · 1.23 KB

Technical Notes

How does it work ?

  • Postal is a swift wrapper over libetpan.
  • Libetpan handles all the low-level imap connection and parsing in a synchronous way.
  • Postal wraps some features provided by libetpan and exposes them with an high-level asynchronous API.
  • The high level API must be simple and comprehensive swift.
  • Libetpan is provided in the repo as a pre-built static library for a better ease-of-use and easier CocoaPods distrbution
  • Libetpan can be built from source using the shell scripts found in the dependencies folder.

About mailcore ?

Mailcore2 is a library wrapping libetpan providing a great set of features when interacting with mails.

The main drawback which made us start a fresh library is that Mailcore is an objective-c wrapper over a C++ wrapper over libetpan. These layers of complexity makes the library quite awkward to use in cunjunction with swift.

Swift provides a native way to interop with C and libetpan is fully portable. We hope that Postal may be ported to provide its feature set in a fully portable (server swift?) way.