{"id":26066382,"url":"https://github.com/chatmail/core","last_synced_at":"2026-06-09T02:01:29.823Z","repository":{"id":37430813,"uuid":"183618773","full_name":"chatmail/core","owner":"chatmail","description":"Chatmail Rust Core library, used by Android/iOS/desktop chatmail apps, bindings and bots 📧 ","archived":false,"fork":false,"pushed_at":"2026-06-03T19:55:36.000Z","size":43087,"stargazers_count":901,"open_issues_count":140,"forks_count":130,"subscribers_count":23,"default_branch":"main","last_synced_at":"2026-06-03T21:18:40.888Z","etag":null,"topics":["chat","chatmail","e-mail","email","imap","instant-messaging","messaging","messenger","openpgp","pgp","rust","smtp"],"latest_commit_sha":null,"homepage":"https://delta.chat/en/contribute","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chatmail.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null},"funding":{"open_collective":"chatmail"}},"created_at":"2019-04-26T11:43:27.000Z","updated_at":"2026-06-03T19:55:39.000Z","dependencies_parsed_at":"2022-07-18T16:53:01.618Z","dependency_job_id":"55e16f19-af78-4d00-b623-0bf37c9ea310","html_url":"https://github.com/chatmail/core","commit_stats":{"total_commits":7529,"total_committers":55,"mean_commits":136.8909090909091,"dds":0.7129764909018461,"last_synced_commit":"c92554dc1ff550b92465d8098fae5d06c83749b4"},"previous_names":["chatmail/core"],"tags_count":386,"template":false,"template_full_name":null,"purl":"pkg:github/chatmail/core","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chatmail%2Fcore","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chatmail%2Fcore/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chatmail%2Fcore/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chatmail%2Fcore/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chatmail","download_url":"https://codeload.github.com/chatmail/core/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chatmail%2Fcore/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34088013,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-09T02:00:06.510Z","response_time":63,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["chat","chatmail","e-mail","email","imap","instant-messaging","messaging","messenger","openpgp","pgp","rust","smtp"],"created_at":"2025-03-08T20:30:09.753Z","updated_at":"2026-06-09T02:01:29.772Z","avatar_url":"https://github.com/chatmail.png","language":"Rust","funding_links":["https://opencollective.com/chatmail"],"categories":["Rust"],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n\u003cimg alt=\"Chatmail logo\" src=\"https://github.com/user-attachments/assets/25742da7-a837-48cd-a503-b303af55f10d\" width=\"300\" style=\"float:middle;\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/chatmail/core/actions/workflows/ci.yml\"\u003e\n    \u003cimg alt=\"Rust CI\" src=\"https://github.com/chatmail/core/actions/workflows/ci.yml/badge.svg\"\u003e\n  \u003c/a\u003e\n  \u003ca href=\"https://deps.rs/repo/github/chatmail/core\"\u003e\n    \u003cimg alt=\"dependency status\" src=\"https://deps.rs/repo/github/chatmail/core/status.svg\"\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\nThe chatmail core library implements low-level network and encryption protocols, \nintegrated by many chat bots and higher level applications, \nallowing to securely participate in the globally scaled e-mail server network. \nWe provide reproducibly-built `deltachat-rpc-server` static binaries\nthat offer a stdio-based high-level JSON-RPC API for instant messaging purposes. \n\nThe following protocols are handled without requiring API users to know much about them: \n\n- secure TLS setup with DNS caching and shadowsocks/proxy support \n\n- robust [SMTP](https://github.com/chatmail/async-imap) \n  and [IMAP](https://github.com/chatmail/async-smtp) handling\n\n- safe and interoperable [MIME parsing](https://github.com/staktrace/mailparse) \n  and [MIME building](https://github.com/stalwartlabs/mail-builder). \n\n- security-audited end-to-end encryption with [rPGP](https://github.com/rpgp/rpgp)\n  and [Autocrypt and SecureJoin protocols](https://securejoin.rtfd.io)\n\n- ephemeral [Peer-to-Peer networking using Iroh](https://iroh.computer) for multi-device setup and\n  [webxdc realtime data](https://delta.chat/en/2024-11-20-webxdc-realtime). \n\n- a simulation- and real-world tested [P2P group membership\n  protocol without requiring server state](https://github.com/chatmail/models/tree/main/group-membership). \n\n\n## Installing Rust and Cargo\n\nTo download and install the official compiler for the Rust programming language, and the Cargo package manager, run the command in your user environment:\n\n```\n$ curl https://sh.rustup.rs -sSf | sh\n```\n\n\u003e On Windows, you may need to also install **Perl** to be able to compile deltachat-core.\n\n## Using the CLI client\n\nCompile and run the command line utility, using `cargo`:\n\n```\n$ cargo run --locked -p deltachat-repl -- ~/profile-db\n```\nwhere ~/profile-db is the database file. The utility will create it if it does not exist.\n\nOptionally, install `deltachat-repl` binary with\n```\n$ cargo install --locked --path deltachat-repl/\n```\nand run as\n```\n$ deltachat-repl ~/profile-db\n```\n\nConfigure your account (if not already configured):\n\n```\nChatmail is awaiting your commands.\n\u003e set addr your@email.org\n\u003e set mail_pw yourpassword\n\u003e configure\n```\n\nConnect to your mail server (if already configured):\n\n```\n\u003e connect\n```\n\nExport your public key to a vCard file:\n\n```\n\u003e make-vcard my.vcard 1\n```\n\nCreate contacts by address or vCard file:\n\n```\n\u003e addcontact yourfriends@email.org\n\u003e import-vcard key-contact.vcard\n```\n\nList contacts:\n\n```\n\u003e listcontacts\nContact#Contact#11: key-contact@email.org \u003ckey-contact@email.org\u003e\nContact#Contact#Self: Me √ \u003cyour@email.org\u003e\n2 key contacts.\nContact#Contact#10: yourfriends@email.org \u003cyourfriends@email.org\u003e\n1 address contacts.\n```\n\nCreate a chat with your friend and send a message:\n\n```\n\u003e createchat 10\nSingle#Chat#12 created successfully.\n\u003e chat 12\nSelecting chat Chat#12\nSingle#Chat#12: yourfriends@email.org [yourfriends@email.org] Icon: profile-db-blobs/4138c52e5bc1c576cda7dd44d088c07.png\n0 messages.\n81.252µs to create this list, 123.625µs to mark all messages as noticed.\n\u003e send hi\n```\n\nList messages when inside a chat:\n\n```\n\u003e chat\n```\n\nFor more commands type:\n\n```\n\u003e help\n```\n\n## Installing libdeltachat system wide\n\n```\n$ git clone https://github.com/chatmail/core.git\n$ cd deltachat-core-rust\n$ cmake -B build . -DCMAKE_INSTALL_PREFIX=/usr\n$ cmake --build build\n$ sudo cmake --install build\n```\n\n## Development\n\n```sh\n# run tests\n$ cargo test --all\n# build c-ffi\n$ cargo build -p deltachat_ffi --release\n```\n\n## Debugging environment variables \n\n- `DCC_MIME_DEBUG`: if set outgoing and incoming message will be printed \n\n- `RUST_LOG=async_imap=trace,async_smtp=trace`: enable IMAP and\nSMTP tracing in addition to info messages.\n\n### Expensive tests\n\nSome tests are expensive and marked with `#[ignore]`, to run these\nuse the `--ignored` argument to the test binary (not to cargo itself):\n```sh\n$ cargo test -- --ignored\n```\n\n### Fuzzing\n\nInstall [`cargo-bolero`](https://github.com/camshaft/bolero) with\n```sh\n$ cargo install cargo-bolero\n```\n\nRun fuzzing tests with\n```sh\n$ cd fuzz\n$ cargo bolero test fuzz_mailparse -s NONE\n```\n\nCorpus is created at `fuzz/fuzz_targets/corpus`,\nyou can add initial inputs there.\nFor `fuzz_mailparse` target corpus can be populated with\n`../test-data/message/*.eml`.\n\n## Features\n\n- `vendored`: When using Openssl for TLS, this bundles a vendored version.\n\n## Update Provider Data\n\nTo add the updates from the\n[provider-db](https://github.com/chatmail/provider-db) to the core,\ncheck line `REV=` inside `./scripts/update-provider-database.sh`\nand then run the script.\n\n## Language bindings and frontend projects\n\nLanguage bindings are available for:\n\n- **C** \\[[📂 source](./deltachat-ffi) | [📚 docs](https://c.delta.chat)\\]\n   - -\u003e libdeltachat is going to be deprecated and only exists because Android, iOS and Ubuntu Touch are still using it. If you build a new project, then please use the jsonrpc api instead.\n- **JS**: \\[[📂 source](./deltachat-rpc-client) | [📦 npm](https://www.npmjs.com/package/@deltachat/jsonrpc-client) | [📚 docs](https://js.jsonrpc.delta.chat/)\\]\n- **Python** \\[[📂 source](./python) | [📦 pypi](https://pypi.org/project/deltachat) | [📚 docs](https://py.delta.chat)\\]\n- **Go** \\[[📂 source](https://github.com/deltachat/deltachat-rpc-client-go/)\\]\n- **Java** and **Swift** (contained in the Android/iOS repos)\n\nThe following \"frontend\" projects make use of the Rust-library\nor its language bindings:\n\n- [Android](https://github.com/deltachat/deltachat-android)\n- [iOS](https://github.com/deltachat/deltachat-ios)\n- [Desktop](https://github.com/deltachat/deltachat-desktop)\n- [Pidgin](https://code.ur.gs/lupine/purple-plugin-delta/)\n- [Telepathy](https://code.ur.gs/lupine/telepathy-padfoot/)\n- [Ubuntu Touch](https://codeberg.org/lk108/deltatouch)\n- several **Bots**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchatmail%2Fcore","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchatmail%2Fcore","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchatmail%2Fcore/lists"}