Self-hosted service
nextcloud/mail avatar
nextcloud/mail

Nextcloud Mail: the mail app that lives inside your Nextcloud instance

Mail app for Nextcloud. ** Send & receive encrypted mails!** Using the great Mailvelope browser extension or the built-in support for S/MIME encryption and signatures.

1,031 stars355 forksJavaScriptAGPL-3.0

At a glance

What is it?
Nextcloud Mail is an IMAP webmail client packaged as a Nextcloud app, built on the Horde libraries and shipped under AGPL-3.0. It is a good fit if you already run Nextcloud and want mail next to Calendar, Contacts and Files; it is not a mail server.
Who is it for?
Adopt Nextcloud Mail if you already operate a Nextcloud instance and want IMAP mail next to Contacts, Calendar, Files and Tasks without standing up a second web interface. Do not adopt it expecting a mail server: the README points at Mail-in-a-Box, Stalwart or Dovecot for that, and the app itself is an IMAP client.
Can I use it commercially?
Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
Is it still maintained?
Yes. The repository last received commits 4 days ago.
What is it written in?
Mainly JavaScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 25, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Nextcloud Mail solves, and who it is actually for

Nextcloud Mail is a mail app for Nextcloud, distributed through the Nextcloud app store. The README describes it as a client that connects to any IMAP account, with multiple accounts and a unified inbox. That sentence defines the audience: people who already run Nextcloud and want to read and send mail inside the same interface as their files and calendar, rather than opening a separate webmail tab.

The integration list in the README is concrete: Contacts, Calendar, Files and Tasks, with the note that more is planned. That is the actual product argument. A standalone webmail client cannot put a received attachment into a Nextcloud folder or turn a message into a task, because it does not know those services exist. Nextcloud Mail does, because it is a Nextcloud app.

It is not for someone who needs a mail server. The README is explicit about this: "Want to host your own mail server? We don't have to reimplement this as you could set up Mail-in-a-Box, Stalwart or Dovecot." Mail is the client half of that stack. If you have no IMAP server and no Nextcloud instance, this project is not the starting point.

Horde libraries, IMAP accounts and the encryption paths

The README states the app is "Based on the great Horde libraries," and the repository layout supports that: lib/ holds the PHP side, src/ the Vue front end, and composer.json manages PHP dependencies while package.json manages JavaScript. The front end is built with webpack, the PHP side with composer, which is why the Makefile has separate install-composer-deps-dev and install-npm-deps-dev targets.

On encryption, two routes are documented. The first is the Mailvelope browser extension, used for sending and receiving encrypted mail. The second is built-in support for S/MIME encryption and signatures. Those are different mechanisms with different operational costs. Mailvelope keeps keys in the browser extension, so the server stores ciphertext it cannot read. S/MIME puts the certificate and key handling on the server side, which is easier to manage centrally and harder to make transparent to the user.

Threading and mailbox management are listed as features: message threads are grouped, and mailboxes can be edited, deleted or given submailboxes. Both are basic expectations of a mail client, and their presence in the feature list rather than a changelog means the README is not where you will learn how they behave under load.

Installing Nextcloud Mail and connecting a first account

The README gives two installation paths. The supported one is the app store: "The app is distributed through the app store and you can install it right from your Nextcloud installation." Release tarballs are hosted separately at github.com/nextcloud-releases/mail/releases. The README does not document a rollback procedure for either path, so plan your Nextcloud backup before installing.

For a development checkout, the README says to clone the repo into your apps directory, with a Nextcloud server installation present, plus npm for JavaScript dependencies and composer for PHP dependencies. The single command it gives is:

bash
make dev-setup

That target expands to install-composer-deps-dev, install-npm-deps-dev and build-js, per the Makefile. You should end up with vendor/ and node_modules/ populated and a development webpack build in place.

If you want to test against a real IMAP server without touching production, the Makefile ships a container target. It pulls an image and publishes the standard mail ports:

bash
docker pull ghcr.io/christophwurst/docker-imap-devel
docker run --name="ncmailtest" -d \
  -p 25:25 -p 143:143 -p 993:993 -p 4190:4190 \
  --hostname mail.domain.tld \
  -e MAILNAME=mail.domain.tld \
  -e [email protected] \
  -e MAIL_PASS=mypassword \
  ghcr.io/christophwurst/docker-imap-devel

Port 143 is IMAP, 993 IMAP over TLS, 25 SMTP and 4190 managesieve. After that, add the account in the Mail app's settings using the hostname and credentials you passed as environment variables. The README does not document what the app does when an IMAP server is unreachable, so treat the first connection as the real test.

Where Nextcloud Mail is the wrong tool

The clearest limitation is stated by the project itself: it is not a mail server. If your requirement is to accept inbound SMTP for a domain and store mailboxes, Nextcloud Mail does nothing for you. The README redirects to Mail-in-a-Box, Stalwart or Dovecot, which are the components that would actually do that work.

The second limitation is the release cadence. The last push to the repository was on 2022-06-02, and the most recent release listed is v1.13.0 on the same date, following v1.12.1 on 2022-05-24 and v1.10.5 on 2021-09-28. The package.json in the repository carries version 5.12.0-rc.1, which is a different numbering line from the release tags, and the README's copyright headers run to 2024, so the repository has seen activity that the release list does not reflect. What the release list does tell you is that no tagged release has appeared since 2022-06-02. Anyone planning an upgrade should treat that date as the boundary of what is documented here.

Third, the encryption story has a gap the README does not close. Mailvelope depends on a browser extension being installed and configured per user; S/MIME depends on certificates being provisioned. Neither is automatic, and the README does not describe what happens to a message when the recipient's key is missing.

Nextcloud Mail against Roundcube and SnappyMail

The natural comparison is with standalone webmail clients such as Roundcube or SnappyMail, which people search for alongside this project. The difference is not the mail protocol, since all of them speak IMAP and SMTP. The difference is where the client lives.

Roundcube and SnappyMail are applications in their own right. You deploy them next to your mail server, they have their own authentication, their own database and their own update cycle, and they work for users who have no Nextcloud account at all. Nextcloud Mail inverts that: it has no meaning without a Nextcloud instance, and it inherits Nextcloud's authentication, theming and app management. In exchange, it can reach Contacts, Calendar, Files and Tasks through the Nextcloud APIs, which the standalone clients cannot do without plugins.

The practical consequence is that the choice is usually made for you by your existing infrastructure. If the organisation already runs Nextcloud, adding Mail is an app-store install. If it does not, adopting Nextcloud just to get webmail means adopting a file sync and groupware platform as a side effect.

Licence, maintenance and the cost of staying on this version

Nextcloud Mail is licensed AGPL-3.0, and the repository tracks this carefully: COPYING, a LICENSES/ directory and REUSE.toml are all present, and the README's SPDX headers name AGPL-3.0-only. The package.json repeats the identifier. If you modify the app and let users interact with it over a network, the AGPL's source-availability condition is the thing your legal team will want to read; this article is not legal advice.

One dependency carries a different licence. The README states the project uses CKEditor, "which is licensed under the GPLv2." That is a separate obligation from the AGPL-3.0 covering the app itself, and it is worth checking against your distribution model.

Upgrade cost is the harder question. With the last push on 2022-06-02 and the newest release tag v1.13.0 from the same day, there is no documented upgrade path beyond that point in what the project publishes. The app store entry is the authoritative source for which Nextcloud versions a given Mail release supports, and the README points admin configuration questions at the Nextcloud admin manual's groupware/mail page. Verify compatibility there before upgrading Nextcloud, because a Nextcloud major upgrade can leave an app behind.

Editorial conclusion

Adopt Nextcloud Mail if you already operate a Nextcloud instance and want IMAP mail next to Contacts, Calendar, Files and Tasks without standing up a second web interface. Do not adopt it expecting a mail server: the README points at Mail-in-a-Box, Stalwart or Dovecot for that, and the app itself is an IMAP client. Before you commit, verify that your Nextcloud version satisfies the app store entry, that your IMAP server answers on the ports your deployment exposes, and that S/MIME or Mailvelope covers the encryption requirement your organisation actually has. Note the last push on 2022-06-02 when you plan upgrades.

Frequently asked questions

Can Nextcloud do email?

Yes, through the Nextcloud Mail app, which connects to any IMAP account and provides multiple accounts with a unified inbox. It is a mail client, not a mail server: the README points at Mail-in-a-Box, Stalwart or Dovecot if you need to host the server side.

What is the Nextcloud email client?

Nextcloud Mail is the mail app for Nextcloud, distributed through the Nextcloud app store. The README describes it as based on the Horde libraries, with message threads, mailbox management and integration with Contacts, Calendar, Files and Tasks.

How to set up Nextcloud email?

Install the Mail app from the Nextcloud app store, or clone the repository into your apps directory for development and run make dev-setup. Then connect an IMAP account; the Makefile's start-docker target runs an IMAP development container on ports 143, 993, 25 and 4190 if you need one to test against.

Is Nextcloud a mail server?

No. The README states the project does not reimplement a mail server and suggests Mail-in-a-Box, Stalwart or Dovecot instead. Nextcloud Mail is the client that connects to an IMAP account.

Official sources

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/nextcloud-mail.svg)](https://hysenlabs.com/projects/nextcloud-mail)