Website • Report Bug • Roadmap
This project adapts and enhance Apache James project with a goal to provide a complete, enterpriseready collaborative email solution adapted to the rest of the Linagora eco-system.
Twake Mail relies on TwakeMail Flutter as a frontend.
Twake Mail is developed with love by Linagora.
-
We maintain a CHANGELOG and upgrade instructions
Apache James extensions includes:
- Email filtering
- Encrypted mailboxes
- Team mailboxes
- Rate limiting
- Contacts autocomplete
- Email forwarding
- Push subscription with Firebase Cloud Messaging
- Restore deleted emails
- Labels
- Settings
Read more...
### Manual buildingThis projects uses git submodules to track the latest branch of the Apache James project
After cloning this repository, you need to init the james-project
submodule:
git submodule init
git submodule update
It is possible that the james-project
submodule is not in its latest state as well. If you want the latest changes
of the Apache James project, you can run as well:
git submodule update --remote
Note: Don't hesitate to push the latest state of the submodule in a commit if it was not up-to-date!
Then you can compile both apache/james-project
and linagora/tmail-backend
together.
mvn clean install -Dmaven.javadoc.skip=true
You can add the -DskipTests
flag as well if you don't want to run the tests of the apache/james-project
.
You can use a custom local jenkins runner with the Jenkinsfile
at the root of this project to build the project.
This will automatically do for you:
- checkout and compile latest code of Apache James project alongside
tmail-backend
- generate docker images for
memory
anddistributed
flavors of the project - launch unit, integration and deployment tests on
tmail-backend
To launch it you need to have docker installed. From the root of this project, you can build the Jenkins runner locally yourself:
docker build -t local-jenkins-runner dockerfiles/jenkins-runner
And then you need to launch it with the Jenkinsfile:
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v $(pwd)/dockerfiles/jenkins-runner/Jenkinsfile:/workspace/Jenkinsfile local-jenkins-runner
If you don't want the build to redownload everytime all the maven dependencies (it can be heavy) you can mount
your local maven repository as a volume by adding -v $HOME/.m2:/root/.m2
to the above command.
Read more...
By the end of 2023 we expect to add the following extensions:- Provide Archiving and automated actions
- Provide a JMAP extension for thumbnails
- Download all attachments at once
Read more...
Thanks for the enthousiasm!There are many ways to help us, and amongst them:
- Spread the word: Tell people you like Team Mail, on social medias, via blog posts etc...
- 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.
- I can code! I wanna help ;-). Wow thanks! Let's discuss your project together in the issues to get you on track!