/mail

:love_letter: Mail app for Nextcloud

Primary LanguageJavaScriptGNU Affero General Public License v3.0AGPL-3.0

Nextcloud Mail

Downloads Build Status Scrutinizer Code Quality PHP Coverage JavaScript Coverage 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.
  • 🔒 Send & receive encrypted mails! Using the great Mailvelope browser extension.
  • 🙈 We’re not reinventing the wheel! Based on the great Horde libraries.

And in the works for the coming versions:

  • 📚 Proper grouping of message threads
  • ⚡ Caching to make everything faster
  • 📎 Even better attachment support
  • 📦 Folder management & moving mails

Installation

In your Nextcloud, simply navigate to »Apps«, choose the category »Social & Communication«, find the Mail app and enable it. Then open the Mail app from the app menu. Put in your mail account credentials and off you go!

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

Usage

Keyboard shortcuts for Mail

Speed up your Mail experience by using keyboard shortcuts.

Action Shortcut
Newer message K or
Older message J or
Toggle star S
Toggle unread U
Delete Del
Search Ctrl + F
Send Ctrl +
Refresh R

Maintainers

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. :)

Troubleshooting

Gmail

If you can not access your Gmail account use https://accounts.google.com/DisplayUnlockCaptcha to unlock your account.

Outlook.com

If you can not access your Outlook.com account try to enable the 'Two-Factor Verification' (https://account.live.com/proofs/Manage) and set up an app password (https://account.live.com/proofs/AppPassword), which you then use for the Nextcloud Mail app.

Dovecot IMAP

If your Dovecot IMAP server prefixes all folders with INBOX, Nextcloud Mail does not work correctly.

Check /etc/dovecot/dovecot.conf:

namespace inbox {
        separator = .
        # All folders prefixed
        # prefix = INBOX.
        prefix =
        inbox = yes
        type = private
}

Developer setup info

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 install-composer-deps
make optimize-js

Nightly builds

Instead of setting everything up manually, you can just download the nightly builds instead. These builds are updated every 24 hours, and are pre-configured with all the needed dependencies.

  1. Download
  2. Extract the tar archive to 'path-to-nextcloud/apps'
  3. Navigate to »Apps«, choose the category »Productivity«, find the Mail app and enable it.

The nightly builds are provided by Portknox.net

Resetting the app

Connect to your database and run the following commands (oc_ is the default table prefix):

DELETE FROM oc_appconfig WHERE appid = 'mail';
DROP TABLE oc_mail_accounts;
DROP TABLE oc_mail_aliases;
DROP TABLE oc_mail_collected_addresses;

Configuration

Certain advanced or experimental features need to be specifically enabled in your config.php:

Debug mode

You can enable IMAP and SMTP backend logging. A horde_imap.log for IMAP and horde_smtp.log for SMTP will appear in the same directory as your nextcloud.log.

IMAP logging

'app.mail.imaplog.enabled' => true

SMTP logging

'app.mail.smtplog.enabled' => true

Timeouts

Depending on your mail host, it may be necessary to increase your IMAP and/or SMTP timeout threshold. Currently IMAP defaults to 20 seconds and SMTP defaults to 2 seconds. They can be changed as follows:

IMAP timeout

'app.mail.imap.timeout' => 20

SMTP timeout

'app.mail.smtp.timeout' => 2

Use php-mail for sending mail

You can use the php-mail function to send mails. This is needed for some webhosters (1&1 (1und1)):

'app.mail.transport' => 'php-mail'