Need help with deltachat-core-rust?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

311 Stars 40 Forks Mozilla Public License 2.0 3.9K Commits 90 Opened issues


Delta Chat Rust Core library, used by Android/iOS/desktop apps and bindings

Services available


Need anything else?

Contributors list

No Data

Delta Chat Rust

Deltachat-core written in Rust

CircleCI build status Appveyor build status

Installing Rust and Cargo

To download and install the official compiler for the Rust programming language, and the Cargo package manager, run the command in your user environment:

$ curl -sSf | sh

Using the CLI client

Compile and run Delta Chat Core command line utility, using

$ RUST_LOG=repl=info cargo run --example repl --features repl -- ~/deltachat-db

where ~/deltachat-db is the database file. Delta Chat will create it if it does not exist.

Configure your account (if not already configured):

Delta Chat Core is awaiting your commands.
> set addr [email protected]
> set mail_pw yourpassword
> configure

Connect to your mail server (if already configured):

> connect

Create a contact:

> addcontact [email protected]
Command executed successfully.

List contacts:

> listcontacts
Contact#1: Me √√ 

Create a chat with your friend and send a message:

> createchat 10
Single#10 created successfully.
> chat 10
Single#10: [email protected] [[email protected]]
> send hi
Message sent.


[email protected]
uses DeltaChat, but does not receive message just sent, it is advisable to check
folder. It is known that at least
treat such test messages as spam, unless told otherwise with web interface.

List messages when inside a chat:

> chat

For more commands type:

> help


# run tests
$ cargo test --all
# build c-ffi
$ cargo build -p deltachat_ffi --release

Debugging environment variables

    : if set IMAP protocol commands and responses will be printed
    : if set outgoing and incoming message will be printed
  • RUST_LOG=repl=info,async_imap=trace,async_smtp=trace
    : enable IMAP and SMTP tracing in addition to info messages.

Expensive tests

Some tests are expensive and marked with

, to run these use the
argument to the test binary (not to cargo itself):
$ cargo test -- --ignored


  • vendored
    : When using Openssl for TLS, this bundles a vendored version.
  • nightly
    : Enable nightly only performance and security related features.

Language bindings and frontend projects

Language bindings are available for:

The following "frontend" projects make use of the Rust-library or its language bindings:

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.