{"id":23832065,"url":"https://github.com/linagora/tmail-backend","last_synced_at":"2026-02-25T17:11:32.152Z","repository":{"id":37100849,"uuid":"325713638","full_name":"linagora/tmail-backend","owner":"linagora","description":null,"archived":false,"fork":false,"pushed_at":"2025-03-23T21:31:48.000Z","size":92348,"stargazers_count":51,"open_issues_count":74,"forks_count":26,"subscribers_count":12,"default_branch":"master","last_synced_at":"2025-03-24T00:11:30.440Z","etag":null,"topics":["java","jmap","mail","mailserver","mda"],"latest_commit_sha":null,"homepage":"","language":"Scala","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/linagora.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"security.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-31T04:30:29.000Z","updated_at":"2025-03-20T02:20:18.000Z","dependencies_parsed_at":"2023-10-02T04:51:55.288Z","dependency_job_id":"2a6c8fa2-afb3-4803-9f3d-b6b1ff9bf4bd","html_url":"https://github.com/linagora/tmail-backend","commit_stats":null,"previous_names":[],"tags_count":88,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linagora%2Ftmail-backend","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linagora%2Ftmail-backend/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linagora%2Ftmail-backend/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/linagora%2Ftmail-backend/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/linagora","download_url":"https://codeload.github.com/linagora/tmail-backend/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246436393,"owners_count":20776995,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["java","jmap","mail","mailserver","mda"],"created_at":"2025-01-02T14:17:54.743Z","updated_at":"2026-02-25T17:11:32.117Z","avatar_url":"https://github.com/linagora.png","language":"Scala","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Twake Mail Server\n\n\n[![Contributors](https://img.shields.io/github/contributors/linagora/tmail-backend?label=Contributors\n)](\n  https://github.com/linagora/tmail-backend/graphs/contributors\n)\n[![Issues](https://img.shields.io/github/issues/linagora/tmail-backend?label=Issues\n)](https://github.com/linagora/tmail-backend/issues)\n[![Documentation](https://img.shields.io/badge/Documentation-green.svg)](docs)\n[![Android application](https://img.shields.io/badge/App-Android-blue.svg)](https://play.google.com/store/apps/dev?id=8845244706987756601)\n[![Ios application](https://img.shields.io/badge/App-iOS-red.svg)](https://apps.apple.com/gr/developer/linagora/id1110867042)\n[![Images docker](https://img.shields.io/badge/Images-docker-blue.svg)](https://hub.docker.com/r/linagora/tmail-backend)\n[![Join the chat at https://gitter.im/linagora/team-mail](https://badges.gitter.im/linagora/team-mail.svg)](https://gitter.im/linagora/team-mail?utm_source=badge\u0026utm_medium=badge\u0026utm_campaign=pr-badge\u0026utm_content=badge)\n\n\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://github.com/linagora/twake-mail\"\u003e\n   \u003cimg src=\"https://github.com/artembru/tmail-backend/assets/146178981/69e619dd-e017-4607-9581-dfc79f084cfe\" alt=\"Logo\"\u003e\n  \u003c/a\u003e\n\n \u003cp align=\"center\"\u003e\n    \u003ca href=\"https://twake-mail.com\"\u003eWebsite\u003c/a\u003e\n    •\n    \u003ca href=\"https://github.com/linagora/tmail-backend/issues\"\u003eReport Bug\u003c/a\u003e\n    •\n    \u003ca href=\"https://github.com/linagora/tmail-backend/milestones\"\u003eRoadmap\u003c/a\u003e\n  \u003c/p\u003e\n\u003c/p\u003e\n\n---\n\n\n\nThis project adapts and enhances [Apache James project](https://james.apache.org) with the goal to provide a complete, enterprise-ready collaborative email solution adapted to the rest of \nthe [Linagora](https://linagora.com) eco-system.\n\nTwake Mail relies on [TwakeMail Flutter](https://github.com/linagora/tmail-flutter) as a frontend.\n\nTwake Mail is developed with love by [Linagora](https://linagora.com).\n\n## Useful links\n\n - We maintain a [CHANGELOG](CHANGELOG.md) and [upgrade instructions](upgrade-instructions.md)\n\n - [Building + Running the memory server](tmail-backend/apps/memory/README.md)\n\n - [Building + Running the distributed server](tmail-backend/apps/distributed/README.md)\n\n - [Project documentation](docs)\n\n### Additional features\n\nApache James extensions includes:\n - Email filtering\n - Encrypted mailboxes\n - Team mailboxes\n - Rate limiting\n - Contacts autocomplete\n - Email forwarding\n - Push subscription with Firebase Cloud Messaging\n - Restore deleted emails\n - Labels\n - Settings\n\n[More detail...](docs/modules/ROOT/pages/tmail-backend/features/index.adoc)\n\n## Building the project\n\n\u003cdetails\u003e\n  \u003csummary\u003eRead more...\u003c/summary\u003e\n### Manual building\n\nThis projects uses git submodules to track the latest branch of [the Apache James project](https://james.apache.org)\n\nAfter cloning this repository, you need to init the `james-project` submodule:\n\n```\ngit submodule init\ngit submodule update\n```\n\nIt is possible that the `james-project` submodule is not in its latest state as well. If you want the latest changes\nof the Apache James project, you can run as well:\n\n```\ngit submodule update --remote\n```\n\n**Note**: Don't hesitate to push the latest state of the submodule in a commit if it was not up-to-date!\n\nThen you can compile both `apache/james-project` and `linagora/tmail-backend` together.\n\n```\nmvn clean install -Dmaven.javadoc.skip=true\n```\n\nYou can add the `-DskipTests` flag as well if you don't want to run the tests of the `apache/james-project`.\n\n### Building with a local jenkins runner\n\nYou can use a custom local jenkins runner with the `Jenkinsfile` at the root of this project to build the project. \nThis will automatically do for you:\n\n* checkout and compile latest code of Apache James project alongside `tmail-backend`\n* generate docker images for `memory` and `distributed` flavors of the project\n* launch unit, integration and deployment tests on `tmail-backend`\n\nTo launch it you need to have docker installed. From the root of this project, you can build the \nJenkins runner locally yourself:\n\n```\ndocker build -t local-jenkins-runner dockerfiles/jenkins-runner\n```\n\nAnd then you need to launch it with the Jenkinsfile:\n\n```\ndocker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v $(pwd)/dockerfiles/jenkins-runner/Jenkinsfile:/workspace/Jenkinsfile local-jenkins-runner\n```\n\nIf you don't want the build to redownload everytime all the maven dependencies (it can be heavy) you can mount\nyour local maven repository as a volume by adding `-v $HOME/.m2:/root/.m2` to the above command.\n\u003c/details\u003e\n\n## FAQ\n\n### **What would your roadmap look like?**\n\n\u003cdetails\u003e\n  \u003csummary\u003eRead more...\u003c/summary\u003e\nBy the end of 2023 we expect to add the following extensions:\n\n - Provide Archiving and automated actions\n - Provide a JMAP extension for thumbnails\n - Download all attachments at once\n\u003c/details\u003e\n\n### **Your work is awesome! I would like to help you. What can I do?**\n\n\u003cdetails\u003e\n  \u003csummary\u003eRead more...\u003c/summary\u003e\nThanks for the enthousiasm!\n\nThere are many ways to help us, and amongst them:\n\n   - **Spread the word**: Tell people you like **Team Mail**, on social medias, via blog posts etc... \n   - **Give us feedbacks**... It's hard to make all good decisions from the first time. It is very likely we can benefit from *your* experience. Did you encountered annoying bugs? Do you think we are missing some features critical to you? Tell us in the [issues](https://github.com/linagora/tmail-backend/issues).\n   - I can code! **I wanna help ;-)**. Wow thanks! Let's discuss your project together in the [issues](https://github.com/linagora/tmail-backend/issues) to get you on track!\n\u003c/details\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinagora%2Ftmail-backend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flinagora%2Ftmail-backend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flinagora%2Ftmail-backend/lists"}