🌍 Sprachen: 🇺🇸 English | 🇩🇪 Deutsch
A small helper for the Nextcloud Mail app. It checks for new messages on a schedule you choose and refreshes the view by itself — while politely staying out of your way whenever you are writing. ⚡
🌐 Language note: The app interface is currently German only. An English translation is planned.
Nextcloud reliably fetches new mail in the background. What it does not do is refresh the view afterwards — so new messages stay invisible until you reload the entire page. The refresh button alone does not help either: it shows what is already in the database, and the freshly arrived mail is not on screen yet. 😤
That is the gap this app closes. It asks the server on a schedule whether anything newer has arrived and refreshes the view by itself. No button, no habit to build, no waiting.
One switch to turn it on, one number for the interval. That is the whole configuration — deliberately. ⚙️
While the helper is active, a small gear sits next to search and notifications. It spins briefly with every check and dims while paused — so you can always tell what is going on. Clicking it takes you straight to the settings. 🔘
- 🔄 Automatic refresh — new mail appears without you touching anything.
- ⏱️ Interval of your choice — anywhere from 10 seconds to an hour.
- ✍️ Pauses while you write — an open compose window suspends the whole thing. Nothing is ever reloaded out from under a half-written mail.
- 📤 Watches the outbox too — as long as a message is waiting to be sent, the helper holds still.
- 🔘 Status at a glance — the gear spins while checking, dims while paused.
- 🎯 Only where it belongs — the script loads on Mail pages and nowhere else in your Nextcloud.
- 🛡️ Update-proof — reads the mail tables directly instead of relying on the Mail app's internals, so its updates cannot break this one.
- 🪶 No baggage — plain PHP and lean JavaScript. No build step, no third-party packages.
Open Settings → Administration → GLX-Mail-Reload.
- ☑️ Tick Unterstützung aktiv — the master switch.
- ⏱️ Set Prüfen alle … Sekunden. 60 seconds is a good starting point.
- 💾 Click Speichern.
- 📬 Open the Mail app — the gear appears in the header and does its job from there on.
💡 On the interval: shorter means faster, but every check is one request to your server. Between 30 and 120 seconds is the sweet spot for most setups.
Every round the app asks its own endpoint for three numbers: the timestamp of the newest message, the unread count, and how many messages are sitting in the outbox. If the newest timestamp is ahead of the one from when the page loaded, the view is refreshed. 🕵️
Two safeguards run before that happens. The browser checks whether a compose window is open, and the server reports whether the outbox still holds anything. If either is true, the round is skipped entirely — and checked again right before the refresh, in case a compose window opened in the meantime.
The queries go straight to the mail tables rather than through the Mail app's own classes. That is deliberate: it means an update to the Mail app cannot pull the rug out from under this one. 🛡️
- ☁️ Nextcloud (compatible with recent major versions)
- 📮 The Mail app, installed and set up
- 🐘 PHP 8.0 or higher
- 📦 No further dependencies
- ⬇️ Download or clone this repository into your Nextcloud
apps/directory. - 📁 Make sure the folder is named exactly
glxmailreload. - 🖱️ Enable the app through your Nextcloud Administrator panel.
⚠️ Watch the folder name. With any other name Nextcloud looks for the app in the App Store and fails with "Could not download app".
💡 The app does not appear in the app menu on purpose — it works in the background. You will find it under Settings → Administration.
This project is licensed under the AGPL-3.0-or-later license. See the LICENSE file for details.
👉 GLX-Mail-Reload on gordonx.de — description, screenshots and download.
