All Projects → djc → tokio-imap

djc / tokio-imap

Licence: Apache-2.0, MIT licenses found Licenses found Apache-2.0 LICENSE-APACHE MIT LICENSE-MIT
Tokio-based IMAP implementation

Programming Languages

rust
11053 projects

Projects that are alternatives of or similar to tokio-imap

Clickhouse Rs
Asynchronous ClickHouse client library for Rust programming language.
Stars: ✭ 113 (+2.73%)
Mutual labels:  tokio
Async Tungstenite
Async binding for Tungstenite, the Lightweight stream-based WebSocket implementation
Stars: ✭ 207 (+88.18%)
Mutual labels:  tokio
L3-37
Yet another Tokio connection pooler. May cause robot uprising.
Stars: ✭ 53 (-51.82%)
Mutual labels:  tokio
Tk Http
Full featured HTTP and Websockets library for rust/tokio
Stars: ✭ 132 (+20%)
Mutual labels:  tokio
Convey
Layer 4 load balancer with dynamic configuration loading
Stars: ✭ 168 (+52.73%)
Mutual labels:  tokio
mqtt-broker
A tokio-based MQTT v5 broker written in pure Rust [WIP]
Stars: ✭ 110 (+0%)
Mutual labels:  tokio
Rumqttd
rust mqtt broker
Stars: ✭ 77 (-30%)
Mutual labels:  tokio
delay-timer
Time-manager of delayed tasks. Like crontab, but synchronous asynchronous tasks are possible scheduling, and dynamic add/cancel/remove is supported.
Stars: ✭ 257 (+133.64%)
Mutual labels:  tokio
Rust S3
Rust library for interfacing with AWS S3 and other API compatible services
Stars: ✭ 177 (+60.91%)
Mutual labels:  tokio
meio
Rust actors alternative to Erlang/OTP
Stars: ✭ 152 (+38.18%)
Mutual labels:  tokio
Tarpc
An RPC framework for Rust with a focus on ease of use.
Stars: ✭ 1,934 (+1658.18%)
Mutual labels:  tokio
Tokio Rustls
Asynchronous TLS/SSL streams for Tokio using Rustls.
Stars: ✭ 143 (+30%)
Mutual labels:  tokio
lnx
⚡ Insanely fast, 🌟 Feature-rich searching. lnx is the adaptable, typo tollerant deployment of the tantivy search engine. Standing on the shoulders of giants.
Stars: ✭ 844 (+667.27%)
Mutual labels:  tokio
Cnx
A simple X11 status bar for use with simple WMs.
Stars: ✭ 115 (+4.55%)
Mutual labels:  tokio
tsukuyomi
Asynchronous Web framework for Rust
Stars: ✭ 81 (-26.36%)
Mutual labels:  tokio
Oxidizer
📦 A Rust ORM based on tokio-postgres and refinery
Stars: ✭ 100 (-9.09%)
Mutual labels:  tokio
Coerce Rs
Coerce - an asynchronous (async/await) Actor runtime and cluster framework for Rust
Stars: ✭ 231 (+110%)
Mutual labels:  tokio
hyper-proxy
A proxy connector for Hyper-based crates
Stars: ✭ 73 (-33.64%)
Mutual labels:  tokio
fubuki
Simple VPN implemented using rust
Stars: ✭ 85 (-22.73%)
Mutual labels:  tokio
enough mail
IMAP, POP3 and SMTP clients for Dart developers. Contains both low level as well as a high level API.
Stars: ✭ 78 (-29.09%)
Mutual labels:  imap-library

imap-proto and tokio-imap

Build status Join the chat at https://gitter.im/djc/tokio-imap MIT license Apache License 2.0

All feedback welcome. Feel free to file bugs, requests for documentation and any other feedback to the issue tracker or tweet me.

tokio-imap and imap-proto were created by and are maintained by Dirkjan Ochtman. If you are in a position to support ongoing maintenance and further development or use it in a for-profit context, please consider supporting my open source work on Patreon.

tokio-imap: futures-based IMAP client

crates.io, downloads crates.io, latest release API docs, latest release

A Tokio stack-based, fully asynchronous IMAP library, with strong focus on following the relevant specs, mainly IMAP4rev1, but with limited support for the Conditional STORE extension. The type system is used to help enforce correctness where possible. So far, there is only client code and lots of infrastructure that supposedly could be shared -- no server yet. (If you want a tokio-based server, look at IMAPServer.)

Feature highlights

  • Fully asynchronous by using tokio-core and tokio-io
  • Uses the type system to help enforce correct operation according to spec
  • nom-based parser (in imap-proto), so far only used for server response messages

Limitations

  • Alpha-level implementation -- no tests yet, limited protocol coverage
  • Server is totally unimplemented at this stage

How to get started

Have a look at the mailsync crate for example usage.

imap-proto: IMAP types and protocol parser

crates.io, downloads crates.io, latest release API docs, latest release

imap-proto is a low-level IMAP protocol support crate, using the type system to provide a safe API. It was extracted from tokio-imap into a separate crate so that different protocol implementations can share it as common infrastructure (as proposed by rust-imap contributors). The code tries to closely follow the IMAP4rev1 RFC, plus extensions.

Protocol support is implemented in three parts:

  • Types that attempt to closely reflect specification requirements
  • A parser implementation to help consume protocol messages
  • Builder types to help produce protocol messages

Progress

  • Client
    • Parser: many common server responses implemented
    • Types: most common types implemented
    • Message builder: most common commands implemented
  • Server
    • Parser: not started
    • Types: not started
    • Message builder: not started
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].