/tutanota_client

Thin wrapper over the Tutanota encrypted email service

Primary LanguageRustMIT No AttributionMIT-0

Tutanota client

This is an unofficial thin wrapper over the Tutanota encrypted email service, using Hyper. It provides a simple idiomatic Rust API for each remote procedure as well as cryptographic functions. It is in an early stage of development, currently supporting only the most basic features.

The intention of making a thin wrapper is that a thick wrapper can be made as a separate crate and added on top of it, doing things such as handling caching, retrying requests and maintaining sessions, periodical updates, databases of email and search indexes. On top of the thick wrapper, a UI can be added as yet another separate crate.

See the example program. It can be run with the command cargo run --example example email_address operation. It takes an email address as a command line argument and a password on the console. It takes an operation as the second command line argument:

  • create_draft: Creates a draft with the subject Hello, World!.
  • create_folder: Creates a mail folder with the name Test created!.
  • manage_folders: Shows the list of folders with their names. Deletes the first folder with a name starting with Test delete!. Renames the first folder with a name starting with Test rename!. Moves all mail from any folder with a name starting with Test move from! to any folder with a name starting with Test move to!.
  • toggle_unread: Toggles the unread status of the last mail in the inbox.
  • view_mail: Displays a list of mails in the inbox with their subject lines. Displays the body and the first attachment of the first mail in the inbox.

In the lists of sessions found in the login settings, the example program is displayed as “Rust”.