You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Christoph Wurst 0a07d759e3
Merge pull request #2322 from nextcloud/techdept/php-nightly-failure
13 hours ago
.github Merge pull request #2321 from nextcloud/techdept/xmllint-action 14 hours ago
.phan Add default phan config 2 years ago
.tx Fix tx config 1 year ago
appinfo Add a CLI command to diagnose IMAP accounts 18 hours ago
css 🐛 FIX: various horizontal scrolling issues on mobile 3 weeks ago
doc Persist provisioned accounts 2 days ago
img Consolidates a message's "reply", "reply all", and "forward" button into 2 buttons 2 months ago
l10n [tx-robot] updated from transifex 1 day ago
lib Add a CLI command to diagnose IMAP accounts 18 hours ago
screenshots fix screenshot and compress 3 years ago
src Persist provisioned accounts 2 days ago
templates Persist provisioned accounts 2 days ago
tests Merge branch 'master' of into techdept/pure-unit-tests 2 days ago
.editorconfig Add prettier config 1 year ago
.eslintrc.js Switch to @nextcloud/eslint-plugin 17 hours ago
.gitattributes Prevent merge conflicts of the changelog files 3 years ago
.gitignore Move IMAP and DB tests to \OCA\Mail\Tests\Integration 3 days ago
.jshintignore update npm packages; update jshint ignore list 4 years ago
.jshintrc Do not complain about trailing semicolons and require stmts 1 year ago
.scrutinizer.yml Move unit tests to tests/Unit 2 weeks ago
.travis.yml Allow php nightly to fail on CI 14 hours ago Version bump 2 days ago
COPYING add proper COPYING agplv3 license file 3 years ago
Gruntfile.js Remove JSCS 7 months ago
Makefile Comply with our npm guidelines 6 months ago Add note about IMAP 3 months ago
babel.config.js Switch to babel.config.js and @babel/preset-env 1 month ago
composer.json Bump christophwurst/nextcloud_testing from 0.7.0 to 0.9.1 4 days ago
composer.lock Merge pull request #2311 from nextcloud/dependabot/composer/christophwurst/nextcloud_testing-0.9.1 4 days ago
karma.conf.js Clean up unused Karma config 1 month ago
krankerl.toml Update packaging ignore list 1 year ago
package-lock.json Switch to @nextcloud/eslint-plugin 17 hours ago
package.json Switch to @nextcloud/eslint-plugin 17 hours ago
postcss.config.js Add Vue 1 year ago
webpack.common.js Persist provisioned accounts 2 days ago Fill reply recipients, subject and body 1 year ago Move webpack config to repo root 1 year ago
webpack.test.js Move webpack config to repo root 1 year ago

Nextcloud Mail

Downloads Build Status Scrutinizer Code Quality PHP Coverage JavaScript Coverage Dependabot Status Bountysource

💌 A mail app for Nextcloud

Why is this so awesome?

  • 🚀 Integration with other Nextcloud apps! Currently Contacts, Calendar & Files – more to come.
  • 📥 Multiple mail accounts! Personal and company account? No problem, and a nice unified inbox. Connect any IMAP account.
  • 🔒 Send & receive encrypted mails! Using the great Mailvelope browser extension.
  • 🙈 We’re not reinventing the wheel! Based on the great Horde libraries.
  • 📬 Want to host your own mail server? We don’t have to reimplement this as you could set up Mail-in-a-Box!

And in the works for the coming versions:

  • 📑 Proper grouping of message threads
  • 🗄️ Folder management

If you experience any issues or have any suggestions for improvement, use the issue tracker. Please follow the issue template chooser so we get the info needed to debug and fix the problem. Thanks!

Get on board

For new contributors, please check out ContributingToNextcloudIntroductoryWorkshop

Development setup

Just clone this repo into your apps directory (Nextcloud server installation needed). Additionally, npm to fetch Node.js is needed for installing JavaScript dependencies.

Once npm and Node.js are installed, PHP and JavaScript dependencies can be installed by running:

make dev-setup


Need help? Check out our documentation. It’s split into three parts.


Christoph Wurst, Jan-Christoph Borchardt, Steffen Lindner and many more

If you’d like to join, just run through the issue list and fix some. :)